如何覆盖 Gnome 3 SSH 处理程序?

Zan*_*ynx 12 gnome3 gvfs

我希望能够单击看起来像的 SSH 链接,ssh://user@servername并打开一个在其中运行 SSH 的 gnome 终端。

在阅读了 XDG 的内容后,我执行了以下操作:

我在 $HOME/bin/ssh-terminal 中创建了一个 shell 脚本,内容如下:

#!/bin/sh
dest=${1#ssh://}
gnome-terminal -e "ssh $dest" &
Run Code Online (Sandbox Code Playgroud)

这是从命令行工作的。

我创建了 $HOME/.local/share/applications/ssh-terminal.desktop :

[Desktop Entry]
Type=Application
Name=SSH Terminal
Exec=ssh-terminal %u
Icon=utilities-terminal
StartupNotify=false
MimeType=x-scheme-handler/ssh;
Run Code Online (Sandbox Code Playgroud)

我跑了 update-desktop-database ~/.local/share/applications/

现在,当我尝试运行时xdg-open ssh://user@hostname,出现以下错误:

$ 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
Run Code Online (Sandbox Code Playgroud)

不想将它作为 sftp 安装打开,而且我似乎找不到它的设置位置!

我从这里去哪里?

jof*_*fel 7

写一个.desktop文件是不够的。您还需要更改 mime 类型的默认设置。

您可以使用以下命令获取当前默认值

 xdg-mime query default x-scheme-handler/ssh
Run Code Online (Sandbox Code Playgroud)

并且可以改变它

 xdg-mime default ssh-terminal.desktop x-scheme-handler/ssh
Run Code Online (Sandbox Code Playgroud)

相应的配置文件可能是$HOME/.config/mimeapps.list$HOME/.local/share/applications/mimeapps.list取决于您的操作系统版本。