Escanear con la Brother MFC-7480W en Ubuntu 11.04

Por fin después de muchas vueltas, de romperme el coco y de navegar por la web he conseguido hacer funcionar el escaner de mi Brother MFC-7480W en Ubuntu 11.04.

He seguido los siguientes pasos:

1) Instalar los drivers. Se pueden descargar de aquí:

http://welcome.solutions.brother.com/bsc/public_s/id/linux/en/download_scn.html

En mi caso hacían falta los drivers brscan3 32bit.

(Nota: para saber si tu Ubuntu es de 32 bits teclea en la consola: uname -m, si el resultado es i686 entonces tienes el sistema de 32 bits, si es i86_64 es de 64 bits).

2) Editar el fichero /etc/udev/rules.d/60-libsane.rules como root y añadir justo antes de “# The following rule…”:

 # Brother
 ATTRS{idVendor}=="04f9", ENV{libsane_matched}="yes" 

3) Editar el fichero /etc/sane.d/dll.conf:

sudo gedit /etc/sane.d/dll.conf

y añadir la línea:

brother3

4) Reiniciar el ordenador.

La consola de Linux – Cambiar el charset de un fichero

Un problema habitual cuando se trabaja con varios idiomas son los caracteres que no se usan en inglés (tildes, diéresis, cedillas, etc…). Si en algún momento necesitas cambiar el charset de un  fichero puedes usar el siguiente comando:

iconv --from-code=ISO-8859-1 --to-code=UTF-8 fichero_origen.txt > fichero_destino.txt

Eso sí, muchísimo cuidado, no se puede usar el mismo fichero como origen y destino ya que se vaciará su contenido.

Puedes usar este script para hacer el cambio en un único paso:

cp $1 $1.temp
iconv --from-code=ISO-8859-1 --to-code=UTF-8 $1.temp > $1
rm $1.temp

Puedes guardarlo en un fichero llamado ‘cambiar_charset’ y luego darle premisos de ejecución:

chmod +x cambiar_charset

Ejemplo de uso:

./cambiar_chaset mifichero.txt

 

 

Problemas con el paquete python-chardet en Ubuntu

Desde hace un tiempo he tenido algunos problemas al actualizar mi Ubuntu. El problema estaba relacionado con el paquete python-chardet 1.0.1-1.1. Según he descubierto al ir a informar del fallo en bugs.launchpad.net el problema se puede corregir editando el fichero: /usr/share/python/debian_defaults:

sudo gedit /usr/share/python/debian_defaults

y modificando la línea:

# all supported python versions
supported-versions = python2.5, python2.6

por:

# all supported python versions
supported-versions = python2.5, python2.6, python3.0, python3.1

Renombrar varios ficheros a la vez con PyRenamer

PyRenamer es un sencillísimo programa (sencillo de usar) que te permite renombrar un montón de ficheros de golpe. Ya expliqué hace un tiempo cómo cambiar la extensión de varios archivos de golpe desde la consola, pero seguramente este programa le resultará mucho más cómodo a la mayoría.

El programa está disponible bajo licencia GPL y, dado que está escrito en Python, debería funcionar en casi cualquier sistema operativo que disponga de Python y PyGtk (yo sólo lo he probado en mi Ubuntu).

Supongamos que queremos renombrar varios archivos con el siguiente formato:

Nombre serie – 1×01 – El comienzo.avi
Nombre serie – 1×02 – La continuación.avi
Nombre serie – 1×03 – El final.avi

al siguiente formato:

1×01 – El comienzo.avi
1×02 – La continuación.avi
1×03 – El final.avi

Podemos hacerlo siguiendo estos pasos:

Paso 0) Instalar el PyRenamer en nuestra máquina evidentemente.

1) Arrancar el programa.

2) Ir al directorio que contiene los archivos que queremos renombrar.

3) Seleccionamos la pestaña “Patrones”.

4) En “Patrón de selección de archivos” podemos dejar el “*” que viene por defecto o podemos cambiarlo para trabajar sólo con los archivos que nos interesen.

5) En “patrón de nombre de archivo original” escribimos:

