miércoles, 23 de enero de 2013

Arreglar Magnet Links en XFCE

Desde que uso XFCE (Xubuntu, Linux Mint y openSuSE) siempre he tenido problemas para abrir los enlaces Magnet que utilizan los sitios de torrents; en lugar de abrirse el cliente predeterminado me daba un error notificando que no podía gestionar dichos enlaces.
Tras explorar profundamente la red y meter varias veces la pata al fin conseguí configurar el sistema para abrir automáticamente Transmission al pulsar un enlace magnet.


Para hacer que Chromium/Chrome abra por defecto los magnet en primer lugar hay que introducir en terminal los siguientes comandos:

gconftool-2 -t string -s /desktop/gnome/url-handlers/magnet/command "transmission %s"
gconftool-2 -s /desktop/gnome/url-handlers/magnet/needs_terminal false -t bool
gconftool-2 -t bool -s /desktop/gnome/url-handlers/magnet/enabled true

Con esto conseguimos que el explorador gestione los magnet y abra Transmission (como se ve en la primera linea); en caso de utilizar otro gestor de torrents se cambia el comando “transmission %s” por el programa que utilicemos.

Tras esto hay que modificar el archivo xdg, el encargado de gestionar el escritorio y los programas predeterminados, de que utilice la configuración de gnome cuando la propia de xfce no encuentre una orden. Para ello abrimos el archivo xdg-open:

sudo nano /usr/bin/xdg-open

Buscamos las lineas:


#--------------------------------------
# Checks for known desktop environments
# set variable DE to the desktop environments name, lowercase
detectDE()
{
if [ x"$KDE_FULL_SESSION" = x"true" ]; then DE=kde;
elif [ x"$GNOME_DESKTOP_SESSION_ID" != x"" ]; then DE=gnome;
elif `dbus-send --print-reply --dest=org.freedesktop.DBus /org/freedesktop/DBus org.freedesktop.DBus.GetNameOwner string:org.gnome.SessionManager > /dev/null 2>&1` ; then DE=gnome;
elif xprop -root _DT_SAVE_MODE 2> /dev/null | grep ' = \"xfce4\"$' >/dev/null 2>&1; then DE=xfce;
elif [ x"$DESKTOP_SESSION" == x"LXDE" ]; then DE=lxde;
else DE=""
fi
}



Y añadimos al final la linea “DE=gnome” para hacer saber al sistema que utilice por defecto la configuración de gnome; dejándolo así:


#--------------------------------------
# Checks for known desktop environments
# set variable DE to the desktop environments name, lowercase
detectDE()
{
# if [ x"$KDE_FULL_SESSION" = x"true" ]; then DE=kde;
# elif [ x"$GNOME_DESKTOP_SESSION_ID" != x"" ]; then DE=gnome;
# elif `dbus-send --print-reply --dest=org.freedesktop.DBus /org/freedesktop/DBus org.freedesktop.DBus.GetNameOwner string:org.gnome.SessionManager > /dev/null 2>&1` ; then DE=gnome;
# elif xprop -root _DT_SAVE_MODE 2> /dev/null | grep ' = \"xfce4\"$' >/dev/null 2>&1; then DE=xfce;
# elif [ x"$DESKTOP_SESSION" == x"LXDE" ]; then DE=lxde;
# else DE=""
# fi

DE=gnome;
}


Tras esto el sistema estará listo para abrir archivos Magnet con un solo click.

1 comentario: