Як встановити програму за замовчуванням для відкриття певного типу файлів у певній папці?


21

Окрім того, що я є пандою, я також є художником, я створюю свої твори переважно в GIMP і зберігаю свої фотографії у певному каталозі на моєму комп’ютері. Однак у мене є невеликі незручності, оскільки я зберігаю свої зображення у jpegформаті, проте програма за замовчуванням для відкриття jpegs - це Image Viewerта, якщо я зміню це на GIMPзручність для мого ілюстрації, це означає, що всі інші jpegs на моєму комп’ютері відкриваються GIMP, і Я не хочу, щоб вони так почали цю проблему ...

Тож мені цікаво, чи є якийсь спосіб зробити так, щоб усі jpegвідкрилися в тій певній папці на моєму комп’ютері GIMP, а всі інші були jpegвідкриті в Image Viewer?


Лише для Nautilus / файлів чи також xdg-open?
AB

@AB: Я б сказав і те, і інше, якщо це можна зробити.

Бо xdg-openв терміналі вам доведеться змінити міметик своїх зображень.
AB

Або ви також можете використовувати сценарій у моїй відповіді з повним шляхом зображення.
AB

4
Ніколи не використовуйте .jpegяк проміжний формат! Це несе втрати покоління . Чому б ви просто не зберегли зображення як .xcf, яке завжди автоматично відкривається за допомогою GIMP?
Ліворуч близько

Відповіді:


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;
      
    • Замінити userв 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 для оболонки GNOME, наприклад Alt- F2, введіть rтаEnter

  4. Пов’яжіть один або кілька типів файлів з файлом робочого столу

    • Відкрийте менеджер файлів і клацніть правою кнопкою миші на файл, щодо якого має бути застосовано рішення

    • Клацніть Properties

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

    • Виберіть запис Special or Standard

    • Клацніть Set as default

  5. Насолоджуйтесь ;)

Тут перевірено сценарій .


Чи має значення те, на що я змінюю Nameзначення?

Ні, міняйте ім'я так, як хотілося б.
AB

Крім того, у вашого сценарію є невелика проблема ... Гм ... Усі файли в моїй папці із зображеннями тепер відкриваються добре в GIMP, і те саме для всіх підкаталогів, однак якщо файл не знаходиться в цій області, він просто не відкриється зовсім.

Дозвольте мені це перевірити.
AB

Гаразд, це добре працює зараз, коли ви зняли нескінченну петлю. ;)
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.