Found the answer elsewhere. The .desktop file needs to be named EXACTLY the same as the binary that's launching.
Mine was something like eclipse_ide.desktop and the binary that runs is just "eclipse". Gnome shell does not seem to like that.
Some Gnome applications are launched by systemd --user
, in which case umask is set by systemd to 0022
regardless of the configured value for pam_umask. I am not aware of any workarounds, but I opened an issue on systemd github issue tracker. This issue is also reported on Gnome bugzilla.
Umask set using pam_umask
is working as expected for applications which are not launched by systemd --user
.
One workaround is suggested on Ubuntu bugzilla to place systemd service overrides to all affected applications.
Update: pam_umask should work as expected for systemd version 246 and newer. Newer distribution releases should ship with a version where the bug is fixed.
To investigate this yourself
You can list the processes running on your system in a tree format (parent/child processes) using:
pstree -Tapu
Find PIDs for: (1) your session's instance of systemd --user; (2) an application launched by it, such as gedit, which will show as child process to systemd --user; and (3) a process in your session not launched by systemd --user.
Compare umasks reported in procfs:
grep Umask /proc/<pid>/status
systemd --user itself (1) and processes not launched by it (3) should have the correct umask which was set by pam_umask. Processes launched by systemd --user (2) will have umask of 0022
.
Best Answer
There is the answer: http://forums.fedoraforum.org/showthread.php?t=263501
I have Gnome3 and there is "Open with" pane :) You also go to proporties and there is "Open with" tab.
Edit: You should look on https://bbs.archlinux.org/viewtopic.php?id=118966. Your applications should show on list, if you add a *.desktop file associated with your application to /usr/share/applications or ~.local/share/applications/ directory. Exec should like this: Exec=yourprogram %U