viernes, 20 de junio de 2014

Reproducir archivos mp3 en la consola de comandos

Muchos pensarán que ejecutar tareas vía terminal cuando existen aplicaciones gráficas que minimizan la dificultad y facilitan la experiencia es propio de frikis o fundamentalistas de la programación. Sea cual sea su caso, saber como resolver determinadas operaciones a través de la consola de comandos solo puede resultar positivo y a ningún usuario le sobra conocer estas cosas. Hoy vamos a explicar como reproducir archivos de música en formato mp3 por terminal con el comando mpg123.

Lo primero, por supuesto, es instalarlo de la manera tradicional, con apt-get o aptitude.

sudo apt-get install mpg123

Una vez instalado, pasamos a posicionarnos en la carpeta donde estén los archivos a reproducir, que es más cómodo. Cuando estemos allí las opciones son varias. Hablemos de ellas.

mpg123 [nombre_de_archivo]

Si tecleamos la orden de esta manera el archivo mp3 comenzará a ejecutarse mientras que se nos muestran sus metadatos (el autor, el nombre del disco, el año y todas esas cosas...) en el terminal.


Es así de simple, pero conviene comentar algunos aspectos, como que el terminal quedará inutilizable hasta el fin de la reproducción, con lo que habría que abrir otro si queremos seguir metiendo órdenes por teclado. Cuanto termina la canción recuperamos la facultad de teclear comandos aunque los impacientes pueden pulsar Ctrl + C y finalizar abruptamente la reproducción cuando lo deseen, restableciendo así la línea de comandos.

Si no queremos visualizar los metadatos haremos lo siguiente:

mpg123 -q [nombre_de_archivo]

Por lo demás, el archivo se reproducirá de la misma manera.

Conviene destacar que GNU/Linux considera el espacio en blanco como un carácter más, pero lo trata de manera diferente según el caso. Si tenemos un archivo en cuyo nombre hay espacios en blanco (como en el ejemplo de la imagen de arriba, que es 07-El Scorcho.mp3) hay que encerrarlo entre comillas, y siempre incluir la extensión, si la tiene. Ni que decir tiene que hagamos lo mismo para movernos entre directorios. Para simplificar podemos copiar y pegar utilizando los atajos de teclado.

Si queremos liberar la consola de comandos y seguir usándola mientras el archivo de sonido se reproduce en segundo plano esto es lo que haremos:

mpg123 -q [nombre_de_archivo] &

En pantalla veremos algo como esto:



El archivo se reproduce pero deja libre la línea de comandos, no sin antes proporcionarnos un dato clave: el número de proceso de la operación. En esta ocasión, para detener la reproducción hay que recurrir al comando kill de esta manera:

kill -9 6214

Hemos hecho uso del comando kill con su opción -9 para matar el proceso, siendo este el nº 6214. No hace falta decir que hay que precederlo de sudo en caso de no ser administrador, ¿verdad? Como con cualquier comando que requiera derechos de súper usuario.

Si lo que queremos es reproducir un directorio entero, nos posicionamos en él y tecleamos:

mpg123 *.mp3

Los arquivos irán sonando uno tras otro en orden alfabético. Si queremos cambiar de canción pulsamos Ctrl + C, pasaremos a la siguiente y así hasta finalizar la lista. Si queremos detener la reproducción del todo pulsamos Ctrl + C dos veces seguidas. Añadiendo el modificador -q nos quitamos los metadatos de encima.

Si al reproducir un conjunto de archivos el modificador que empleamos es & para detenerla usaremos el comando top. Con esta orden se monitorizan los procesos activos en tiempo real, de modo que, tras teclearlo y pulsar enter, solo hay que buscar en la última columna de la lista el nombre del proceso mpg123 (si no lo vemos a la primera esperamos a que se actualice) y quedarnos con el número de proceso que aparece en la columna de la izquierda. Salimos pulsando la tecla q y, seguidamente, matamos el proceso con kill -9 como ya hemos explicado.

Si queremos hacer una de esas cómodas listas de reproducción, tomen nota:

ls *.mp3 > [nombre_de_lista.m3u]

Esto les generará un archivo de texto con el nombre de que hayan escrito; su contenido será la lista de archivos que hayan designado en cada caso.


Para ejecutarla tendrán que teclear (mismas condiciones para los modificadores -q y &):

mpg123 -@ [nombre_de_lista.m3u] -q &

Y a disfrutar :-)

