Buenas gente, hace poco me topé con artículos en internet que hablaban de "vivir
sin X". Me parecieron muy interesantes porque en alguno que otro conocí programas
útiles que no conocía anteriormente.
Este post está inspirado en esos artículos pero con contenido propio basado en mi
experiencia y uso cotidiano de las herramientas que van a ser mencionadas.
Empiezo con todo . Pieza fundamental para manejarse en terminales, y en particular en TTY's:
GNU SCREEN
GNU Screen es un multiplexor de terminales. Permite mediante un simple comando crear terminales virtuales y navegar entre ellas. Es una herramienta muy compleja y completa, pero para el uso básico les cuento algunos comandos:
Con Ctrl+A entramos en modo de comandos, luego apretamos alguna tecla y el comando se completa.
Para crear otra terminal virtual: Ctrl+A C
Para navegar hacia la terminal virtual siguiente: Ctrl+A N
Para navegar hacia la terminal virtual anterior: Ctrl+A P
Para desprenderse de screen: Ctrl+A D
Para dividir la pantalla horizontalmente: Ctrl+A Shift+S
Para dividir la pantalla verticalmente: Ctrl+A | (para esto se requiere un patch a screen)
Para navegar entre las distintas divisiones creadas: Ctrl+A TAB
Para cerrar divisiones creadas: Ctrl+A Shift Q (solo cierra la división, el screen sigue abierto)
Para nombrar la sesión: Ctrl+A :sessionname <nombre deseado>
Para prenderse a una sesión ya creada: $screen -x o bien screen -x <nombre deseado>
Screen trabaja con la arquitectura cliente servidor, lo que permite poder crear una sesión de screen, trabajar, desprenderse de esa sesión, vivir, volver a prenderse a esa sesión y todo esa igual que como lo dejaste.
Seguro ya ven las ventajas que esto conlleva. Tener un servidor sin screen es casi un pecado .
Link:
Si les pareció interesante o ya lo conocían, les recomiendo que investiguen sobre BYOBU. Es un programa que corre encima de screen y facilita el trabajo en varios aspectos a demás de agregar algunas "features" muy interesantes.
MOCP - Music on console Player
MOCP es sin dudas el mejor reproductor de música por terminal que probé por una simple razón:
¡Arquitectura Cliente-Servidor, papá!
Así es, al mocp lo abrís, le das play, cerrás el cliente y adivinen qué... la musica sigue reproduciendose . Esto, por más que suene como un detalle menor, es lo mejor que te puede pasar (?), sobre todo si entrás y salís de X bastante seguido. En fin, deberían probarlo ustedes y sentir el poder de la arquitectura cliente-servidor, es algo que no se puede describir con palabras , van a terminar deseando que todos los programas funcionen de esta manera
Otra ventaja de MOCP es que es bastante intuitivo y fácil de usar; permite crear listas de reproducción y se le pueden pasar acciones por parámetro en la llamada al programa. Esto es ideal para crear atajos de teclado, por ejemplo, para subir/bajar el volumen; pasar a la canción anterior/siguiente; etc.
También se le pueden aplicar temas
Para mostrar la playlist: L
Para navegar entre los dos paneles: TAB
Para subir un directorio: Shift+U
Para ver la lista de hotkeys: H
Para cambiar entre soft y hard mixer: X
Para subir y bajar volumen: . , respectivamente
La eterna batalla entre los editores de texto para los linuxeros
¿VIM o EMACS?
Personalmente uso VIM. Da la casualidad que fue el primero que aprendí a usar, el que se usa en mi trabajo y el que creo más intuitivo y sencillo. Por eso no seguí incursionando en Emacs. Tantos atajos de teclado distintos hacen que mi cerebro explote .
En fin, VIM es un editor de texto muy completo, extensible a través de plugins y altamente configurable.
Así como en GNU Screen usabamos la combinación Ctrl+A para entrar en modo de comandos, en VIM se usa la tecla ESC. A diferencia del Ctrl+A de Screen, la tecla ESC funciona a modo de "toggle switch" para el modo de comandos, es decir, no salimos del modo de comandos a menos que específicamente apretemos la tecla INSERT o i para entrar al modo de insertar.
Comandos básicos:
Salir si no modificamos el archivo: :q
Salir sin guardar las modificaciones: :q!
Guardar las modificaciones: :w
Salir y guardar las modificaciones: :wq
En modo de comandos
Borrar: x
Navegar hacia arriba: k
Navegar hacia abajo: j
Navegar hacia la izquierda: h
Navegar hacia la derecha: l
Entrar en modo visual para seleccionar texto: Ctrl+V
Copiar texto seleccionado: yy
Pegar texto seleccionado: p
Como navegador web no creo que haya que dar muchas vueltas.
ELINKS
¿Por qué ELINKS? Por una simple razón: apretando la tecla del punto "." ELinks muestra un número al lado de todos los links visibles en la pantalla. Escribiendo ese número y apretando Enter, se sigue al link, es decir, se entra en la página donde el link apunta. ¡UNA GENIALIDAD! No hay nada más engorroso que tener que usar las flechas para navegar una página web. OFF: Esta misma funcionalidad la provee VIMPERATOR en Firefox o Chrome
Elinks también soporta el uso del mouse e imágenes si estamos usandolo con X.
Si son como yo, a veces necesitan ver los archivos que hay en los distintos directorios de una manera distinta a la que los muestra el comando ls. Para lograr una navegación más cómoda entre los directorios existe VIFM entre varios gestores de archivos por terminal.
VIFM, como su nombre lo indica, es un navegador de archivos hermanado con VI. Comparte la mayoría de los atajos de teclado con VIM (golazo) y es muy simple de usar aunque no es un programa fundamental (cd y ls nos tienen cubiertos)
Como se puede ver en la primer imágen del post:
El reloj es el TTYCLOCK.
El control de volúmenes es Alsamixer
Para chatear en terminal recomiendo Freetalk y Finch. Este último es Pidgin sin la interfaz gráfica.
Utilidad de calendario en terminal:
Muestra un calendario del mes actual: $cal
Muestra un calendario del año especificado: $cal 2013
Muestra un calendario del mes del año especificado: $cal 2 2013
Eso es todo por hoy (?) espero que hayan encontrado algo útil. Si encuentro buena documentación armo un post sobre byobu que la verdad que está bastante bueno. Tiene una opción para auto-ejecutarse en cada login de tty, lo que está buenísimo porque cuantas veces nos pasó estar sin X y decir "uhh porque no tiré un screen antes de correr este comando"