如何设置默认程序以打开特定文件夹中的特定文件类型?


21

作为熊猫,我也是一名艺术家,我主要使用GIMP制作艺术品,并将图片保存到计算机上的某个目录中。但是,我有一点不便,因为我将图像保存为jpeg格式,但是打开jpegs 的默认程序是Image Viewer,如果GIMP为了方便使用图稿而将其更改为,则意味着jpeg计算机上的所有其他s 都将在中打开GIMP,并且我不希望他们这样做,所以这就是问题的开始...

所以我想知道是否有什么办法可以使jpeg在我计算机上该目录中打开的GIMP所有文件都打开,而在其他jpeg地方打开的所有其他文件都可以打开Image Viewer


仅用于Nautilus / Files还是用于xdg-open
AB

@AB:如果可以的话,我会说两个。

对于xdg-open终端,您必须更改图像的模仿类型。
AB

或者,您也可以在我的答案中使用带有完整图像路径的脚本。
AB

4
切勿.jpeg用作中间格式!这会导致发电损失。您为什么不只将图像另存为.xcf,而GIMP总是自动将其打开?
大约

Answers:


21

您需要一个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;
      
    • 替换userExec=/home/user/bin/jpeg-wrapper %f与您的用户名,输出

      echo $USER
      
    • 将图标名称替换Icon=为您选择的名称或路径

    • 使用MimeType=image/jpeg指定的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,例如Alt- F2,键入rEnter

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

    • 打开文件管理器,然后右键单击要应用该决定的文件

    • 请点击 Properties

    • 激活标签 Open With

    • 选择条目 Special or Standard

    • 请点击 Set as default

  5. 享受;)

脚本在这里检查。


我将Name值更改为什么有关系吗?

不,可以根据需要更改名称。
AB

另外,您的脚本有一个小问题...嗯...我的图稿文件夹中的所有文件现在都可以在GIMP中正常打开,所有子目录都可以打开,但是如果文件不在该区域中,则不会打开完全没有

我来检查一下。
AB

好的,既然您删除了无限循环,它就可以正常工作。;)
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.