Nombre serie - {#}x{#} - {X}

Las llaves sirven para indicar la parte que cambia:

{#} – Sirve para indicar un número
{X} – Sirve para indicar letras

6) En “patrón de nombre de archivo nuevo:

{1}x{2} - {3}

{1}, {2}, {3} son las coincidencias que ha encontrado en la cadena original, las partes que ha encontrado entre llaves.

En el primer caso:

Nombre serie - {#}x{#} - {X}

Con el fichero:

Nombre serie - 1x01 - El comienzo.avi

El primer {#} recogerá el “1”, el segundo {#} recogerá el “01” y {X} recogerá “El comienzo.avi”. Con lo que el nombre resultará en:

1x01 - El comienzo.avi

7) Pinchamos el botón “previsualizar” para ver si el renombrado se hace como esperábamos.

8 ) Hacemos click en renombrar y listo.

Bash: listar los usuarios de un ordenador

Dado que últimamente estoy haciendo bastantes cosillas con bash voy a poner una serie de “truquillos” aquí.

NOTA: El ejemplo que propongo aquí es un copia/pega de un script que creé para un servidor y una finalidad muy concretas.

En cierto servidor necesitaba tener un listado de los usuarios. Una posibilidad puede ser ir al directorio home y ver allí los usuarios (cada usuario tendrá un directorio ‘home’).

for directorio in /home/*; do
	echo ./actualizador_cada.sh $directorio.
done

dará como resultado:

/home/gorka
/home/alumno
/home/lost+found
/home/mysql
...

Si queremos que no nos muestre ‘/home’ podemos eliminar esa parte de cada directorio usando una subcadena:

echo ${directorio:6}

(esto mostrará una subcadena de $directorio desde la posición 6 hasta el final)

for directorio in /home/*; do
	echo ${directorio:6}
done

dará como resultado:

gorka
alumno
lost+found
mysql
...

NOTA: esto funciona en un sistema en el que los usuarios tengan directorios ‘home’ iguales a su nombres de usuario.

Seguramente verás que hay algunos usuarios que no te interesan (en mi caso sólo me interesaban los usuarios “reales”) así que añadí unas líneas para eliminar los que no interesaban (mysql, lost+found, etc…):

usuarios_no_validos=( 'mysql' 'lost+found')
for directorio in /home/*; do
	valido=1
	usuario=${directorio:6}
	for usuario_no_valido in ${usuarios_no_validos[@]}; do
		if [ $usuario_no_valido = $usuario ]; then
			valido=0
		fi
	done
	if [ $valido -eq 1 ]; then
		echo $usuario
	fi
done

Poner Thunderbird en español en Ubuntu

Después de muuuucho tiempo trabajando con él, hoy me he dado cuenta que el Thunderbird lo tengo en inglés (despistado que es uno). Si quieres ponerlo en español es bastante fácil. Basta con teclear en una consola (o en un terminal):

sudo apt-get install thunderbird-locale-es-es

Es posible que de una versión a otra cambie el nombre del paquete, así que puedes buscar en el gestor de paquetes Synaptic (Sistema -> Administración -> gestor de paquetes Synaptic). Es lo que he tenido que hacer yo 😛

Extraer audio de un DVD en Ubuntu – Devidify

Hoy me han pedido extraer algunas pistas de audio de un DVD con unas conferencias y pasarlas a MP3. Hace un tiempo tuve que hacer algo similar y me volví un poco loco. Ahora, afortunadamente existe un programa escrito en Python que permite hacerlo de manera muy sencilla: Devidify.

Instalación

No he encontrado ningún paquete en Ubuntu que permita instalarlo cómodamente así que he tenido que hacerlo “a mano”:

1) Instalar los paquetes necesarios:

Tal y como indican en la web:

On an Ubuntu Linux system, ensure the following packages are installed and you’ll be all set: python, python-gtk2, mplayer, lsdvd, lame, vorbis-tools.

Así que abrimos un terminal y el comando que tenemos que usar es:

sudo aptitude install python python-gtk2 mplayer lsdvd lame vorbis-tools

2) Descargar el programa.

Crea una carpeta para descargarte el dividify, por ejemplo yo tengo una carpeta llamada ‘/home/gorka/instaladores’ donde me bajo los programillas a instalar. Entra en la carpeta y teclea:

wget -c http://devidify.googlecode.com/files/devidify-1.14.tar.gz

Puedes entrar en Google Code para ver si hay alguna versión más reciente.

3) Descomprimir e instalar el programa.

tar -zxvf devidify-1.14.tar.gz
cd devidify/
sudo python setup.py install

4) Crear el fichero de configuración.

Crea en tu carpeta de usuario (en mi caso es /home/gorka) un fichero llamado .devidifyrc (con un punto al comienzo, sí) y copia esto:

[devidify]
ogg_quality = 6
mode = mp3
device = /dev/dvd
mp3_bitrate = 192
dir = /home/gorka/dvd2mp3

mode: aquí puedes indicar ogg o mp3, el formato que prefieras.
dir: esta va a ser la carpeta donde se van a guardar las capturas de audio que hagas.

5) Comenzar a usar el programa:

Aplicaciones -> Sonido y vídeo -> Devidify

Cuando arranques basta con pinchar en el botón “Scan DVD”, seleccionar las pistas a extraer y pinchar en “Rip audio track(s)”. Se creará un fichero por cada pista que hayas seleccionado. ¡Así de fácil!

Las teclas CTRL y MAYS dejan de funcionar en mi Ubuntu cuando arranco VMWare en Ubuntu

Desde hace unos días venimos experimentando un problemas con el teclado de ordenadores que funcionan con Ubutnu y arrancan una máquina virtual con VMWare. En ocasiones las teclas Control (CTRL), Mayúsculas (Shift) y Bloq Num (Num Lock) dejan de funcionar.

Parece que aún no está clara la causa del problema ni la solución, pero por ahora se puede usar un comando para que vuelvan a funcionar dichas teclas. Se trata de usar el comando:

setxkbmap

Por comodidad, en los PC que están experimentando esos problemas hemos creado un lanzador en el escritorio para ejecutar el programa con sólo hacer click.

No funciona sudo – user not in the sudoers file

Hace unos días añadí a mi usuario de Ubuntu a un grupo adicional usando el comando usermod. Por desgracia, olvidé el grupo admin por lo que no podía usar el comando sudo. Cada vez que intentaba usar un comando como superusuario tenía el mensaje:

user not in the sudoers file

Para solucionarlo debemos reiniciar el ordenador y en el menú de Grub escoger el modo “Recovery mode”. Seleccionamos la opción de entrar como root y tecleamos:

usermod -G gorka,admin,otros-grupos gorka

donde otros-grupos son todos los grupos adicionales al que queremos añadir al usuario.

Este comando tiene la siguiente estructura:

usermod -G lista-de-grupos usuario

Cuidado con la lista de grupos, deben estar separados por comas y sin espacios.