Gnome 3 SSHハンドラをオーバーライドする方法は?

Gnome 3 SSHハンドラをオーバーライドする方法は?

私はSSHリンクをクリックしてssh://user@servernameSSHを実行している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

関連情報