Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 506336 - xfce-base/exo: exo-preferred-applications fails to write it's settings to ~/.local/share/applications/mimeapps.list (?)
Summary: xfce-base/exo: exo-preferred-applications fails to write it's settings to ~/....
Status: UNCONFIRMED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: AMD64 Linux
: Normal normal (vote)
Assignee: XFCE Team
URL:
Whiteboard: Closed NEEDINFO, waiting for proper s...
Keywords:
Depends on:
Blocks:
 
Reported: 2014-03-31 07:43 UTC by Sergey S. Starikoff
Modified: 2014-04-16 06:21 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
exo-helper-1 --configure strace (exo-helper.strace.gz,46.63 KB, application/gzip)
2014-04-16 06:21 UTC, Sergey S. Starikoff
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Sergey S. Starikoff 2014-03-31 07:43:48 UTC
Using current stable XFce (4.10) I have to keep in system two browsers:
=www-client/opera-12.16_p1860 installed (10:45:23 31.03.2014)
=www-client/firefox-24.4.0 installed (10:52:28 24.03.2014)
my mail client is:
=mail-client/thunderbird-24.4.0 installed (12:21:26 24.03.2014)

The default browser set in XFce settings is firefox and mail client to thunderbird.

But my preferred pdf viewer evince opens hyperlinks from pdf files NOT in firefox/thunderbird, but in opera.

