Hay vida en la línea de comandos, reloaded
Siguiendo la estela de la entrada de Hay vida en la línea de comandos, le doy otra vuelta al concepto con lo aprendido hasta ahora. Me he montado (aprovechando un Thinkpad x220 que me sobraba) un buen entorno donde la única regla ha sido no instalar X11.
La base, como sistema operativo, será Devuan Beowulf, por simplicidad y por razones que contaré más tarde. Se hace una instalación básica sin entorno gráfico desde el .iso netinstall.
Configuración previa
Paquetes muy útiles si se trabaja en un portátil serán powertop
y laptop-mode-tools
. Instalamos también git
y por supuesto emacs-nox
. Si queremos firewall: ufw
.
Elegimos y configuramos la fuente con dpkg-reconfigure console-setup
. La que creo que mejor se ve es Terminus Bold. Tampoco hay demasiado para elegir.
Tmux
En este repositorio git hay una muy buena base de configuración de Tmux que te ahorrará horas y horas de investigación. Si además instalas powerline tendrás una bonita barra inferior que incluye: uptime, espacios de trabajo, nivel de batería, hora, fecha, usuario y nombre de host. Estas líneas de status son muy importantes a la hora de trabajar sin entorno gráfico ¡especialmente cuando se trata de saber qué batería te queda!.
Con Tmux puedes tener un gestor de ventanas «tiling» (como i3-wm) en el terminal más el concepto de espacios de trabajo, como se ve en la pantalla anterior. En esta tenemos tres «ventanas» abiertas y debajo se puede ver que tengo 5 «espacios de trabajo», que son «paneles» en terminología Tmux. Cambio de panel con C-b-1
, C-b-2
, etc. Dentro de cada panel cambio de ventana cíclicamente con C-b-o
o direccionalmente con C-b-flecha
, así puede moverme en las cuatro direcciones.
Conocer el modo de copia de Tmux también fue un gran paso adelante en mi uso de Tmux. Antes de eso, los listados que se pasaban de tamaño de la ventana actual desaparecían (no hay «scroll»). Si pones una ventana Tmux en modo de copia con C-b-[
consigues dos cosas: moverte con libertad con los cursores por todo el contenido y además activar una serie de shortcuts para copiar contenido que funcionan igual que los de Emacs: C-ESPACIO
establece la marca y M-w
realiza la copia al buffer. Si después te vas a cualquier otra ventana de Tmux la combinación C-b-]
pega el contenido del buffer.
Es enormemente recomendable ver todas las combinaciones de teclas en man tmux. También admite un montón de comandos. Se entra en modo de introducción de comandos con la secuencia C-b-:
. El que más suelo usar es el de modificar el tamaño.
Configurar la red
WICD se ha convertido en el gestor de red por defecto en Debian, como alternativa a Network Manager. Te encantará saber que WICD tiene una interfaz ncurses, llamada wicd-curses
, que hace exactamente lo mismo.
Sonido con ALSA
El motivo de usar Devuan es que ciertas cosas que quiero hacer con Qobuz solo me han funcionado en este pero nunca en Debian. Necesitamos solo ALSA y que no haya ningún rastro de Pulseudio.
apt install alsa-utils alsa-tools
/usr/sbin/alsactl init
Después de esto reiniciamos y debemos tener ALSA funcionando. Podemos ver si ha detectado la tarjeta con aplay -l
o abriendo el mezclador con alsamixer
. Ya tenemos el sonido funcionando.
Música maestro
MPD es un reproductor de música que funciona en modo servidor y al que se pueden conectar muy diversos clientes. Una vez configurado elegimos un cliente. En este caso ncmpc
me ha funcionado muy bien. Su interfaz se puede ver también en la primera captura que he puesto.
Como tengo contratado Qobuz Studio quería ver si podía reproducir música con este Devuan sin entorno gráfico (la respuesta es sí). Descubrí upmpdcli
del que hablé en (esta otra entrada). En Devuan su instalación es muy fácil:
- Descargar (clave GPG) y moverla a /usr/share/keyrings
- Crear un fichero con el contenido:
deb [signed-by=/usr/share/keyrings/lesbonscomptes.gpg] http://www.lesbonscomptes.com/upmpdcli/downloads/debian/ buster main
deb-src [signed-by=/usr/share/keyrings/lesbonscomptes.gpg] http://www.lesbonscomptes.com/upmpdcli/downloads/debian/ buster main
- En /etc/apt/sources.list.d/upmpdcli
apt update
apt install upmpdcli
Se pone de intermediario entre BubbleUPNP (cliente oficial admitido por Qobuz) y MPD como «renderer» UPNP. Una vez configurado, BubbleUPNP lo detecta y le envía la música ¡hasta ahora perfecto!.
También puedes copiar lo que reproduzcas en Qobuz a un fichero, para tener copia de seguridad, engañando un poco a MPD. Hay un módulo llamado snd-aloop
que te crea una tarjeta de sonido en modo loop:
/sbin/modprobe snd-aloop
Ahora el truco es configurar una salida ALSA adicional a MPD, que será la «entrada» de esta tarjeta loop:
audio_output {
type "alsa"
name "ALSA Loop"
device "hw:1,0,0"
}
Todo lo que sale por esa tarjeta (no escucharás nada en los altavoces) se puede recuperar por hw:1,1,0
. Primero hay que averiguar qué clase de muestras de audio se están enviando:
cat /proc/asound/card1/pcm0p/sub0/hw_params
Con esos parámetros:
arecord -f FLOAT_LE -D hw:1,1,0 -r 44100 -c 2 recorded.wav
Te crea un fichero WAV con dos canales, frecuencia de muestreo 44100 Hz y formato 16 bit Little Endian. Ese WAV lo puedes recordar con Audacity y pasarlo a FLAC o Vorbis para tener las pistas. O si no lo queremos dividir podríamos directamente usar oggenc
del paquete vorbis-tools
para crear un archivo Vorbis comprimido a partir del archivo WAV.
Y este era el motivo porque el que quería usar Devuan. Esta historia de snd-aloop
hasta ahora me ha funcionado con Devuan. No debe haber rastro de PulseAudio por ningún lado (esa es mi sospecha para que no haya funcionado con Debian o Raspbian).
Chat XMPP
Mcabber había sido mi favorito durante mucho tiempo hasta que conocí Poezio, que tiene muy buena pinta. Está en los repositorios Devuan.
Procesar textos
La verdad es que nunca intento buscar nada más porque con Emacs me basta y me sobra. Si aprendes Org puedes escribir en Emacs con una sintaxis determinada (algo parecido a Markdown, más conocido) y exportarlos a PDF o ODT, entre otros.
Sin embargo me ha gustado conocer Wordgrinder, para aquéllos nostálgicos del WordPerfect.
Lector de ebooks
Epy es un sencillo lector de Epub para la consola escrito en Python. Se debe instalar PIP de Python 3 con apt install python3.7-pip
y luego epy pip3 install git+https://github.com/wustho/epy
. Para leer: epy fichero.epub
.
Next/OwnCloud
En la entrada anterior sobre programas CLI hablaba de cadaver para acceder a los ficheros. El estilo es parecido al del legendario cliente de FTP. Una alternativa mejor donde podrás utilizar todos los comandos que generalmente empleas sobre ficheros locales es davfs. Con davfs es posible montar directorios WebDAV en un directorio local. Después de instalar davfs2
añade una línea como esta a /etc/fstab:
https://SERVIDOR/remote.php/webdav/ DIRECTORIOLOCAL davfs _netdev,rw,user,users,noauto,uid=USUARIO,gid=GRUPO 0 0
Crea el directorio local y ya puedes hacer mount DIRECTORIOLOCAL
(pedirá las credenciales) y cuando termines umount DIRECTORIOLOCAL
. El acceso evidentemente tiene un poco de latencia, pero es la mejor manera que conozco de acceder a los ficheros remotos desde cliente de consola.
Perpetrado el 17 de enero de 2021 por una IN (Inteligencia Natural), la mia, con cierto esfuerzo.
Archivado en categoría(s) GNU/Linux
Gracias, tengo un portatil con 128 mb de ram y este artículo me viene de maravillas. Por cierto… ¿conoce ncdu maestro?, un programita para ver tamaños de particiones y archivos. Y otro: Pmrp, un programa para escuchar radios online bastante completo (está en inglés, pero yo lo traduje al español y le agregué algunas radios de Argentina. Si lo quiere… chifle por aquí). Saludos
No los conocía ¡buen aporte noctámbulo!