Danielside

informática softwarelibre divagaciones música

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

Tres paneles de Tmux, con la barra de estado

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.

Introduciendo el comando para bajar el tamaño del panel
Nuevos tamaños de los paneles

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.

Una vista de Poezio

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.


Archivado en categoría(s) GNU/Linux

Enlace permanente


  • noctámbulo dice:

    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

    1. Danielside dice:

      No los conocía ¡buen aporte noctámbulo!


  • Deja una respuesta

    Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

    Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.