我希望能够单击 SSH 链接,该链接看起来像ssh://user@servername
并且打开了一个在其中运行 SSH 的 gnome 终端。
在阅读了 XDG 的内容后,我做了以下事情:
我在 $HOME/bin/ssh-terminal 中创建了一个 shell 脚本,内容如下:
#!/bin/sh
dest=${1#ssh://}
gnome-terminal -e "ssh $dest" &
这可以通过命令行进行。
我使用以下命令创建了 $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;
我跑了update-desktop-database ~/.local/share/applications/
现在,当我尝试运行时,xdg-open ssh://user@hostname
出现以下错误:
$ xdg-open ssh://[email protected]
gvfs-open: sftp://[email protected]/: error opening location: The specified location is not mounted
我不想将其作为 sftp 安装打开,但我似乎找不到它的设置位置!
我该去哪里?
答案1
写一个.desktop
文件是不够的。您还需要更改 mime 类型的默认设置。
您可以使用以下命令获取当前默认值
xdg-mime query default x-scheme-handler/ssh
并可以改变它
xdg-mime default ssh-terminal.desktop x-scheme-handler/ssh
相应的配置文件可能$HOME/.config/mimeapps.list
取决于 $HOME/.local/share/applications/mimeapps.list
您的操作系统版本。
答案2
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