Hacer una copia del directorio home

Vamos a ver como hacer fácilmente una copia del directorio home desde la cosola de texto.

Abrimos la terminal dentro de la carpeta en la que queremos guardar la copia y escribimos:

sudo cp -av /home/* /home.backup/

cp es el comando para copiar archivos.

a indica que al hacer la copia debe mantener la estrucura original intacta, con sus directorios, atributos, permisos…

v hará que se muestre en pantalla todo el proceso de copia.

Ponemos un asterisco (*) después de home para que copie solo el contenido de home y no home.

Usamos sudo para actuar como superusuario y no preocuparnos por los permisos que pueda necesitar algún directorio o archivo.

killall -9

Hacía tiempo que no usaba esta utilidad de línea de comandos. Recientemente tuve un problema con una aplicación que conseguí resolver gracias a este comando. Así que voy a dedicarle una entrada. No se trata de una utilidad que se vaya a usar todos los días, pero es el tipo de utilidades que el día que la necesites te vas a alegrar de conocerla. El comando killall  lo que hace es matar (cerrar) el proceso que lleva el nombre  que se le indica.  Si le añades el argumento numérico -9 envía una señal al proceso que le ordena que termine inmediatamente. Es una señal que no puede ignorar y que no le permite realizar ninguna acción adicional.  Sirve para matar un proceso que no responde.  Es un comando para utilizar como  último recurso,  para cerrar una aplicación cuando  todo lo demás falla.
Pongamos un ejemplo práctico. Estaba intentado cerrar el reproductor multimedia vlc, cuando me di cuenta que seguía en la bandeja de sistema. Al intentar cerrarlo desde allí me encontré con que no había manera. Por más que le dijera que se cerrara ahí seguía. Lo peor es que no me dejaba reproducir ningún archivo de vídeo. Yo hacía click en un vídeo y me salía una ventana de vlc en blanco. Nada. Abrí el monitor de sistema y entre en la tabla de procesos, selccione, vlc, di a terminar el proceso y nada. Ahí seguía. Lo repetí varias veces y no había manera. Al final abrí la consola. Teclee solamente killall vlc. Nada tampoco. Así que teclee killall -9 vlc y por fin se cerró. Ya pude de nuevo ver los vídeos con vlc sin ningún problema.

dmesg

dmesg es un comando que, al ser ejecutado, nos muestra en el terminal una lista con los mensajes del kernelEl kernel es el núcleo del sistema operativo. Es la primera parte del sistema operativo que se carga en memoria cuando el ordenador arranca, y controla prácticamente todo en el sistema. Los numerosos mensajes generados por el kernel que aparecen en la pantalla cuando el ordenador arranca muestran los dispositivos de hardware que el kernel detecta e indica si es capaz de configurarlos. dmesg incluye los mensajes que aparecen durante el arranque del ordenador más otros que se van generando durante su funcionamiento. Cuando algo no funciona correctamente en nuestro sistema la información ofrecida por dmesg puede ser clave para solucionar el problema.

La forma más simple de usar dmesg es escribir:

dmesg

Pero la cantidad de mensajes generada puede resultarnos excesiva. Existen varias formas de filtrar la información.

Podemos usar dos opciones de dmesg llamadas facility y level. Vamos a verlo con un ejemplo: Queremos que aparezcan solamente los mensajes de error y de advertencia (warning). Para ello usaremos la opción level. Escribiremos:

dmesg --level=err,warn

o bien:

dmesg -l err,warn

Para saber que a que información podemos acceder con facility y level podemos consultar la ayuda de dmesg con la opción help:

dmesg --help

Otra forma de filtrar los mensajes es usando el comando grep. Por ejemplo, queremos obtener solamente los mensajes relativos a dispositivos usb. Escribiremos:

dmesg | grep -i usb

Lo  que hará está línea será, primero ejecutar dmesg,  luego pasará el resultado al comando grep, que buscará todos los mensajes en los que aparezca usb y los mostrará en la pantalla.

También puede resultanos interesante acceder solamente a los últimos mensajes generados. Para ello escribiremos:

dmesg | tail

Finalmente si queremos obtener un archivo de texto con la información generada por dmesg podemos escribir:

dmesg > mensajes_del_kernel

Debian experimental

Cuando se habla de las diferentes ramas de Debian siempre se mencionan tres: stable, testing, unstable. Pero no son las únicas. Existe también la conocida como rama experimental. Ahí es donde se meten los paquetes nuevos, antes de pasarlos a unstable. Es por lo tanto una rama muy inestable, pero que ofrece el software más actualizado que se puede encontrar en Debian. Evidentemente no es muy recomendable utilizarla como base de nuestro sistema. Pero si nos puede servir instalar o actualizar determindados programas que tenemos prisa por probar o que tardan en llegar a las otras ramas de Debian.

Como ya mencione en otra entrada se pueden mezclar paquetes de distintas ramas de Debian. Es lo que se conoce como apt-pinning. Como no voy a repetir lo que ya escribí en aquella entrada haced click en el siguiente enlace: Apt-pinning: Mezclar diferentes ramas de Debian y leedlo antes de continuar. Aplicando lo ahí explicado a experimental, tenéis que añadir un mirror de experimental a sources.list y crear, si no lo habéis hecho antes, los archivos preferences y apt.conf (añadiendo experimental a preferences). Estos dos archivos son muy importantes. Mezclar las ramas de Debian es siempre un asunto delicado. Y estos archivos son la clave para evitar malas experencias. Así que prestad mucha ateción a lo que ponéis en ellos.  Una vez hecho todo esto ya podéis empezar a utilizar la rama experimental.

 Vamos a ver un ejemplo de cuando y como puede ser interesante el uso de experimental:

Yo uso la rama testing de Debian, pensando en tener un software medianamente actualizado. Sin embargo desde hace ya algún tiempo había observado que iceweasel permanecía en su versión 10, mientras Mozilla iba anunciando sus nuevas versiones de firefox, sin que ninguno de sus equivalentes de iceweasel llegará nunca a testing. Observé que tampoco estaban en sid, la rama unstable de Debian. Sin embargo si se encontraba en la rama experimental. Así que decidí utilizar apt-pinning. Primero seguí todos los pasos necesarios para incluir experimental en el apt-pinning. Después, como precaución, hice una copia de seguridad de los archivos de configuración de iceweasel (no tiene porque haber ningún problema, pero estamos hablando de la rama más inestable de Debian y toda precaución es poca). Luego abrí una consola de texto, me logueé como root y escribí:

apt-get install -t experimental iceweasel

Inicié iceweasel y ya tenía la última versión instalada.

Montar particiones NTFS al iniciar el ordenador

Si queremos modificar el archivo fstab para que linux pueda montar un disco o una partición NTFS al iniciar el sistema, deberemos seguir los siguientes pasos:

Lo primero que deberemos hacer será asegurarnos que tenemos instalados los contraladores NTFS-3G para poder montarlo. Si no los tenemos deberemos instalarlos.

Todo lo vamos hacer desde la consola de texto. Necesitaremos permisos de root, así que antes de hacer nada deberemos logearnos como tal. Escribiremos su y cuando nos lo pida introduciremos nuestra contraseña de root.

Necesitaremos información acerca de los discos duros que tenemos instalados, para ello usaremos el comando:

blkid

Con esto conseguiremos toda la información que necesitamos sobre el disco duro que queremos incluir en el fstab. Pero primero tenemos que crear el directorio (o carpeta) donde va a montar el disco. Para ello vamos al directorio mnt:

cd /mnt

y dentro de él creamos un nuevo directorio:

mkdir mi_disco

En lugar de mi_disco ponemos el nombre que queramos darle.

Ahora vamos al directorio etc, donde esta el archivo fstab.

cd /etc

Lo abrimos con un editor de textos:

mousepad fstab

En lugar de mousepad podéis usar el editor de textos que más os guste: nano, vi, gedit, kate, leafpad,…

Ahora es cuando necesitamos la información que conseguimos con el comando blkid. Lo que nos interesa es el Idetificador Universalmente Único (UUID) que corresponde a nuestro dispositivo. Añadiremos una nueva línea al final del archivo:

UUID=x…x      /mnt/mi_disco      ntfs-3g     defaults,locale=xx_xx.utf8      0      0

(todo en una única línea)

En lugar de x…x pondremos el UUID que corresponde a nuestro disco y en lugar de xx_xx pondremos el locale que corresponde a nuestro sistema; si no lo sabemos podemos obtenerlo mediante el comando locale.

La próxima vez que iniciemos nuestro ordenador tendremos el disco montado. También podemos montarlo sin necesidad de reiniciar escribiendo:

mount -a

Algunas observaciones finales

Para conseguir permisos de root también se puede usar sudo en lugar de su.

En Debian el directorio mnt se usa para montar particiones y discos de forma manual, mientras que el directorio media se usa para los montajes que el sistema realiza de forma automática. Desde luego, cuando montamos manualmente podemos hacerlo en el directorio que nos de la gana. Pero se recomienda usar mnt para una mayor claridad. De todos modos si para el fstab usamos media, en lugar de mnt, tampoco pasa nada.

Respecto al UUID. Tradicionalmente, para realizar el montaje, se usaba el nombre que linux asigna a los dispositivos (sda3, sdb1,…). Pero este método tiene un problema. Si instalamos un nuevo disco estos nombres pueden cambiar (sdb1 se podría convertir en sdc1, etc.). Pero el fstab permanecería igual, con los nombre antiguos. Con lo que al arrancar el sistema se podría producir un auténtico caos. Por eso se recomienda usar el Idetificador Universalmente Único (UUID). Éste se asigna a cada dispositivo individualmente y permanece invariable, por lo que no se verá afectado por esos cambios.

Openbox (8): Cuadro de diálogo para apagar el ordenador

En una entrada anterior (Openbox (5): Escritorio) expliqué como apagar el ordenador, desde este gestor de ventanas, usando el comando gdm-control. En otra entrada anterior me referí a un programa llamado gxmessage, que permite crear mensajes y, también, sencillos cuadros de diálogo. Ahora vamos a ver como combinar ambos para poder apagar el ordenador desde Openbox de una forma simple y elegante.

Primero instaláis gxmessage, si no lo teniáis instalado. Luego abrís nuestro editor de textos favorito y escribís lo siguiente:

#!/bin/bash

gxmessage «¿Quieres apagar el ordenador?» -center -title «Elige opción» -font «Sans bold 10» -default «Cancelar» -buttons «_Cancelar»:1,»_Reiniciar»:2,»_Apagar»:3,»_Suspender»:4

case $? in

1) echo «Exit»;;
2) gdm-control --reboot && openbox --exit;;
3) gdm-control --shutdown && openbox --exit;;
4) gdm-control --suspend;;

esac

Guardáis, cerráis y le dais permisos de ejecución al archivo. Esto último lo podéis hacer desde una consola de texto (mediante el comando chmod) o en modo gráfico desde el gestor de archivos (Botón derecho del ratón y Editar>Propiedades>Permisos). Una vez hecho esto lo añadís al menú de Openbox, indicando la ruta hasta el script (si usáis Obmenu podéis utilizar el botón que aparece a la derecha del recuadro de ejecutar para buscarlo). Y listo.

Actualización

Como un lector ha señalado, en uno de los comentarios, este método solo sirve si utilizamos GDM . ¿Cómo crear el cuadro de diálogo si usamos otro gestor de pantalla? Lo primero leed esta entrada: Apagar el ordenador desde un gestor de ventanas (3). Una vez que hayáis cambiado los permisos a shutdown, para poder usar el comando como usuario, solo teneis que cambiar el script:

#!/bin/bash

gxmessage «¿Quieres apagar el ordenador?» -center -title «Elige opción» -font «Sans bold 10» -default «Cancelar» -buttons «_Cancelar»:1,»_Reiniciar»:2,»_Apagar»:3,

case $? in

1) echo «Exit»;;
2) shutdown -r now;;
3) shutdown -h now;;

esac

Lo único que no se es como añadir la opción de suspender. Por los demás este script debería funcionar sin ningún problema, independientemenete del gestor de pantalla que estéis utilizando.

Identificando los discos duros

Si queremos montar un disco duro, o añadirlo al fstab para que se monte al arrancar, necesitaremos primero identificarlo.

Podemos hacerlo usando el comando ls

ls -l /dev/disk/by-label/

Esto nos dará el label o etiqueta de cada disco o partición acompañada del nombre que linux de a cada uno (sda1, sda5, sdb1,…).

Si queremos añadirlo al fstab es recomendable que utilicemos el Idetificador Universalmente Único (UUID), que permite que cada dispositivo tenga un identificador propio, independiente de la forma en el que este conectado al ordendor. Para ello seguiremos utilizando el comando ls

ls -l /dev/disk/by-uuid/

Si queremos una información más completa podemos utilizar el comando blkid. A diferencia del comando anterior con éste necesitaremos permisos de root (su o sudo). Una vez obtenidos escribiremos simplemente

blkid

Iniciar la sesión con el teclado numérico activado

Para no tener que pulsar la tecla de BloqNum cada vez que queramos usar el teclado numérico podemos instalar el programa numlockx.

Una vez instalado tendremos que añadirlo a la lista de programas de inicio. En mi caso, que uso Openbox, tendré que abrir el archivo autostart.sh y añadir una nueva línea con numlockx. Ahora cada vez que inicie la sesión BloqNum estará activado.

Observaremos que el funcionamiento de la luz que aparece encima del teclado númerico se ha invertido. Ahora esa luz aparece apagada cuando está activo y se enciende cuando lo desactivamos.

Configurar impresora

Algo que me suele dar problemas cada vez que compro un ordenador nuevo, o reinstalo GNU/Linux, es volver a configurar la impresora. Algo aparentemente sencillo, pero con lo que siempre me suelo liar. Por eso me he puesto a escribir esta entrada: para acordarme la próxima vez que tenga que hacerlo y para ayudar a quién esté ahora en esa situación.

Antes de empezar con la configuración es recomendable inciar, o reiniciar, Linux con la impresora encendida.

En Linux, como en los demás sistemas operativos de la familia Unix, la configuración y administración de impresoras se hace mediante el sistema CUPS (Common Unix Printing System). Para hacerlo en modo gráfico CUPS ofrece una interfaz web, que es independiente del entorno de escritorio. Para poder utilizarla solo necesitamos abrir nuestro navegador web y escribir en la barra de direcciones lo siguiente: http://localhost:631. Se nos abrirá una página web, que se encuentra almacenada en nuestro propio sistema, desde la que podemos configurar y administrar nuestra impresora o impresoras.

impresora

Leer el resto de la entrada…

Qué hacer cuando tenemos varias tarjetas de sonido

Si tienes más de una tarjeta de sonido en el ordenador (lo cual no es raro, ya que muchas placas base llevan una integrada), puede sucederte que al encender el ordenador se te active unas veces una y otras veces otra. Lo que te obligará a cambiar de clavija los altavoces con frecuencia. Para evitar esto necesitamos establecer una de las tarjetas como predeterminada.

Lo primero que haremos será comprobar cuales son las tarjetas que tenemos instaladas. Para ello abriremos una terminal y escribiremos:

cat /proc/asound/modules

En mi ordenador me sale el siguiente resultado:

0 snd_ens1371
1 snd_mpu401
2 snd_intel8x0

Ahora tenemos que elgir cual de ellas queremos tener como predeterminada. Utilizaremos el comando su (o sudo en su caso), para adquirir privilegios de root. A continuación abriremos, con nuestro editor de textos favorito (leafpad, gedit, kate, nano, vim…), el archivo de configuración correspondiente:

leafpad /etc/modprobe.d/alsa-base.conf

Se nos abrirá un archivo de configuración. Lo más seguro es que no entiendas nada de lo que aparece ahí. No te preocupes, eso no lo vamos a cambiar. Iremos al final del archivo y añadiremos las siguientes líneas:

options snd_ens1371 index=0
options snd_mpu401 index=1
options snd_intel8x0 index=2

Poniendo en su lugar los nombres de las tarjetas de sonido que nos hayan salido antes, en el orden de preferencia que nosotros deseemos. La que pongamos en primer lugar será la predeterminada.

A partir de ahora cada vez que encendamos el ordenador se activará siempre la misma tarjeta de sonido.