Quien dice spotify, podría decir ed2k o el protocolo que vuesa merced guste. El proceso siempre es el mismo:
- Abrir about:config en firefox
- Añadir par de booleanos (valores lógicos):
- network.protocol-handler.external.spotify a true
- network.protocol-handler.warn-external.spotify a false
- Añadir una cadena network.protocol-handler.app.spotify con valor /usr/bin/spotify
- Crear un ejecutable (en este caso en /usr/bin/spotify y teniendo en cuenta dónde lo instalamos anteriormente)
#!/bin/sh exec wine "C:\Program Files\Spotify\spotify.exe" /uri "$@"
Vaya, ya me había hecho ilusiones con que existiese una versión para linux, hasta que he visto la ñapa con wine 😛
No es ninguna ñapa, a decir verdad funciona perfectamente e incluso en la propia web te dicen que uses wine si eres usuario de linux.
Hola,yo en ubuntu, he seguido los pasos desde la página oficial donde te piden crear un ejecutable en ~/.browswe2spotify
pero me lío con la dirección pues yo el spotify.exe lo tengo en:
/proc/13371/fd/6/spotify.exe
y poniendo esta dirección en exec no se abren los enlaces en firefox.
Tú dices de ponerlo en /usr/bin pero si no tengo el spotify allí me da la impresión de que no va a funcionar. ¿puedes aclararme esto?. Gracias
Explico mejor lo que he hecho:
:~$ echo ‘#!/bin/sh’ > ~/.browser2spotify
kriparam@kriparam:~$ echo ‘exec wine “/home/kriparam/.wine/drive_c/Archivos de programa/Spotify/spotify.exe” /uri “$@”‘ >> ~/.browser2spotify
kriparam@kriparam:~$ chmod 755 ~/.browser2spotify.
Aparte claro de los cambios del about:config.
Y no funciona
Prueba a ejecutarlo desde una consola, así sabrás si es problema del script (que diría que no) o de configuración en el firefox. Ejecuta esto y debería abrirte el spotify con un álbum de música clásica 🙂
$ ~/.browser2spotify spotify:album:1n0EJpaO0sl9GmK1AQuvT
Gracias por responder. Esto es lo que me sale:
kriparam@kriparam:~$ ~/.browser2spotify spotify:album:1n0EJpaO0sl9GmK1AQuvT
fixme:reg:GetNativeSystemInfo (0x6e2577) using GetSystemInfo()
fixme:toolhelp:CreateToolhelp32Snapshot Unimplemented: heap list snapshot
fixme:thread:NtSetInformationThread info class 17 not supported yet
fixme:imagehlp:CheckSumMappedFile (0xdb0000, 1957884, 0x72b78c, 0x72b790): stub
fixme:debugstr:CheckRemoteDebuggerPresent (0xffffffff)->(0x7318e1): Stub!
Todos esos errores que te salen no pasa nada, es de wine quejándose de cosas, pero el programa se te lanzará igualmente, ¿no?. ¿Te sale la lista?
$ ~/.browser2spotify spotify:album:5Y3ydtN5nEFpfdisJW2xNU
Debería salirte disco de Second – Fracciones de un segundo.
Hola,
Sí lo abre. No sé si antes lo había probado con el programa ya abierto o qué. Y, sí, aparece el Second con sus fracciones de segundo.
Entonces ¿por qué me aparece el mensaje:
Firefox no sabe cómo abrir esta dirección, porque el protocolo (spotify) no está asociado con ningún programa?.
El about:config está como decía la web de spotify:
network.protocol-handler.app.spotify ;~/.browser2spotify
network.protocol-handler.external.spotify;true.
Un saludo
te falta declarar network.protocol-handler.warn-external.spotify
Ya he añadido el network.protocol-handler.warn-external.spotify, pero sigue igual. Un saludo.
hola he echo todo los pasos, va bien pero en consola , he puesto about:config
network.protocol-handler.app.spotify ; /usr/bin/spotify
Lo unico que consigo con ello es que no salga el mensaje de que no hay ninguna aplicación asociada, lo raro que desde consola pongo spotify y el enlace, funciona correctamente.
network.protocol-handler.expose.spotify puesto a false ha sido la clave para que me funcionara por fin
Saludos
Por lo visto este método es válido para Firefox <= 3.0. Para 3.5 hay que registrar el protocolo creando la entrada network.protocol-handler.expose.spotify = false.
http://kb.mozillazine.org/Register_protocol
Luego se le asocia el script en Preferencias/Programas, o cuando te lo pregunte al abrir un link.
Saludos,
Lo que comenta rramos me funciono, solo un logico
network.protocol-handler.expose.spotify = false
y listo Gracias
Tengo mil dudas pues soy nuevo en linux, pero he seguido todos los pasos y he conseguido que al pulsar sobre un playlist de Spotify desde Firefox se abra Spotify, pero no obtengo el Playlist, simplemente se abre.
Comentar que lo del ejecutable no lo he hecho porque no se hacerlo, si alguien me lo pudiera explicar…
Gracias.
@blaxter
A ver si me puedes ayudar a mi también.
Sistema operativo Ubuntu 10.10, navegador Firefox 3.6.
Bien, yo también he seguido los pasos indicados por la página de Spotify:
Para poder abrir las URI de Spotify, necesitas en primer lugar un sencillo script:
echo ‘#!/bin/sh’ > ~/.browser2spotify
echo ‘exec wine “C:\Archivos de programa\Spotify\spotify.exe” /uri “$@”‘ >> ~/.browser2spotify
chmod 755 ~/.browser2spotify
Y después vi tu respuesta a @kriparam y probé a abrir desde terminal. Efectivamente se abre el programa de Spotify y me aparece la lista; aún así desde firefox no conseguía esto.
Por lo tanto seguí tu siguiente consejo “te falta declarar network.protocol-handler.warn-external.spotify”
Bien, los links siguen sin abrirse desde firefox.
Así que seguí el siguiente consejo dado aquí “network.protocol-handler.expose.spotify puesto a false ha sido la clave para que me funcionara por fin” y sigo en las mismas.
Esto es, desde el terminal se abre todo perfectamente.
Desde Firefox todo lo más que consigo es asociar el tipo de links de spotify a spotify.exe (situado en /.wine/drive_c/Archivos de programa/Spotify). En este último caso lo que sucede es que se abre el programa pero no me aparecen la lista del link.
Ahora y después de tener añadido todo lo anterior, también he conseguido asociar los links de spotify a .browser2spotify pero en ese caso no sucede nada.
Por si te es necesario esto es lo que me aparece en el terminal cuando abro un link desde él:
fixme:toolhelp:CreateToolhelp32Snapshot Unimplemented: heap list snapshot
fixme:advapi:RegisterEventSourceW ((null),L”Spotify”): stub
fixme:winsock:WSALookupServiceBeginW (0x2b6ea24 0x00000ff1 0x277a018) Stub!
fixme:dwmapi:DwmIsCompositionEnabled 0x32fbc8
fixme:appbar:handle_appbarmessage SHAppBarMessage(ABM_GETSTATE): stub
fixme:appbar:handle_appbarmessage SHAppBarMessage(ABM_GETAUTOHIDEBAR, hwnd=(nil), edge=0): stub
fixme:appbar:handle_appbarmessage SHAppBarMessage(ABM_GETAUTOHIDEBAR, hwnd=(nil), edge=1): stub
fixme:appbar:handle_appbarmessage SHAppBarMessage(ABM_GETAUTOHIDEBAR, hwnd=(nil), edge=2): stub
fixme:appbar:handle_appbarmessage SHAppBarMessage(ABM_GETAUTOHIDEBAR, hwnd=(nil), edge=3): stub
shm_open() failed: Permiso denegado
shm_open() failed: Permiso denegado
shm_open() failed: Permiso denegado
fixme:hnetcfg:fw_app_get_Enabled 0x16b160, 0x32f49c
fixme:hnetcfg:fw_app_put_ProcessImageFileName 0x16b160, L”C:\\Archivos de programa\\Spotify\\spotify.exe”
fixme:hnetcfg:fw_app_put_Name 0x16b160, L”Spotify”
fixme:hnetcfg:fw_apps_Add 0x16b0b0, 0x16b160
fixme:win:RegisterShellHookWindow (0x1004e): stub
fixme:ntdll:NtQueryInformationProcess (process=0xffffffff) Unimplemented information class: ProcessDebugFlags
fixme:ntdll:NtQueryInformationProcess (process=0xffffffff) Unimplemented information class: ProcessDebugFlags
fixme:winhttp:WinHttpGetIEProxyConfigForCurrentUser returning no proxy used
fixme:appbar:handle_appbarmessage SHAppBarMessage(ABM_GETSTATE): stub
fixme:appbar:handle_appbarmessage SHAppBarMessage(ABM_GETAUTOHIDEBAR, hwnd=(nil), edge=0): stub
fixme:appbar:handle_appbarmessage SHAppBarMessage(ABM_GETAUTOHIDEBAR, hwnd=(nil), edge=1): stub
fixme:appbar:handle_appbarmessage SHAppBarMessage(ABM_GETAUTOHIDEBAR, hwnd=(nil), edge=2): stub
fixme:appbar:handle_appbarmessage SHAppBarMessage(ABM_GETAUTOHIDEBAR, hwnd=(nil), edge=3): stub
fixme:ntdll:NtQueryInformationProcess (process=0xffffffff) Unimplemented information class: ProcessDebugFlags
fixme:advapi:GetCurrentHwProfileW (0x32f4b4)
fixme:ntdll:NtQueryInformationProcess (process=0xffffffff) Unimplemented information class: ProcessDebugFlags
fixme:appbar:handle_appbarmessage SHAppBarMessage(ABM_GETSTATE): stub
fixme:appbar:handle_appbarmessage SHAppBarMessage(ABM_GETAUTOHIDEBAR, hwnd=(nil), edge=0): stub
fixme:appbar:handle_appbarmessage SHAppBarMessage(ABM_GETAUTOHIDEBAR, hwnd=(nil), edge=1): stub
fixme:appbar:handle_appbarmessage SHAppBarMessage(ABM_GETAUTOHIDEBAR, hwnd=(nil), edge=2): stub
fixme:appbar:handle_appbarmessage SHAppBarMessage(ABM_GETAUTOHIDEBAR, hwnd=(nil), edge=3): stub
fixme:appbar:handle_appbarmessage SHAppBarMessage(ABM_GETSTATE): stub
fixme:appbar:handle_appbarmessage SHAppBarMessage(ABM_GETAUTOHIDEBAR, hwnd=(nil), edge=0): stub
fixme:appbar:handle_appbarmessage SHAppBarMessage(ABM_GETAUTOHIDEBAR, hwnd=(nil), edge=1): stub
fixme:appbar:handle_appbarmessage SHAppBarMessage(ABM_GETAUTOHIDEBAR, hwnd=(nil), edge=2): stub
fixme:appbar:handle_appbarmessage SHAppBarMessage(ABM_GETAUTOHIDEBAR, hwnd=(nil), edge=3): stub
fixme:appbar:handle_appbarmessage SHAppBarMessage(ABM_GETSTATE): stub
fixme:appbar:handle_appbarmessage SHAppBarMessage(ABM_GETAUTOHIDEBAR, hwnd=(nil), edge=0): stub
fixme:appbar:handle_appbarmessage SHAppBarMessage(ABM_GETAUTOHIDEBAR, hwnd=(nil), edge=1): stub
fixme:appbar:handle_appbarmessage SHAppBarMessage(ABM_GETAUTOHIDEBAR, hwnd=(nil), edge=2): stub
fixme:appbar:handle_appbarmessage SHAppBarMessage(ABM_GETAUTOHIDEBAR, hwnd=(nil), edge=3): stub
fixme:appbar:handle_appbarmessage SHAppBarMessage(ABM_GETSTATE): stub
fixme:appbar:handle_appbarmessage SHAppBarMessage(ABM_GETAUTOHIDEBAR, hwnd=(nil), edge=0): stub
fixme:appbar:handle_appbarmessage SHAppBarMessage(ABM_GETAUTOHIDEBAR, hwnd=(nil), edge=1): stub
fixme:appbar:handle_appbarmessage SHAppBarMessage(ABM_GETAUTOHIDEBAR, hwnd=(nil), edge=2): stub
fixme:appbar:handle_appbarmessage SHAppBarMessage(ABM_GETAUTOHIDEBAR, hwnd=(nil), edge=3): stub
fixme:ntdll:NtQueryInformationProcess (process=0xffffffff) Unimplemented information class: ProcessDebugFlags
fixme:ntdll:NtQueryInformationProcess (process=0xffffffff) Unimplemented information class: ProcessDebugFlags
fixme:ntdll:NtQueryInformationProcess (process=0xffffffff) Unimplemented information class: ProcessDebugFlags
fixme:ntdll:NtQueryInformationProcess (process=0xffffffff) Unimplemented information class: ProcessDebugFlags
fixme:ntdll:NtQueryInformationProcess (process=0xffffffff) Unimplemented information class: ProcessDebugFlags
fixme:ntdll:NtQueryInformationProcess (process=0xffffffff) Unimplemented information class: ProcessDebugFlags
fixme:ntdll:NtQueryInformationProcess (process=0xffffffff) Unimplemented information class: ProcessDebugFlags
fixme:ntdll:NtQueryInformationProcess (process=0xffffffff) Unimplemented information class: ProcessDebugFlags
fixme:ntdll:NtQueryInformationProcess (process=0xffffffff) Unimplemented information class: ProcessDebugFlags
fixme:ntdll:NtQueryInformationProcess (process=0xffffffff) Unimplemented information class: ProcessDebugFlags
fixme:ntdll:NtQueryInformationProcess (process=0xffffffff) Unimplemented information class: ProcessDebugFlags
fixme:ntdll:NtQueryInformationProcess (process=0xffffffff) Unimplemented information class: ProcessDebugFlags
fixme:ntdll:NtQueryInformationProcess (process=0xffffffff) Unimplemented information class: ProcessDebugFlags
fixme:ntdll:NtQueryInformationProcess (process=0xffffffff) Unimplemented information class: ProcessDebugFlags
fixme:ntdll:NtQueryInformationProcess (process=0xffffffff) Unimplemented information class: ProcessDebugFlags
fixme:ntdll:NtQueryInformationProcess (process=0xffffffff) Unimplemented information class: ProcessDebugFlags
fixme:ntdll:NtQueryInformationProcess (process=0xffffffff) Unimplemented information class: ProcessDebugFlags
fixme:ntdll:NtQueryInformationProcess (process=0xffffffff) Unimplemented information class: ProcessDebugFlags
fixme:ntdll:NtQueryInformationProcess (process=0xffffffff) Unimplemented information class: ProcessDebugFlags
fixme:ntdll:NtQueryInformationProcess (process=0xffffffff) Unimplemented information class: ProcessDebugFlags
fixme:ntdll:NtQueryInformationProcess (process=0xffffffff) Unimplemented information class: ProcessDebugFlags
fixme:ntdll:NtQueryInformationProcess (process=0xffffffff) Unimplemented information class: ProcessDebugFlags
fixme:ntdll:NtQueryInformationProcess (process=0xffffffff) Unimplemented information class: ProcessDebugFlags
fixme:ntdll:NtQueryInformationProcess (process=0xffffffff) Unimplemented information class: ProcessDebugFlags
Esta última línea se va repitiendo sucesivamente hasta que cierro Spotify o el terminal (cierre el que cierre primero, el otro se cierra al mismo tiempo).
Siento molestarte, de verdad. Pero es que ya he intentado todos los pasos posibles de todas las páginas que he encontrado y… parece que tú entiendes bastante del tema…
Muchísimas gracias por adelantado