example.pdf is produced by pdflatex from:
example.tex:
…
\href{https://bugs.gentoo.org:443/}{bugs.gentoo.org}
\href{mailto:user@mydomain.ru/}{mail}
…

Another installed pdf viewer (=app-text/zathura-0.2.1) opens hyperlinks from the same pdf as expected in firefox.
Maybe evince tries to use the last installed client?


My system is:
$ einfo 
Portage 2.2.8-r1 (default/linux/amd64/13.0, gcc-4.7.3, glibc-2.17, 3.10.25-aufs x86_64)
=================================================================
System uname: Linux-3.10.25-aufs-x86_64-AMD_Athlon-tm-_II_X2_250_Processor-with-gentoo-2.2
KiB Mem:     1794820 total,     31688 free
KiB Swap:    8000364 total,   7828544 free
Timestamp of tree: Mon, 31 Mar 2014 04:15:01 +0000
ld GNU ld (GNU Binutils) 2.23.2
app-shells/bash:          4.2_p45
dev-java/java-config:     2.2.0
dev-lang/python:          2.7.5-r3, 3.3.3
dev-util/cmake:           2.8.12.2
dev-util/pkgconfig:       0.28
sys-apps/baselayout:      2.2
sys-apps/openrc:          0.12.4
sys-apps/sandbox:         2.6-r1
sys-devel/autoconf:       2.13, 2.69
sys-devel/automake:       1.11.6, 1.12.6, 1.13.4
sys-devel/binutils:       2.23.2
sys-devel/gcc:            4.7.3-r1
sys-devel/gcc-config:     1.7.3
sys-devel/libtool:        2.4.2
sys-devel/make:           3.82-r4
sys-kernel/linux-headers: 3.9 (virtual/os-headers)
sys-libs/glibc:           2.17
Repositories: gentoo local_hdd
ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="* -@EULA"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=native -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /etc/env.d /usr/share/gnupg/qualified.txt /var/bind"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5.4/ext-active/ /etc/php/apache2-php5.5/ext-active/ /etc/php/cgi-php5.4/ext-active/ /etc/php/cgi-php5.5/ext-active/ /etc/php/cli-php5.4/ext-active/ /etc/php/cli-php5.5/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-march=native -O2 -pipe"
DISTDIR="/usr/portage/distfiles"
EMERGE_DEFAULT_OPTS="--ask --verbose --autounmask=n"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs buildsyspkg config-protect-if-modified distlocks downgrade-backup ebuild-locks fixlafiles merge-sync news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://mirror.yandex.ru/gentoo-distfiles/                 ftp://mirror.yandex.ru/gentoo-distfiles/                 http://ftp.corbina.net/pub/Linux/gentoo/                 ftp://ftp.corbina.net/pub/Linux/gentoo/"
LANG="ru_RU.utf8"
LC_ALL=""
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_EXTRA_OPTS="--exclude-from=/etc/portage/rsync_excludes"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage/gentoo"
PORTDIR_OVERLAY="/usr/portage/local"
USE="X a52 ac3 acl alsa amd64 avi berkdb bold bzip2 cdr cli consolekit cracklib crypt cups cxx dbus djvu dri dvd flac fortran gdbm gif gtk iconv inotify jpeg jpeg2k lock mmx modules mp3 multilib ncurses nls nptl ogg openmp pam pcre pdf png policykit qt3support readline session sse sse2 ssl tcpd thunar tiff udev udisks unicode utf8 vorbis xcb xulrunner zlib" ABI_X86="64" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="ru ru_RU" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-4" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_3" RUBY_TARGETS="ruby19 ruby20" USERLAND="GNU" VIDEO_CARDS="radeon" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CPPFLAGS, CTARGET, INSTALL_MASK, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, USE_PYTHON
Comment 1 Samuli Suominen (RETIRED) gentoo-dev 2014-03-31 07:57:01 UTC
Do you have proper mimes set for default browser? It's the x-scheme-handler/ that controls these.
The "Preferred Applications" GUI in Xfce can be used to set them.
If they are missing, then indeed, last installed browser with the mimes will be used, which is the correct behavior.

$ cat ~/.local/share/applications/mimeapps.list
[Added Associations]
x-scheme-handler/http=exo-web-browser.desktop
x-scheme-handler/https=exo-web-browser.desktop
Comment 2 Sergey S. Starikoff 2014-03-31 08:59:22 UTC
(In reply to Samuli Suominen from comment #1)
> Do you have proper mimes set for default browser? It's the x-scheme-handler/
> that controls these.
> The "Preferred Applications" GUI in Xfce can be used to set them.
> If they are missing, then indeed, last installed browser with the mimes will
> be used, which is the correct behavior.
> 
> $ cat ~/.local/share/applications/mimeapps.list
> [Added Associations]
> x-scheme-handler/http=exo-web-browser.desktop
> x-scheme-handler/https=exo-web-browser.desktop

The "Preferred Applications" GUI seems do not using ~/.local/share/applications/mimeapps.list (i.e. Firefox and Thunderbird were set in it as defaults, but no one of quoted lines was present in config).

Manual put them together with:

x-scheme-handler/mailto=exo-mail-reader.desktop

fixed behaviour.

But the questions:
1. Why The "Preferred Applications" GUI don't read/update ~/.local/share/applications/mimeapps.list config?
2. How/why at the same time zathura works correct?
still present.
Comment 3 Samuli Suominen (RETIRED) gentoo-dev 2014-03-31 17:58:29 UTC
(In reply to Sergey S. Starikoff from comment #2)
> (In reply to Samuli Suominen from comment #1)
> > Do you have proper mimes set for default browser? It's the x-scheme-handler/
> > that controls these.
> > The "Preferred Applications" GUI in Xfce can be used to set them.
> > If they are missing, then indeed, last installed browser with the mimes will
> > be used, which is the correct behavior.
> > 
> > $ cat ~/.local/share/applications/mimeapps.list
> > [Added Associations]
> > x-scheme-handler/http=exo-web-browser.desktop
> > x-scheme-handler/https=exo-web-browser.desktop
> 
> The "Preferred Applications" GUI seems do not using
> ~/.local/share/applications/mimeapps.list (i.e. Firefox and Thunderbird were
> set in it as defaults, but no one of quoted lines was present in config).
> 
> Manual put them together with:
> 
> x-scheme-handler/mailto=exo-mail-reader.desktop
> 
> fixed behaviour.
> 

I'm sorry, some language barrier here, could you rephrase what you said? Doesn't make much sense as is.

> But the questions:
> 1. Why The "Preferred Applications" GUI don't read/update
> ~/.local/share/applications/mimeapps.list config?

What do you mean? It does exactly that, set default x-scheme-handlers for http, https and mailto

> 2. How/why at the same time zathura works correct?
> still present.

zathura, as a glib application, is propably using x-scheme-handler/ as well
Comment 4 Sergey S. Starikoff 2014-04-01 05:17:53 UTC
(In reply to Samuli Suominen from comment #3)
> I'm sorry, some language barrier here, could you rephrase what you said?
> Doesn't make much sense as is.
Yes, it is.
Excuse me my English.

> > But the questions:
> > 1. Why The "Preferred Applications" GUI don't read/update
> > ~/.local/share/applications/mimeapps.list config?
> What do you mean? It does exactly that, set default x-scheme-handlers for
> http, https and mailto
It means that although the "Preferred Applications" GUI showed Firefox/Thunderbird as default browser/mail client — no proper records (x-scheme-handler) were present in ~/.local/share/applications/mimeapps.list config.

After I've put them there manually, evince's behaviour becomes correct.

It looks like an issue in "Preferred Applications" GUI (/usr/lib64/xfce4/exo-1/exo-helper-1 --configure command): it should check/update ~/.local/share/applications/mimeapps.list config but don't do it.

> > 2. How/why at the same time zathura works correct?
> > still present.
> 
> zathura, as a glib application, is propably using x-scheme-handler/ as well

Again I wasn't clear enough.
zathura worked correctly on the first step (when no x-scheme-handler were present in ~/.local/share/applications/mimeapps.list config and evince opened mailto/https links in Opera instead of Thunderbird/Firefox).


It looks like an upstream (Xfce) issue.
Am I to report it in https://bugzilla.xfce.org/ ?
Comment 5 Pacho Ramos gentoo-dev 2014-04-01 21:24:43 UTC
Looks to me like a xfce problem then :/
Comment 6 Samuli Suominen (RETIRED) gentoo-dev 2014-04-02 05:16:37 UTC
(In reply to Pacho Ramos from comment #5)
> Looks to me like a xfce problem then :/

I doubt that.

To the original reporter:

Try removing the files, ~/.local/share/applications/mimeapps.* and rerun the Xfce gui for Preferred Applications from the Settings, select them all again, and see what happens, I bet the file is created correctly and this was nothing more than a permission problem to begin with

If it still doesn't work, try running it under `strace` and attach a complete strace log here, so we can see if it's accessing (reading, writing) the file at all
Comment 7 Sergey S. Starikoff 2014-04-03 11:36:28 UTC
(In reply to Samuli Suominen from comment #6)
> Try removing the files, ~/.local/share/applications/mimeapps.* and rerun the
> Xfce gui for Preferred Applications from the Settings, select them all
> again
Removing ~/.local/share/applications/mimeapps.list (in my system it's the only file matching ~/.local/share/applications/mimeapps.*) don't perform any changes in Preferred Applications GUI list.

> and see what happens, I bet the file is created correctly and this
> was nothing more than a permission problem to begin with
There is no _permission_ issues.
The file is successfully created.
Change state of preferred browser made exo-helper-1 add two lines to it:
x-scheme-handler/http=exo-web-browser.desktop
x-scheme-handler/https=exo-web-browser.desktop
But these lines says nothing about the name of default browser.
And more: proper lines are added only on change.
So, having the only Thunderbird as mail client (I can't change it to something else) I can't normally make Preferred Applications GUI add mail-reader launcher line:
x-scheme-handler/mailto=exo-mail-reader.desktop

> If it still doesn't work, try running it under `strace` and attach a
> complete strace log here, so we can see if it's accessing (reading, writing)
> the file at all

It works.
But I doubt in correctness (what applications should write this config?).
Removed ~/.local/share/applications/mimeapps.list contained 33 data lines, newly created by Preferred Applications GUI — only two.
These two lines contains no referencies to names of default apps.
Therefore I'm not shure that the Preferred Applications GUI should handle (write) the ~/.local/share/applications/mimeapps.list.
Comment 8 Samuli Suominen (RETIRED) gentoo-dev 2014-04-03 14:40:48 UTC
What's in your ~/.config/xfce4/helpers.rc ? Check permissions of ~/.config, ~/.config/xfce4, ~/.config/xfce4/helpers.rc
Then try removing the file to let it get created again, then set the default apps again from the GUI

The strace is really required, I wasn't joking...
Comment 9 Sergey S. Starikoff 2014-04-16 06:21:31 UTC
Created attachment 375058 [details]
exo-helper-1 --configure strace

(In reply to Samuli Suominen from comment #8)
> What's in your ~/.config/xfce4/helpers.rc ? Check permissions of ~/.config,
> ~/.config/xfce4, ~/.config/xfce4/helpers.rc
All permissions are OK.

Some debug info:
1. Removing ~/.config/xfce4/helpers.rc together with ~/.local/share/applications/mimeapps.list isn't enough to reset my user preferencies.
2. Installing first application in category auto-fits it into user's select (without any additional user actions).
3. Config files (helpers.rc and mimeapps.list) are written only on change (i.e. if I start exo-helper-1 --configure after removing these files and do nothing, just see my current settings, config files aren't recreated).
But having uniq application in each category (with auto-fit) I can't perform this change.

> Then try removing the file to let it get created again, then set the default
> apps again from the GUI
Oryginally my helpers.rc contained two lines:
WebBrowser=firefox
TerminalEmulator=xfce4-terminal
(accordingly user-changed apps)
Now (after removing original) it was recreated completely and correctly:
WebBrowser=firefox
MailReader=thunderbird
FileManager=Thunar
TerminalEmulator=xfce4-terminal

Recreated mimeapps.list contains just:
[Added Associations]
x-scheme-handler/http=exo-web-browser.desktop
x-scheme-handler/https=exo-web-browser.desktop
x-scheme-handler/mailto=exo-mail-reader.desktop
x-scheme-handler/file=exo-file-manager.desktop
x-scheme-handler/trash=exo-file-manager.desktop


The original contained (together with manually added lines):
mimeapps.list.orig 
[Default Applications]
application/pdf=evince.desktop
text/html=firefox.desktop
text/plain=mousepad.desktop
text/x-csrc=mousepad.desktop
application/x-java-archive=userapp-java-JCRBXW.desktop
application/atom+xml=firefox.desktop
application/metalink+xml=firefox.desktop
application/metalink4+xml=firefox.desktop
application/postscript=evince.desktop
application/rdf+xml=firefox.desktop
application/rss+xml=firefox.desktop
application/sieve=firefox.desktop
application/smil=firefox.desktop
application/vnd.google-earth.kml+xml=firefox.desktop
application/vnd.ms-excel.sheet.binary.macroenabled.12=gnumeric.desktop

[Added Associations]
application/pdf=evince.desktop;
text/html=firefox.desktop;
text/plain=mousepad.desktop;
text/x-csrc=mousepad.desktop;
application/x-java-archive=userapp-java-JCRBXW.desktop;
application/atom+xml=firefox.desktop;
application/metalink+xml=firefox.desktop;
application/metalink4+xml=firefox.desktop;
application/postscript=evince.desktop;
application/rdf+xml=firefox.desktop;
application/rss+xml=firefox.desktop;
application/sieve=firefox.desktop;
application/smil=firefox.desktop;
application/vnd.google-earth.kml+xml=firefox.desktop;
application/vnd.ms-excel.sheet.binary.macroenabled.12=gnumeric.desktop;
x-scheme-handler/http=exo-web-browser.desktop
x-scheme-handler/https=exo-web-browser.desktop
x-scheme-handler/mailto=exo-mail-reader.desktop

> The strace is really required, I wasn't joking...
I'm not stupid.
But prior to getting strace I find necessary to know what I want to get from it (and how to gather strace provided this info).
File (for success recreate config files) is attached.