web-dev-qa-db-ja.com

カスタムコマンドを使用してファイルを開く

geditアプリケーションは、テキストファイルのデフォルトアプリケーションとして設定されます。 /usr/binに実行権限を持つスクリプトがある場合、Nautilusまたはxdg-openを使用してテキストファイルを開いたときにそのスクリプトを実行するように設定するにはどうすればよいですか?

/usr/bin/foo

echo "Works!"
gedit $*

foo my_text_fileを実行すると、Works!メッセージが表示され、geditが実行されます。このfooスクリプトをデフォルトのアプリケーションとして実行するように設定するにはどうすればよいですか?

6
Ionică Bizău

クリーンな方法は、スクリプト用の.desktopファイルを作成し、それをデフォルトのテキストエディターにすることです。

  1. 次の内容の/usr/share/applications/foo.desktopというファイルを作成します。

    [Desktop Entry]
    Name=foo
    Exec=/usr/bin/foo.sh %U
    Terminal=false
    Type=Application
    MimeType=text/plain;
    
  2. text/plain mimetypeのデフォルトプログラムにします。

    xdg-mime default foo.desktop "text/plain" 
    

汚いハックとして、単にスクリプトgeditを呼び出すこともできます。

Sudo mv /usr/bin/gedit /usr/bin/gedit.orig
Sudo mv /path/to/yourscript.sh /usr/bin/gedit

次に、スクリプトで元のコードを呼び出します。

echo "Works!"
/usr/bin/gedit.original "$@"
9
terdon