
私はSSHリンクをクリックしてssh://user@servername
SSHを実行しているGNOME端末を開くことができるようにしたいです。
XDGのコンテンツを読んだ後、次のことを行いました。
$HOME/bin/ssh-terminalに次の内容でシェルスクリプトを作成しました。
#!/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