Como substituir o manipulador SSH do Gnome 3?


11

Gostaria de poder clicar nos links SSH que se parecem ssh://user@servernamee ter um terminal gnome aberto que execute o SSH dentro dele.

Depois de ler as coisas sobre o XDG, fiz o seguinte:

Criei um script de shell em $ HOME / bin / ssh-terminal com o seguinte:

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

Isso funciona a partir da linha de comando.

Criei $ HOME / .local / share / applications / ssh-terminal.desktop com:

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

Eu corri update-desktop-database ~/.local/share/applications/

Agora, quando tento executar xdg-open ssh://user@hostname, recebo o seguinte erro:

$ 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

Eu não quero abri-lo como uma montagem sftp e não consigo encontrar onde isso está definido!

Para onde eu vou daqui?

Respostas:


7

Escrever um .desktoparquivo não é suficiente. Você também precisa alterar a configuração padrão para o tipo MIME.

Você pode obter o valor padrão atual com

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

e pode mudar com

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

O arquivo de configuração correspondente é $HOME/.local/share/applications/mimeapps.list.


Desculpe pela aceitação tardia. Isso não funcionou no momento em que fiz a pergunta, mas apenas tentei recentemente e funciona agora. Obrigado.
Zan Lynx

Para manter esta excelente resposta temporalmente relevante, no Ubuntu 18.04 LTS, o arquivo de configuração correspondente está agora no $HOME/.config/mimeapps.list. Pelo menos para mim, o listado aqui em ~/.local/share/applicationsé 0 bytes.
Michael Campbell

1

Nada disso funcionou para mim até eu editar o arquivo a seguir e remover a SchemeAliaslinha/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

Para quem encontra isso (eu fiz), você precisa reiniciar o Gnome / Unity / Cinnamon para que isso tenha efeito. Se você não sabe como, reiniciar o computador deve fazer o truque.
ocket8888
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.