web-dev-qa-db-ja.com

特定のフォルダ内の特定のファイルタイプを開くようにデフォルトプログラムを設定するにはどうすればよいですか?

私はパンダであると同時にアーティストでもあり、アートワークは主にGIMPで作成し、写真をコンピューターの特定のディレクトリに保存します。ただし、画像をjpeg形式で保存するため、少し不便です。ただし、jpegsを開くデフォルトのプログラムはImage Viewerであり、アートワークの利便性のためにGIMPに変更する場合は、それは私のコンピューター上の他のすべてのjpegsがGIMPで開いていることを意味します。

だから私はそれを作る方法があるのだろうか?私のコンピューター上のその特定のディレクトリで開かれたすべてのjpegsはGIMPで開くが、他のすべてのjpegsはImage Viewerで開くか?

21
user364819

desktopファイルとラッパースクリプトが必要です。

  1. desktopファイル

    • デスクトップファイルを作成する

      nano ~/.local/share/applications/jpeg-wrapper.desktop
      
    • 以下の構成を追加します(Nameのプロパティを変更します)

      [Desktop Entry]
      Name=Special or Standard
      Comment=Open a JPEG depending of the path
      Exec=/home/user/bin/jpeg-wrapper %f
      Icon=
      Terminal=false
      Type=Application
      Categories=Editor;
      StartupNotify=true
      MimeType=image/jpeg;
      
    • Exec=/home/user/bin/jpeg-wrapper %fuserを、次の出力のユーザー名に置き換えます

      echo $USER
      
    • Icon=のアイコン名を任意の名前またはパスに置き換えます

    • MimeType=image/jpegを使用して、決定を適用するファイルのMIMEタイプを指定します。 ;を介して複数のMIMEタイプを分離します

      MIMEタイプを取得する

      mimetype your_file
      

      例えばテキストファイル用

      text/plain
      
  2. ラッパースクリプト

    • 新しいスクリプトを作成する

      mkdir -p ~/bin
      nano ~/bin/jpeg-wrapper
      
    • 以下のコードを追加してください

      #!/usr/bin/env bash
      image_path=$(dirname "$1")
      my_special_path="$HOME/tmp"
      open_with_special="gimp"
      open_with_standard="eog"
      
      if [[ $(mimetype -b "$1") == "image/jpeg" ]] && [[ "$image_path" == "$my_special_path"* ]]; then
              "$open_with_special" "$1"
      else
              "$open_with_standard" "$1"
      fi
      
    • my_special_pathartworkフォルダーに変更します。すべてのサブフォルダーも考慮されます。

    • open_with_specialspecialアプリケーションに変更します(例:gimp

    • ラッパースクリプトを実行可能にする

      chmod +x ~/bin/jpeg-wrapper
      
  3. GNOME Shellの場合、Unity/GNOME Shellを再起動します。 Alt-F2rと入力し、 Enter

  4. 1つ以上のファイルタイプをデスクトップファイルに関連付けます

    • ファイルマネージャーを開き、決定を適用するファイルを右クリックします。

    • クリック Properties

    • タブを有効にする Open With

    • エントリを選択 Special or Standard

    • クリック Set as default

  5. 楽しむ;)

スクリプトがチェックされました ここ

21
A.B.