Je voudrais pouvoir cliquer sur les liens SSH qui ressemblent à ssh://user@servername
et qui ont un terminal gnome ouvert qui exécute SSH à l'intérieur de celui-ci.
Après avoir lu sur 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 command line.
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;
J'ai exécuté update-desktop-database ~/.local/share/applications/
Maintenant, quand j'essaie d'exécuter xdg-open ssh://user@hostname
j'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 sftp mount et je n'arrive pas à find où c'est réglé!
Où vais-je partir d'ici?
L'écriture d'un file .desktop
ne suffit pas. Vous devez également modifier le paramètre par défaut pour le type MIME.
Vous pouvez get la valeur par défaut actuelle
xdg-mime query default x-scheme-handler/ssh
et peut le changer avec
xdg-mime default ssh-terminal.desktop x-scheme-handler/ssh
Le file de configuration correspondant est $HOME/.local/share/applications/mimeapps.list
.
Rien de tout cela n'a fonctionné pour moi jusqu'à ce que j'ai édité le file suivant et supprimé la ligne SchemeAlias:
/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