Mostrando entradas con la etiqueta Amarok. Mostrar todas las entradas
Mostrando entradas con la etiqueta Amarok. Mostrar todas las entradas

sábado, 23 de mayo de 2015

Problemas para conectar un iPod con Amarok o GTKPod

Al conectar el iPod, Amarok marca el error:

Conexión a iPhone, iPad o iPod fallida. ("Connecting to iPhone, iPad or iPod touch failed."
--
determined mount-point path to /tmp/kde-USUARIO/amarok/imobiledevice_uuid_XXXXUUIDXXXX
created /tmp/kde-USUARIO/amarok/imobiledevice_uuid_XXXXUUIDXXXX directory
calling `ifuse "-u" "XXXXUUIDXXXX" "-ofsname=afc://XXXXUUIDXXXX" "/tmp/kde-USUARIO/amarok/imobiledevice_uuid_XXXXUUIDXXXX"` with timeout of 10s
ifuse: usbmuxd_get_device_list: error opening socket!
ifuse: No device found, is it connected?
ifuse: If it is make sure that your user has permissions to access the raw usb device.
ifuse: If you're still having issues try unplugging the device and reconnecting it.
ifuse:
command exited with non-zero return code 1
Failed to mount iPhone on /tmp/kde-USUARIO/amarok/imobiledevice_uuid_XXXXUUIDXXXX

amarok --debug no aporta ningún error útil, pero si se conectó el iPod antes de iniciar Amarok, el mismo sufre una violación de segmento.  El backtrace nos dice que el problema es con libgpod:

#6  0x0000003c8803348d in type_check_is_value_type_U (type=133143986208) at gtype.c:4107
#7  g_type_check_value_holds (value=value@entry=0x1fcf5e0, type=type@entry=34428496) at gtype.c:4156
#8  0x00007f38f2296d0a in playcounts_plist_read (fimp=, fimp=, plist_data=0x2134570) at itdb_itunesdb.c:1178
#9  playcounts_init (fimp=0x1fc1600) at itdb_itunesdb.c:1319
#10 itdb_parse_internal (itdb=itdb@entry=0x1fe3950, compressed=compressed@entry=1, error=error@entry=0x7fffe3defac0) at itdb_itunesdb.c:3309

gtkpod también muere con SEGFAULT al tratar de leer el iPod.  Al parecer, el problema sucede cuando libgpod intenta leer las estadísticas de reproducción en 'iTunes_Control/iTunes/PlayCounts.plist', y está arreglado en upstream desde el 2013, pero por alguna razón no lo está así en los repositorios.  En teoría, compilar libgpod a mano debería solucionarlo.  O, si no te importan las estadísticas de reproducción en tu iPod, puedes borrar o renombrar el fichero de las mismas como workaround –después de montar tu iPod:

ifuse /mnt/pda
mv /mnt/pda/iTunes_Control/iTunes/PlayCounts.plist /mnt/pda/iTunes_Control/iTunes/PlayCounts.plist.bak


Y asunto arreglado.

viernes, 30 de agosto de 2013

Borrando y reinicializando la colección de música de un iPod Touch / iPhone desde Linux

Para inicializar base de datos de iTunes de un iPod Touch o iPhone nuevo o recién formateado, o para borrar la colección de música (si está corrupta, o simplemente queremos cambiar de canciones) desde Linux hay que salvar un par de obstáculos:

Primero, hay que acceder al dispositivo montándolo manualmente (p.e. sudo mkdir /media/iPod; sudo chmod 777 /media/iPod; ifuse /media/iPod;) o dejando que un programa lo haga por nosotros (Amarok monta automáticamente /var/mobile/Media en /tmp/kde-$USER/amarok/imobiledevice_*).

Nuestra música, la base de datos de iTunes y demás se encuentran en Media/iTunes_Control.  Podemos eliminar (o renombrar) todo para deshacernos de la colección, con excepción de Media/iTunes_Control/Device/HashInfo.  Este fichero contiene el código con el que Apple pretende impedir nuestro libre acceso a nuestro dispositivo.  Por tanto, conviene hacer un respaldo del mismo.

En caso de una nueva instalación, tendremos que obtener HashInfo, a menos que tengamos un respaldo.  Afortunadamente, Héctor Martín Cantero ha creado un generador público: iPhone/iPod hash generation.  Para usarlo, necesitamos el UUID de nuestro dispositivo, que usualmente es listado como SerialNumber en sus propiedades, las cuales se pueden ver en syslog.  Este comando puede ayudar:

perl -ne 'our $UUID; if (/Manufacturer: Apple/) { $_=<>; $UUID=$1 if /SerialNumber: (.+)/; } END { print "$UUID\n" if $UUID;}' /var/log/syslog

Una vez que tenemos HashInfo en su lugar, podemos dejar el trabajo más pesado a Amarok o gtkpod; si borramos la colección de música con alguno de los dos abierto, tendremos que expulsar nuestro dispositivo y volverlo a conectar; si no, simplemente ejecutamos uno de los dos, que inmediatamente nos ofrecerá inicializar nuestro juguete; si no sabes su modelo, puedes verlo en sus Ajustes de sistema / General / Información / Modelo (en mi caso, ignorando el primer y los dos últimos caracteres).

jueves, 23 de agosto de 2012

Hacer que el complemento Last.fm de Amarok deje de usar KWallet

Esto hace que el complemento de Last.fm guarde su contraseña en texto simple --que es más inseguro, pero evita el uso de KWallet.
  1. Cierra tu cartera en KWallet.
  2. Inicia Amarok y cancela cuando quiera abrir tu cartera.
  3. Ve a la configuración del complemento de Last.fm, y cancela el nuevo intento de acceder a la cartera.
  4. Introduce los datos de tu cuenta y Acepta.
  5. Cancela KWallet una última vez. 
  6. Amarok preguntará KWallet no se está ejecutando.  ¿Le gustaría que Amarok almacenara sus credenciales en texto simple?
  7. ¡Siiiiiií!!!!!!
  8. Reiniciar Amarok.
Alternativamente:
  1. Deshabilitar KWallet en el fichero de configuración de Amarok:
    perl -pi -e 'print STDERR "Reemplazando $&\n" if s/(ignoreWallet)=.*/$1=yes/;' ~/.kde/share/config/amarokrc 
  2. Reiniciar Amarok.
  3. Introducir tu cuenta en la configuración de Last.fm si nunca la has guardado como texto antes.