|Summary:||gnome-base/gnome-3.4.1: default file manager is random (any .desktop file that has "inode/directory" in MimeType)|
|Product:||Gentoo Linux||Reporter:||Juergen Rose <rose>|
|Component:||[OLD] GNOME||Assignee:||Gentoo Linux Gnome Desktop Team <gnome>|
|Package list:||Runtime testing required:||---|
|Attachments:||settings for removable media|
Description Juergen Rose 2012-11-06 16:21:32 UTC
If I try to show a VM with file manager (in german: Maschine -> Im Dateimanager zeigen) audacious is started. In ~/.local/share/applications/mimeapps.list I have the following: rose@leopard:/home_leopard/rose(25)$ cat ~/.local/share/applications/mimeapps.list [Default Applications] x-scheme-handler/mailto=userapp-Evolution-P4YAJW.desktop [Added Associations] x-scheme-handler/mailto=userapp-Evolution-P4YAJW.desktop; .local/share/applications/mimeinfo.cache is almost empty: rose@leopard:/home/rose(131)$ cat .local/share/applications/mimeinfo.cache [MIME Cache] rose@leopard:/home/rose(129)$ ll .local/share/applications/ insgesamt 12 -rw-r----- 1 rose rose 160 28. Aug 20:49 mimeapps.list -rw-r----- 1 rose rose 13 28. Aug 20:49 mimeinfo.cache -rw-r----- 1 rose rose 167 28. Aug 20:49 userapp-Evolution-P4YAJW.desktop Under "upper right corner" -> Systemeinstellungen -> Details -> Vorgabe-Anwendungen (default application) there are only application for Web, E-Mail, Kalendar, Musik, Video and Fotos. There is not any audacious entry. 'gconftool-2 -R / | grep audacious' does not find anything: rose@leopard:/home/rose(157)$ gconftool-2 -R / | grep audacious rose@leopard:/home/rose(158)$ I can't neither find and audacious entry with the search function of gconf-editor. Is there any idea, where 'audacious' could be configured as the application for openning of VMs or directories?
Comment 1 Gilles Dartiguelongue 2012-11-06 16:45:28 UTC
Audacious most likely lists x-directory or something like this in its .desktop file. This might be fine or it might be not but in order to fix it, you just have to explicitely set the default to nautilus. [Added Associations] inode/directory=nautilus.desktop should do the job
Comment 2 Gilles Dartiguelongue 2012-11-06 16:45:57 UTC
oh and since you have a cache, you should probably delete it (it will be auto-regenerated if needed).
Comment 3 Alexandre Rostovtsev (RETIRED) 2012-11-06 17:15:38 UTC
I have in the past run into the same problem with other applications that have "inode/directory" in the MimeType entry in their .desktop file. It is annoying, and I imagine it's quite mystifying for an average user. I wonder if there is something we can do so that nautilus is chosen as the default node/directory handler in a gnome session (but not in kde etc.) unless the user had explicitly chosen a different file manager in his mimeapps.list
Comment 4 Pacho Ramos 2012-11-06 20:03:21 UTC
nautilus is already chosen as default in: /usr/share/gnome/applications/defaults.list this functionality is provided by gnome-session... at least for gnome-2.32, no idea is this has been changed in gnome3 :/
Comment 5 Alexandre Rostovtsev (RETIRED) 2012-11-06 20:41:33 UTC
(In reply to comment #4) > nautilus is already chosen as default in: > /usr/share/gnome/applications/defaults.list This is still present in gnome-session-3, but at least with glib-2.32, it will have no effect unless /usr/share/gnome is in XDG_DATA_DIRS
Comment 6 Pacho Ramos 2012-11-06 21:01:53 UTC
(In reply to comment #5) > (In reply to comment #4) > > nautilus is already chosen as default in: > > /usr/share/gnome/applications/defaults.list > > This is still present in gnome-session-3, but at least with glib-2.32, it > will have no effect unless /usr/share/gnome is in XDG_DATA_DIRS It was covered by: /etc/X11/xinit/xinitrc.d/15-xdg-data-gnome but looks to be non working now :S $ echo $XDG_DATA_DIRS /usr/local/share:/usr/share:/usr/share/gdm
Comment 7 Gilles Dartiguelongue 2012-11-06 22:00:58 UTC
ah, that would explain the re-occurence of this problem then :(
Comment 8 Alexandre Rostovtsev (RETIRED) 2012-11-07 07:14:20 UTC
Done a bit more testing: 15-xdg-data-gnome does get correctly run by gdm, and every process launched from gnome-session (gnome-shell etc.) has XDG_DATA_DIRS=/usr/share/gnome:/usr/local/share:/usr/share:/usr/share/gdm in its environment. Therefore, as long as you launch programs from gnome-shell's application chooser, everything works beautifully. But gnome-terminal for whatever reason runs bash as a login shell, so XDG_DATA_DIRS gets overwritten by env.d settings, so anything launched from the terminal will indeed use a random inode/directory handler instead of nautilus. Other terminals (e.g. xterm) don't seem to run bash as a login shell, and therefore use the correct value of XDG_DATA_DIRS.
Comment 9 Gilles Dartiguelongue 2012-11-07 08:10:54 UTC
Hum, there was a time when we had an env.d file for similar reasons. Can somebody remember why this got moved to xinitrc.d ? Most likely to not overstep other desktops default.list, but I can't find a mention of the relevant bug report ?
Comment 10 Pacho Ramos 2012-11-07 18:17:32 UTC
(In reply to comment #9) > Hum, there was a time when we had an env.d file for similar reasons. Can > somebody remember why this got moved to xinitrc.d ? Most likely to not > overstep other desktops default.list, but I can't find a mention of the > relevant bug report ? I am sure this was intentional (and probably done by me) because it needs to be done only when: if [ "$DESKTOP_SESSION" = "gnome" ]; then and that kind of stuff cannot be included inside /etc/env.d On the other hand, do you remember why we force gnome-terminal to run as login shell? This is inherited for years and I can't see a reason, upstream defaults to the opposite and no major distribution is changing this behavior as we are doing.
Comment 11 Gilles Dartiguelongue 2012-11-07 19:07:18 UTC
I have not f* clue about that either :)
Comment 12 Juergen Rose 2012-11-09 11:13:31 UTC
To comment 1: Thanks Gilles for your hint. I added with a editor inode/directory=nautilus.desktop to [Added Associations] in ~/.local/share/applications/mimeapps.list. Is this the right way for an average user? Now nautilus is started, if I try to show a VM with file manager in VirtualBox. Maybe I can ask an additional question. Nautilus is also started if I insert a USB stick (instead of audacious, as before), which is a little bit better as before. But I am not asked, what to do, which is configured under: Upper Right Corner -> Settings -> Details -> Removable Media. For all media is set "Ask what to do" or in german "Nachfragen, was geschehen soll", see the attached image.
Comment 13 Juergen Rose 2012-11-09 11:14:36 UTC
Created attachment 329002 [details] settings for removable media
Comment 14 Gilles Dartiguelongue 2012-11-09 15:14:33 UTC
There is most likely some kind of magic from a regular gnome env missing for that. How are you starting your session ?
Comment 15 Juergen Rose 2012-11-09 15:47:40 UTC
I boot linux without graphics. Login at the console as root and start gdm. Then I login as user rose in a gnome session. The gnome-3.4.1 desktop is then started in fallback mode (due to NVIDIA Corporation GF119 [GeForce GT 520]).
Comment 16 Gilles Dartiguelongue 2012-11-09 17:03:37 UTC
So you actually login as user rose via gdm ? You start gdm from the initscrit right ?
Comment 17 Juergen Rose 2012-11-10 10:04:33 UTC
Yes, I am logged in as user rose via gdm. No, I doesn not start gdm from the initscript. I started gdm as user root from the command line.
Comment 18 Juergen Rose 2012-11-13 10:27:47 UTC
There is a similar problem with the HTML help inside R, if I do inside R 'help.start()' "links" is started as the HTML browser, which is not intended. Under "upper right corner"->"systems settings"->"details"->"default applications" is firefox configured as default web application. What is still working anyway with 'help.start()' does not work with 'RSiteSearch("something"), because links ignores the proxy system settings. In ~/.local/share/applications/mimeapps.list I have: rose@leopard:/home_leopard/rose(6)$ cat ~/.local/share/applications/mimeapps.list [Default Applications] x-scheme-handler/mailto=userapp-Evolution-P4YAJW.desktop [Added Associations] x-scheme-handler/mailto=userapp-Evolution-P4YAJW.desktop; inode/directory=nautilus.desktop After running "xdg-mime default firefox.desktop x-scheme-handler/http x-scheme-handler/https" the contents of ~/.local/share/applications/mimeapps.list changes to: rose@leopard:/home_leopard/rose(8)$ cat ~/.local/share/applications/mimeapps.list [Default Applications] x-scheme-handler/mailto=userapp-Evolution-P4YAJW.desktop x-scheme-handler/http=firefox.desktop x-scheme-handler/https=firefox.desktop [Added Associations] x-scheme-handler/mailto=userapp-Evolution-P4YAJW.desktop; inode/directory=nautilus.desktop Now the intended browser is started inside R. But I do not understand why the settings in "upper right corner"->"systems settings"->"details" are ignored.
Comment 19 Pacho Ramos 2012-11-17 13:40:15 UTC
(In reply to comment #11) > I have not f* clue about that either :) It's due bug 12900, not sure how to proceed and what we prefer to lose :/
Comment 20 Pacho Ramos 2012-11-18 08:40:11 UTC
(In reply to comment #19) > (In reply to comment #11) > > I have not f* clue about that either :) > > It's due bug 12900, not sure how to proceed and what we prefer to lose :/ But, people can simply move things from their .bash_profile to .bashrc as "man bash" suggests... then this wouldn't be a problem and we could revert gnome-terminal to not be a login shell as upstream and other distros do
Comment 21 Juergen Rose 2012-11-19 12:27:45 UTC
> But, people can simply move things from their .bash_profile to .bashrc I thought that .bash_profile is for the initialisation, you want to perform, when you login the first time into a terminal, while .bashrc is for the initialisation which should be done, if an additional bash is started inside a running bash.
Comment 22 Pacho Ramos 2012-11-24 10:49:13 UTC
+*gnome-terminal-2.32.1-r1 (24 Nov 2012) +*gnome-terminal-126.96.36.199-r1 (24 Nov 2012) + + 24 Nov 2012; Pacho Ramos <email@example.com> +gnome-terminal-2.32.1-r1.ebuild, + +gnome-terminal-188.8.131.52-r1.ebuild, -gnome-terminal-184.108.40.206.ebuild: + Stop defaulting to enable login shell as it causes problems (#442062 by + Juergen Rose), with this we revert to upstream (and most distributions) + default setting. + For remaining bugs please open a new bug report. Also, note this changes the default, if you are still seeing the variable to be overwritten, please check you don't have that option enabled in your gnome-terminal preferences