當前位置: 首頁>>技術教程>>正文


如何設置默認程序在某個文件夾中打開某種文件類型?

, ,

問題描述

作為 Pandas ,我也是一名藝術家,我主要在 GIMP 中製作我的作品,並將我的圖片保存到我電腦上的某個目錄中。但是我有點不便,因為我將圖像保存為 jpeg 格式,但是打開 jpeg s 的默認程序是 Image Viewer ,如果為了方便我的作品而將其更改為 GIMP ,這意味著我的所有其他 jpeg s計算機在 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 中的 user 替換為您的用戶名,輸出

      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. 將一種或多種文件類型與桌麵文件相關聯

    • 打開文件管理器並右鍵單擊要應用的文件

    • 點擊 Properties

    • 激活選項卡 Open With

    • 選擇條目 Special or Standard

    • 點擊 Set as default

  5. 享受 😉

腳本檢查 here

參考資料

本文由Ubuntu問答整理, 博文地址: https://ubuntuqa.com/zh-tw/article/12646.html,未經允許,請勿轉載。