¿Cómo anular el controlador Gnome 3 SSH?

11

Me gustaría poder hacer clic en los enlaces SSH que se vean ssh://user@servernamey tener un terminal gnome abierto que ejecute SSH dentro de él.

Después de leer sobre las cosas de XDG, hice lo siguiente:

Creé un script de shell en $ HOME / bin / ssh-terminal con lo siguiente:

#!/bin/sh
dest=${1#ssh://}
gnome-terminal -e "ssh $dest" &

Esto funciona desde la línea de comando.

Creé $ HOME / .local / share / aplicaciones / ssh-terminal.desktop con:

[Desktop Entry]
Type=Application
Name=SSH Terminal
Exec=ssh-terminal %u
Icon=utilities-terminal
StartupNotify=false
MimeType=x-scheme-handler/ssh;

corrí update-desktop-database ~/.local/share/applications/

Ahora cuando intento ejecutar xdg-open ssh://user@hostnameme sale el siguiente error:

$ xdg-open ssh://[email protected]
gvfs-open: sftp://[email protected]/: error opening location: The specified location is not mounted

¡No quiero abrirlo como un montaje sftp y parece que no puedo encontrar dónde está configurado!

¿A donde voy desde aqui?

Zan Lynx
fuente

Respuestas:

7

Escribir un .desktoparchivo no es suficiente. También debe cambiar la configuración predeterminada para el tipo mime.

Puede obtener el valor predeterminado actual con

 xdg-mime query default x-scheme-handler/ssh

y puede cambiarlo con

 xdg-mime default ssh-terminal.desktop x-scheme-handler/ssh

El archivo de configuración correspondiente puede ser $HOME/.config/mimeapps.listo $HOME/.local/share/applications/mimeapps.listdepende de la versión de su sistema operativo.

jofel
fuente
Perdón por el retraso aceptar. Esto no funcionó cuando hice la pregunta, pero lo intenté últimamente y ahora funciona. Gracias.
Zan Lynx
Para mantener esta excelente respuesta temporalmente relevante, en Ubuntu 18.04 LTS, el archivo de configuración correspondiente ahora está en $HOME/.config/mimeapps.list. Al menos para mí, el que aparece aquí ~/.local/share/applicationses de 0 bytes.
Michael Campbell
@MichaelCampbell gracias, actualicé la respuesta.
jofel
1

Nada de esto funcionó para mí hasta que edité el siguiente archivo y eliminé la SchemeAliaslínea en/usr/share/gvfs/mounts/sftp.mount

[Mount]
Type=sftp
Exec=/usr/lib/gvfs/gvfsd-sftp
AutoMount=false
Scheme=sftp
# SchemeAliases=ssh
DefaultPort=22
HostnameIsInetAddress=true
usuario3559338
fuente
Para cualquiera que se encuentre con esto (lo hice), debe reiniciar Gnome / Unity / Cinnamon para que esto surta efecto. Si no sabes cómo, reiniciar tu computadora debería ser suficiente.
ocket8888