How to set the default program to open в certain file type in в certain folder?

Эксперт well эксперт being в Панду I am also an artist, I make my artwork mostly in GIMP and save my pictures to в certain directory on my computer. However I have в slight inconvenience because I save my images in jpeg format, however the default program to open jpegs is the Image Viewer, and if I change it to GIMP for convenience with my artwork, it means that all the other jpegs on my computer open in GIMP, and I don't want them to so this is where the problem begins...

So I am wondering if there is any way to make it so that all jpegs opened in that certain directory on my computer open in GIMP, but all other jpegs elsewhere open in the Image Viewer?

21
задан 28 December 2015 в 19:18

1 ответ

Вам нужен a 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;
      
    • Замена user в Exec=/home/user/bin/jpeg-wrapper %f с Вашим именем пользователя, выводом

      echo $USER
      
    • Замените имя значка в Icon= с именем или путем по Вашему выбору

    • Использовать MimeType=image/jpeg указывать типы пантомимы файлов, для которых состоит в том, чтобы применяться решение. Разделите несколько типов пантомимы через ;

      Получите тип пантомимы через

      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. Единица/GNOME перезапуска Shell, для Shell GNOME, например, Alt-F2, вводит r и Войдите

  4. Свяжите одни или несколько типов файлов с файлом на рабочем столе

    • Откройте свой файловый менеджер и щелчок правой кнопкой по файлу, для которого состоит в том, чтобы применяться решение

    • Нажмите Properties

    • Активируйте вкладку Open With

    • Выберите запись, Особенную или Стандартную

    • Нажмите установленный по умолчанию

  5. Наслаждаться ;)

Сценарий проверяется здесь.

21
ответ дан 23 November 2019 в 01:44

Другие вопросы по тегам:

Похожие вопросы: