I don't need "Ubuntu-tweak" and i know about GUI method of associating certain files with certain applications using right click and "Open with". I am having problem setting filetype association globally in a file:
/usr/share/gnome/applications/defaults.list E.g.:
image/x-psd=gimp.desktop If i want to open all PSD's in a photoshop, i have created photoshop.desktop file and placed it under /usr/share/applications. Now when i press Super (windows) key and type Photoshop i see that icon, but i can't:
- drag'n'drop that on my desktop. How can i do that?
- if i change
image/x-psd=gimp.desktoptoimage/x-psd=photoshop.desktopit still opens in a gimp. Why?
Thanks in advance.
13 Answers
Solved my issue myself.
File /etc/gnome/defaults.list are overriden by ~/.local/share/applications/mimeapps.list, so all file association goes in to mimeapps.list file:
[Default Applications] image/vnd.adobe.photoshop=wine-extension-8bs.desktop In this example i've set to open .psd in a Photoshop through Wine. If i go in to /etc/gnome/defaults.list and add:
image/vnd.adobe.photoshop=gimp.desktop It won't open .psd in a gimp, because it got overriden by mimeapps.list. Spent few hours to figure that out lol.
1Necromancing.
This is what worked for me:
added my desired application to /usr/share/applications.
sudo gedit /usr/share/applications/bash.desktop Copy-paste over from Terminal (gnome-terminal.desktop), and replace gnome-terminal with 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 Now associate the application with shell-scripts.
To do so, edit mimeapps.list:
sudo gedit ~/.local/share/applications/mimeapps.list Add the following lines at the end (after all entries in section [Default Applications]):
[Added Associations] application/x-shellscript=bash.desktop Now in "File Manager" (aka nautilus), browse to one of the files you want to open. Choose "Properties". In the "open with"-tab, choose reset.
And voilà, Shell scripts will now be opened by bash, if you double-click with the mouse.
You can append %U in the [Exec] field.
Ex:[Exec] = command %U
When you open a file with Open with, application list show that application. Once opened it will be saved as default application.