Para ilustrar el post vamos con la banda que aparece nombrada en las capturas de pantalla, los norteamericanos Weezer y su divertido tema "Buddy Holly".


lunes, 16 de junio de 2014

Desbloquear el depósito de claves en Debian Wheezy

No soy muy amigo de las actualizaciones. Mi experiencia personal me dice que la paulatina lentitud del sistema es una consecuencia indeseada de renovar nuestro sistema operativo a través de actualizaciones en línea, como ocurre en GNU/Linux. Pero las sorpresas pueden ser también relativas a instalación/supresión de drivers, conflictos o incompatibilidades, periféricos que dejan de funcionar como solían, aplicaciones que ya no vuelven a ser las mismas...

Lo ultimo que me ha pasado es que, tras actualizar mi Debian 7, algo llamado "depósito de claves" reclama mi atención a través de este cartelito:



Esto es nuevo, no aparecía antes y viene a sustituir a la pantalla de logeado habitual. ¿Qué ha pasado?

El depósito de claves es una utilidad que almacena todas las claves o contraseñas que vamos introduciendo en nuestro transitar por la red (hablé brevemente de ello aquí). Por lo visto, la contraseña del depósito de claves es por defecto coincidente con la de acceso al sistema, y si cambiamos esta última con el comando passwd (ya hablaremos de él más adelante) o porque ha expirado es cuando nos aparece el letrero avisando de la discordancia. Si está usted utilizando un PC de empresa y le obligan a cambiar de clave periódicamente se puede encontrar con este molesto "visitante", pero pierda cuidado que librarse de él no es difícil.

Antes de nada, cuando le aparezca el dichoso letrero, cancele. Teniendo en cuenta que estamos en Debian Wheezy, vayamos después al menú Aplicaciones > Herramientas del sistema > Preferencias > Contraseñas y claves. Nos aparecerá la pantalla de contraseñas y claves con dos áreas separadas, una a la izquierda y otra a la derecha. Nos interesa la de la izquierda, en concreto la primera opción, Depósito de inicio de sesión. Si la clave de usuario y la del depósito de claves son distintas el candado que vemos aparecerá cerrado; lo seleccionamos y hacemos click en el botón derecho; en el menú que aparece pulsamos Desbloquear e introducimos nuestra clave actual de acceso de usuario. Cuando le demos a aceptar, en la parte derecha aparecerán listados los depósitos de contraseñas de todas las páginas web donde hayamos elegido la opción "guardar la contraseña". 

A continuación volvamos a la parte izquierda de la pantalla contraseñas y claves y nuevamente hagan click en el botón derecho cuando la flecha esté sobre Depósito de inicio de sesión; hay que pinchar en Cambiar la contraseña. Le pedirá la contraseña antigua, la que tenían antes de ser cambiada. Introdúzcala y después acepte. Introduzca la nueva contraseña, que deberá ser la misma que actualmente tiene para acceder al equipo, en los dos campos que aparecen. Reinicie y ya nuevamente ambas contraseñas serán coincidentes por lo que el letrero que da pie al problema desaparece. Es importante seguir el orden descrito; de lo contrario uno puede volverse un poco tarumba con el resultado que va obteniendo.

He leído que hay otra opción, que es no escribir ninguna contraseña cuando le solicita la clave nueva, pinchando simplemente en continuar. A continuación le aparecerá una advertencia bajo el título ¿Almacenar sus contraseñas sin cifrarlas? para advertirle que, de acceder, cualquier usuario que pueda entrar en su sistema puede leerlas. Dejo que cada uno elija la forma más segura de proteger su equipo.

jueves, 12 de junio de 2014

Esquema de sistema de directorios

Resto de entradas con intenciones didácticas en la etiqueta Aprendizaje.

Para complementar la anterior entrada les dejo con este esquema de un sistema de directorios GNU/Linux estándar, con sus archivos y subdirectorios más importantes. Algo muy útil para un vistazo rápido, sobre todo para usuarios bisoños.


miércoles, 11 de junio de 2014

Sistema de directorios

Resto de entradas con intenciones didácticas en la etiqueta Aprendizaje.

En esta entrada se van a describir los directorios más importante de Linux, sus funciones y objeto dentro del entramado del sistema. Tengamos en cuenta que todo parte del directorio raíz representado por el símbolo / , que viene a ser como el disco C:/ de los sistemas Windows. Y recordemos a la hora de teclearlos que GNU/Linux distingue entre mayúsculas y minúsculas.

