Wie überschreibe ich den Gnome 3 SSH-Handler?

11

Ich möchte in der Lage sein, auf SSH-Links zu klicken, die aussehen ssh://user@servernameund ein Gnome-Terminal geöffnet haben, in dem SSH ausgeführt wird.

Nachdem ich mich über die XDG-Inhalte informiert hatte, habe ich Folgendes getan:

Ich habe ein Shell-Skript in $ HOME / bin / ssh-terminal mit folgendem erstellt:

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

Dies funktioniert über die Befehlszeile.

Ich habe $ HOME / .local / share / applications / ssh-terminal.desktop erstellt mit:

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

ich rannte update-desktop-database ~/.local/share/applications/

Wenn ich jetzt versuche auszuführen, xdg-open ssh://user@hostnameerhalte ich die folgende Fehlermeldung:

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

Ich glaube nicht , will es als SFTP öffnen montieren und ich kann nicht scheinen zu finden , wo dieser Satz ist!

Wohin gehe ich von hier aus?

Zan Lynx
quelle

Antworten:

7

Das Schreiben einer .desktopDatei reicht nicht aus. Sie müssen auch die Standardeinstellung für den MIME-Typ ändern.

Sie können den aktuellen Standardwert mit abrufen

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

und kann es mit ändern

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

Die entsprechende Konfigurationsdatei ist $HOME/.local/share/applications/mimeapps.list.

Jofel
quelle
Entschuldigung für die verspätete Annahme. Das hat zu dem Zeitpunkt, als ich die Frage gestellt habe, nicht funktioniert, aber ich habe es kürzlich versucht und jetzt. Vielen Dank.
Zan Lynx
1

Nichts davon funktionierte für mich, bis ich die folgende Datei bearbeitet und die SchemeAliasZeile entfernt habe/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
quelle
Für alle, die darauf stoßen (ich habe es getan), müssen Sie Gnome / Unity / Cinnamon neu starten, damit dies wirksam wird. Wenn Sie nicht wissen, wie, sollte ein Neustart Ihres Computers den Trick tun.
ocket8888