Bagaimana cara mengganti handler Gnome 3 SSH?


11

Saya ingin dapat mengklik tautan SSH yang terlihat seperti ssh://user@servernamedan memiliki gnome-terminal terbuka yang menjalankan SSH di dalamnya.

Setelah membaca tentang hal-hal XDG saya melakukan hal berikut:

Saya membuat skrip shell di $ HOME / bin / ssh-terminal dengan yang berikut:

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

Ini bekerja dari baris perintah.

Saya membuat $ HOME / .local / share / application / ssh-terminal.desktop dengan:

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

Saya berlari update-desktop-database ~/.local/share/applications/

Sekarang ketika saya mencoba menjalankan xdg-open ssh://user@hostnamesaya mendapatkan kesalahan berikut:

$ 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

Saya tidak ingin membukanya sebagai mount sftp dan sepertinya saya tidak dapat menemukan di mana itu diatur!

Kemana saya harus pergi dari sini?

Jawaban:


7

Menulis .desktopfile tidak cukup. Anda juga perlu mengubah pengaturan default untuk tipe mime.

Anda bisa mendapatkan nilai default saat ini dengan

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

dan bisa mengubahnya dengan

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

File konfigurasi yang sesuai dapat $HOME/.config/mimeapps.listatau $HOME/.local/share/applications/mimeapps.listtergantung pada versi OS Anda.


Maaf tentang keterlambatan terima. Ini tidak berfungsi pada saat saya mengajukan pertanyaan, tetapi saya baru saja mencobanya akhir-akhir ini dan sekarang. Terima kasih.
Zan Lynx

Agar jawaban yang luar biasa ini relevan untuk sementara, di Ubuntu 18.04 LTS, file konfigurasi yang sesuai sekarang ada di $HOME/.config/mimeapps.list. Setidaknya bagi saya, yang tercantum di sini ~/.local/share/applicationsadalah 0 byte.
Michael Campbell

@MichaelCampbell terima kasih, saya memperbarui jawabannya.
jofel

1

Tak satu pun dari ini bekerja untuk saya sampai saya mengedit file berikut dan menghapus SchemeAliasbaris/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

Bagi siapa pun yang menemukan ini (saya lakukan), Anda harus memulai ulang Gnome / Unity / Cinnamon agar ini berlaku. Jika Anda tidak tahu caranya, me-restart komputer Anda harus melakukan triknya.
ocket8888
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.