martes, 29 de abril de 2008

Mini-Howto - Como expulsar un ipod con Amarok

Para cualquier usuario de los "magnificos" ipod's de apple y el maravilloso Amarok (notese que amarok sí es maravilloso :P).
Sabrá de los diversos problemas que hay al intentar expulsar el disposivo... no basta desmontarlo para que el aparato reconozca que nada más va a usarlo.
Después de leer unas cuantas cosas sobre el tema, un usuario de kde deberá saber que hay un estupendo "kdeeject" que es una versión guay del eject normal (sin diferencia alguna) y los de gnome, pues el gnome-eject :P

He aquí el problema de que a mí no me funcionaba el tema de la expulsión con este programa simplemente por que no tenía permisos, para lo cual he usado el sudo.
Para customizar los comandos usados basta con escribir (como root):
[root@ciberterminal.dynds.org]# visudo

y aparecerá una vi (logicamente) en el que se pueden editar los comandos que efectúa cada usuario con permisos de root.
Para los desafortunados que no sepan usar vi, pueden usar el siguiente comando:
[root@ciberterminal.dynds.org]# EDITOR=kwrite visudo

Donde kwrite es vuestro editor favorito ;)

Bastaría añadir dos lineas:
dodger ALL=(ALL) NOPASSWD:/usr/bin/kdeeject
dodger ALL=(ALL) NOPASSWD:/bin/umount

Es un poco bestia para el experto pero para los demás irá perfecto.

Se sale guardando y ya tenéis permisos para ejecutar eso mediante la orden sudo.

Aparte de esto, habría que o bien poner todos los comandos necesarios en los parámetros de desconexión del amarok o hacer un script que supongo que es lo más fácil.
Ahora con el usuario de vuestro sistema basta añadir las siguientes líneas al script (logicamente hay que concederle permisos de ejecución al mismo):
#!/bin/bash
DEVICE="$1"
MOUNTPOINT="$2"
sudo /bin/umount $MOUNTPOINT
sleep 2
sudo /usr/bin/kdeeject $DEVICE

Y el amarok configurarlo de la siguiente forma:
/home/usuario/directorio/de/scripts/eject_ipod.sh %d %m

Como la imagen :)

En principio con eso debería valer y no tendréis ningún problema de desincronización con la bbdd interna del ipod que podría ocurrir usando un eject (o kde/gnome eject) a secas