Comment remplacer le gestionnaire SSH Gnome 3?

11

Je voudrais être en mesure de cliquer sur les liens SSH qui ressemblent ssh://user@servernameet ont une ouverture gnome-terminal qui exécute SSH à l' intérieur de celui - ci.

Après avoir lu les trucs XDG, j'ai fait ce qui suit:

J'ai créé un script shell dans $ HOME / bin / ssh-terminal avec ce qui suit:

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

Cela fonctionne à partir de la ligne de commande.

J'ai créé $ HOME / .local / share / applications / ssh-terminal.desktop avec:

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

L'Iran update-desktop-database ~/.local/share/applications/

Maintenant, quand j'essaye de courir, xdg-open ssh://user@hostnamej'obtiens l'erreur suivante:

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

Je ne veux pas l'ouvrir en tant que montage sftp et je n'arrive pas à trouver où cela est réglé!

Où dois-je aller d'ici?

Zan Lynx
la source

Réponses:

7

Écrire un .desktopfichier ne suffit pas. Vous devez également modifier le paramètre par défaut pour le type MIME.

Vous pouvez obtenir la valeur par défaut actuelle avec

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

et peut le changer avec

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

Le fichier de configuration correspondant peut être $HOME/.config/mimeapps.listou $HOME/.local/share/applications/mimeapps.listselon la version de votre système d'exploitation.

jofel
la source
Désolé pour la fin d'accepter. Cela n'a pas fonctionné au moment où j'ai posé la question, mais je l'ai essayé récemment et c'est le cas maintenant. Merci.
Zan Lynx
Pour conserver cette excellente réponse dans le temps, dans Ubuntu 18.04 LTS, le fichier de configuration correspondant est maintenant dans $HOME/.config/mimeapps.list. Au moins pour moi, celui répertorié ici ~/.local/share/applicationsest de 0 octet.
Michael Campbell
@MichaelCampbell merci, j'ai mis à jour la réponse.
jofel
1

Rien de tout cela n'a fonctionné pour moi jusqu'à ce que j'édite le fichier suivant et supprime la SchemeAliasligne/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
user3559338
la source
Pour quiconque rencontre cela (je l'ai fait), vous devez redémarrer Gnome / Unity / Cinnamon pour que cela prenne effet. Si vous ne savez pas comment, le redémarrage de votre ordinateur devrait faire l'affaire.
ocket8888