Come sovrascrivere il gestore SSH di Gnome 3?


11

Vorrei poter fare clic sui collegamenti SSH che sembrano ssh://user@servernamee avere un terminale gnome aperto che esegue SSH al suo interno.

Dopo aver letto le cose su XDG ho fatto quanto segue:

Ho creato uno script di shell in $ HOME / bin / ssh-terminal con il seguente:

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

Funziona dalla riga di comando.

Ho creato $ HOME / .local / share / applicazioni / 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;

mi sono imbattuto update-desktop-database ~/.local/share/applications/

Ora quando provo a eseguire xdg-open ssh://user@hostnameottengo il seguente errore:

$ xdg-open ssh://buildbot@10.16.50.74
gvfs-open: sftp://buildbot@10.16.50.74/: error opening location: The specified location is not mounted

Non voglio aprirlo come mount sftp e non riesco a trovare dove si trova!

Dove vado da qui?

Risposte:


7

Scrivere un .desktopfile non è abbastanza. È inoltre necessario modificare l'impostazione predefinita per il tipo mime.

È possibile ottenere il valore predefinito corrente con

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

e può cambiarlo con

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

Il file di configurazione corrispondente potrebbe essere $HOME/.config/mimeapps.listo in $HOME/.local/share/applications/mimeapps.listbase alla versione del tuo sistema operativo.


Mi dispiace per l'accettazione tardiva. Questo non ha funzionato al momento in cui ho posto la domanda, ma ci ho provato di recente e ora funziona. Grazie.
Zan Lynx,

Per mantenere questa eccellente risposta temporalmente rilevante, in Ubuntu 18.04 LTS, il file di configurazione corrispondente è ora in $HOME/.config/mimeapps.list. Almeno per me, quello elencato qui ~/.local/share/applicationsè 0 byte.
Michael Campbell,

@MichaelCampbell grazie, ho aggiornato la risposta.
Jofel il

1

Niente di tutto questo ha funzionato per me fino a quando non ho modificato il seguente file e rimosso la SchemeAliasriga/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

Per chiunque lo incontri (l'ho fatto), è necessario riavviare Gnome / Unity / Cinnamon affinché questo abbia effetto. Se non sai come, riavviare il computer dovrebbe fare il trucco.
ocket8888,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.