如何设置默认程序在特定文件夹中打开某种文件类型?

除了作为pandas,我也是一名艺术家,我主要在GIMP中制作我的作品,并将我的照片保存到计算机上的某个目录中。 但是我有一些轻微的不便,因为我以jpeg格式保存我的图像,但是打开jpeg的默认程序是Image Viewer ,如果我为了方便我的艺术作品将其更改为GIMP ,则意味着所有其他的jpeg s on我的电脑在GIMP打开了,我不希望它们这样,这就是问题的开始……

所以我想知道是否有任何方法可以使所有jpeg在我的计算机上的某个目录中打开,在GIMP打开,但其他所有其他jpegImage Viewer打开?

您需要一个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 %f中的用户

       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_path更改为您的图稿文件夹。 还考虑了所有子文件夹。

    • open_with_special更改为您的特殊应用程序(例如gimp

    • 使您的包装器脚本可执行

       chmod +x ~/bin/jpeg-wrapper 
  3. 重新启动Unity / GNOME Shell,对于GNOME Shell,例如AltF2 ,输入rEnter

  4. 将一个或多个文件类型与桌面文件相关联

    • 打开文件管理器,右键单击要应用决策的文件

    • 单击属性

    • 激活“ 打开方式 ”选项卡

    • 选择条目特殊或标准

    • 单击“ 设为默认值”

  5. 享受;)

脚本在这里检查。