/bin
Contiene los ficheros ejecutables (denominados binarios) esenciales del sistema. También alberga vínculos simbólicos (hablamos de ellos aquí) de archivos binarios que están en otro directorio. A cada comando u orden le corresponde un binario, como pueden ser cat, chmod, cp, date, echo, kill, mkdir, rmdir y muchísimos más.

/boot
Aquí están los archivos que usa el sistema en el proceso de arranque, incluida la imagen binaria del kernel de Linux, que suele denominarse vmlinux o vmlinuz seguido por la versión y la edición.

/dev
Aquí se almacenan los controladores (en Linux denominados módulos) que permiten el acceso a los periféricos habituales del PC como el ratón, el DVD, la impresora o el teclado.

/var
Contiene información diversa generada tanto por el sistema como por los usuarios. Alberga algunos subdirectorios que hay que destacar:

  • /var/lock

Aloja los archivos de bloqueo que comunican al sistema que alguna aplicación no puede acceder a un dispositivo en concreto.

  • /var/log

Almacena los registros detallados de toda actividad desarrollada durante la sesión de trabajo.

  • /var/spool

Contiene la información lista para ser enviada, como pueden ser trabajos de impresión o correos electrónicos.

/lib
Alberga las librerías usadas por diferentes aplicaciones, evitando así que cada programa incluya las suyas propias y se produzca una redundancia de datos. Tiene especial importancia el directorio /lib/modules que contiene los módulos cargables del kernel.

/etc
Contiene los archivos de configuración del sistema, que en principio solo son accesibles para el administrador del sistema o root, pero en la práctica el usuario medio tiene permiso de lectura para casi todos sus archivos. Aquí encontraremos archivos de configuración de diferente relevancia como passwd, lilo.conf, hosts y skel entre otros.

/home
Aquí encontramos la estructura de directorios de cada usuario dentro del sistema y cada uno tendrá la suya propia. Es recomendable guardar este directorio en una partición aparte al diseñar el sistema de particionado para evitar pérdidas de datos irreparables.

/sbin
Contiene los binarios correspondientes a los comandos esenciales del administrador del sistema. Dicho administrador será quien los use habitualmente.

/usr
Almacena las aplicaciones y recursos disponibles para los usuarios dentro de nuestro sistema, Hay que destacar los siguientes subdirectorios:

  • /usr/bin

Contiene la mayoría de programas y comandos de los que puede disponer el usuario.

  • /usr/share

Contiene datos compartidos, independientes de la máquina en la que nos encontremos, como la documentación de los programas o imágenes de escritorio.

  • /usr/doc

Contiene documentación de herramientas tales como GNOME o el compilador gcc.

  • /usr/games

Aquí hay ejecutables de juegos y software educativo.

  • /usr/include

Alberga archivos de encabezados de C/C++ y directorios que contienen ciertos archivos de encabezados específicos, necesarios para escribir aplicaciones de red y del sistema.

  • usr/local

Aquí tenemos software y datos instalados localmente por el administrador del sistema con vistas a ser compartidos por otros ordenadores.

/tmp
Directorio tamporal normalmente usado por las aplicaciones para almacenar algunos ficheros en tiempo de ejecución. El sistema lo vacía periódicamente.

/opt
Este directorio sirve para instalar paquetes de software adicionales que pueden ser instalados por los usuarios.

/root
Suele ser el directorio inicial de la cuenta del superusuario o root, por lo tanto tiene el acceso protegido frente al resto de usuarios.

/lost+found
Contiene los archivos del sistema que no están asociados a ningún directorio y que pueden ser encontrados mediante la herramienta fsck (comprobación del sistema de archivos). Los administradores los emplean, básicamente, para comprobar los sistemas de archivos.

/mnt
Es utilizado por los administradores para montar temporalmente sistemas de archivos a través de la orden mount. Suele contener montajes como el del lector de CD o DVD y de los discos duros. Al montar un dispositivo se crea un nuevo directorio al que se puede acceder como a cualquier otro, permitiéndonos explorar su contenido.

/media
Contiene una estructura de directorios pertenecientes a cada uno de los dispositivos que montemos en nuestro sistema. Por cada unidad CD/DVD o memoria USB que instalemos en el sistema se irán sucediendo subdirectorios del tipo /media/cdrom0 (la primera unidad de CD), /media/usbdisk (la primera memoria USB), y así todo.

Y como hemos hablado del sistema, terminamos con un vídeo de los hard-rockeros alternativos System Of A Down llamado "Chop suey".