Глобально связать тип файла с определенным приложением

Глобально связать тип файла с определенным приложением

Мне не нужен "Ubuntu-tweak", и я знаю о методе GUI для связывания определенных файлов с определенными приложениями с помощью щелчка правой кнопкой мыши и "Открыть с помощью". У меня возникла проблема с глобальной настройкой ассоциации типов файлов в файле:

/usr/share/gnome/applications/defaults.list

Например:

image/x-psd=gimp.desktop

Если я хочу открыть все PSD в Photoshop, я создал файл photoshop.desktop и поместил его в /usr/share/applications. Теперь, когда я нажимаю клавишу Super (Windows) и набираю Photoshop, я вижу этот значок, но не могу:

  1. Перетащите это на мой рабочий стол. Как это сделать?
  2. если я меняю image/x-psd=gimp.desktopна image/x-psd=photoshop.desktopон все равно открывается в gimp. Почему?

Заранее спасибо.

решение1

Решил свою проблему сам.

Файл /etc/gnome/defaults.listпереопределяется ~/.local/share/applications/mimeapps.list, поэтому все ассоциации файлов относятся к mimeapps.listфайлу:

[Default Applications]
image/vnd.adobe.photoshop=wine-extension-8bs.desktop

В этом примере я установил открытие .psdв Photoshop через Wine. Если я зайду /etc/gnome/defaults.listи добавлю:

image/vnd.adobe.photoshop=gimp.desktop

Он не открывается .psdв Gimp, потому что был переопределен mimeapps.list. Потратил несколько часов, чтобы разобраться, лол.

решение2

Некромантия.
Вот что мне помогло:

добавил нужное мне приложение в /usr/share/applications.

sudo gedit /usr/share/applications/bash.desktop

Скопируйте и вставьте из Терминала (gnome-terminal.desktop) и замените gnome-terminal на bash:

[Desktop Entry]
Name=Bash
Comment=Use the command line
Keywords=shell;prompt;command;commandline;cmd;bash;
TryExec=bash
Exec=bash
Icon=utilities-terminal
Type=Application
X-GNOME-DocPath=gnome-terminal/index.html
X-GNOME-Bugzilla-Bugzilla=GNOME
X-GNOME-Bugzilla-Product=bash
X-GNOME-Bugzilla-Component=BugBuddyBugs
X-GNOME-Bugzilla-Version=3.18.3
Categories=GNOME;GTK;System;TerminalEmulator;
StartupNotify=true
X-GNOME-SingleWindow=false
OnlyShowIn=GNOME;Unity;
Actions=New
X-Ubuntu-Gettext-Domain=bash

[Desktop Action New]
Name=New Shell
Exec=bash
OnlyShowIn=Unity

Теперь свяжите приложение с shell-scripts.
Для этого отредактируйте mimeapps.list:

gedit ~/.local/share/applications/mimeapps.list 

Добавьте следующие строки в конце (после всех записей в разделе [Приложения по умолчанию]):

[Added Associations]
application/x-shellscript=bash.desktop

Теперь в "File Manager" (он же nautilus) найдите один из файлов, который вы хотите открыть. Выберите "Properties". На вкладке "open with" выберите reset.

И вуаля, теперь скрипты Shell будут открываться в bash, если дважды щелкнуть мышью.

решение3

Вы можете добавить %Uв [Exec]поле.

Бывший:[Exec] = command %U

Когда вы открываете файл с помощьюОткрыть с, список приложений показывает это приложение. После открытия оно будет сохранено как приложение по умолчанию.

Связанный контент