Discussion:
[arch-general] Mysterious userapp .desktop files
Kyle Terrien
2016-03-17 05:08:46 UTC
Permalink
So, somehow my default web browser got changed from SeaMonkey back to
Firefox. (Bleh!)

I ended up cleaning up after xdg-open in the process of correcting my
default web browser.

In ~/.local/share/applications/ (where user-customized .desktop files
go), there were several files in the format
userapp-<appname>-<short_hash>.desktop.

userapp-Firefox-FIK3WX.desktop
userapp-Pale Moon-1HNY8X.desktop
userapp-SeaMonkey-YV09AY.desktop
userapp-Thunderbird-PIZCZW.desktop

(Wow! I have gone through a lot of web browsers lately.)

I remember creating a few .desktop files in this directory, but I don't
remember creating any userapp-* files. The contents of
userapp-Firefox-FIK3WX.desktop were:

[Desktop Entry]
Encoding=UTF-8
Version=1.0
Type=Application
NoDisplay=true
Exec=/usr/lib/firefox/firefox %u
Name=Firefox
Comment=Custom definition for Firefox

This is weird. There is only an English comment (the default has many
languages), and this one has set NoDisplay.

I deleted all my custom .desktop files. I have no use for them anymore.

And back to the problem of default web browsers. These userapp .desktop
files got into mimeapps.list (now located in ~/.config/). I suppose the
short hash for SeaMonkey changed, causing mimeapps.list to fallback to
the next web browser listed in mimeapps.list. I had to weed all the
userapp garbage out and replace them with the system-wide .desktop file
names.

What daemon creates these mysterious userapp .desktop files? I don't
want this daemon creating this junk on my system.

--Kyle
Ralf Mardorf
2016-03-17 11:13:47 UTC
Permalink
Indeed it's bizarre. I'm not using a DE, but just openbox with fbpanel
and lxpanel, while the "systemmenu" is from fbpanel only. I also don't
edit the menu using a menu editor. I don't have such entries for e.g.
Firefox, IceCat, Qupzilla and other browsers, but Chrome is spamming the
directory.

I'm to lazy to read https://wiki.archlinux.org/index.php/xdg-menu, but
perhaps it's related and could enlighten you.

[***@archlinux ~]$ pacman -Q archlinux-xdg-menu
archlinux-xdg-menu 0.7.6.2-2
[***@archlinux ~]$ pactree -r archlinux-xdg-menu
archlinux-xdg-menu

[***@archlinux ~]$ ls ~/.local/share/applications/chrome-*|cut -d"/" -f7chrome-aohghmighlieiainnegkcijnfilokake-Default.desktop
chrome-apdfllckaahabafndbhieahigkjlhalf-Default.desktop
chrome-blpcfgokakmgnkcojhhkbfbldkacnbeo-Default.desktop
chrome-coobgpohoikkiipiblmjeljniedjpjpf-Default.desktop
chrome-nmmhkkegccagdldgiimedpiccmgmieda-Default.desktop
chrome-pjkljhegncpnkpknbcohdijeoejaedia-Default.desktop


[***@archlinux ~]$ ls -Ggh ~/.local/share/applications/userapp-*|cut -d"/" -f7
userapp-Evolution-GJ53SW.desktop
userapp-Mail Recipient-YZFFZX.desktop
userapp-Pale Moon-3J36ZX.desktop
userapp-sqlite3-S4RCBX.desktop
userapp-sqlitebrowser-MGEHBX.desktop


[***@archlinux ~]$ cat ~/.local/share/applications/chrome-aohghmighlieiainnegkcijnfilokake-Default.desktop
#!/usr/bin/env xdg-open
[Desktop Entry]
Version=1.0
Terminal=false
Type=Application
Name=Google Docs
Exec=/opt/google/chrome/google-chrome --profile-directory=Default --app-id=aohghmighlieiainnegkcijnfilokake
Icon=chrome-aohghmighlieiainnegkcijnfilokake-Default
NoDisplay=true
StartupWMClass=crx_aohghmighlieiainnegkcijnfilokake


[***@archlinux ~]$ cat .config/fbpanel/default
[snip]
Plugin {
type = menu
config {
IconSize = 22
image = /home/rocketmouse/.customization/dark_cartoon_asterisk.png
menu {
name = Applications Alt+F3
icon = applications-other
item {
name = Applications
icon = applications-other
action = xfce4-appfinder
}
systemmenu {
}
}
separator {
}
item {
name = ROXTerm max
icon = utilities-terminal
action = roxterm --maximize
[snip]
Ralf Mardorf
2016-03-17 12:08:50 UTC
Permalink
Post by Ralf Mardorf
archlinux-xdg-menu
Isn't the culprit, but https://wiki.archlinux.org/index.php/xdg-menu
mentions that some apps (not packages) install to desktop files to the
user's home:

"To add applications to the menu which install their desktop entry to a
user folder such as ~/.local/share/applications, edit the [snip]"

[***@archlinux ~]$ grep
all\( -A1 /var/aur/palemoon-bin/palemoon.install post_install() {
update-desktop-database -q

Seems to be either the culprit.

I don't use, but have some DEs installed, but e.g. Xfce seemingly
doesn't automatically install desktop files to the users home.

So perhaps launching palemoon does it.
Ralf Mardorf
2016-03-17 12:15:23 UTC
Permalink
Post by Ralf Mardorf
So perhaps launching palemoon does it.
No, it doesn't.

[***@archlinux applications]$ ls userapp-Pale\ Moon-3J36ZX.desktop
'userapp-Pale Moon-3J36ZX.desktop'
[***@archlinux applications]$ mv -i userapp-Pale\ Moon-3J36ZX.desktop userapp-Pale\ Moon-3J36ZX.deskbak
[***@archlinux applications]$ ls userapp-Pale\ Moon-3J36ZX.desktop
ls: cannot access 'userapp-Pale Moon-3J36ZX.desktop': No such file or directory
[***@archlinux applications]$ palemoon
[***@archlinux applications]$ ls userapp-Pale\ Moon-3J36ZX.desktop
ls: cannot access 'userapp-Pale Moon-3J36ZX.desktop': No such file or directory
Patrick Burroughs (Celti)
2016-03-17 17:03:49 UTC
Permalink
On Wed, 16 Mar 2016 22:08:46 -0700
Post by Kyle Terrien
So, somehow my default web browser got changed from SeaMonkey back to
Firefox. (Bleh!)
[...]
In ~/.local/share/applications/ (where user-customized .desktop files
go), there were several files in the format
userapp-<appname>-<short_hash>.desktop.
userapp-Firefox-FIK3WX.desktop
userapp-Pale Moon-1HNY8X.desktop
userapp-SeaMonkey-YV09AY.desktop
userapp-Thunderbird-PIZCZW.desktop
If I'm not mistaken, those files and their associated mimeinfo entries
are created every time you set Firefox/SeaMonkey/PaleMoon as you
default browser, as the mechanism of such.

~Celti
Kyle Terrien
2016-03-17 17:47:36 UTC
Permalink
Post by Patrick Burroughs (Celti)
On Wed, 16 Mar 2016 22:08:46 -0700
Post by Kyle Terrien
So, somehow my default web browser got changed from SeaMonkey back to
Firefox. (Bleh!)
[...]
In ~/.local/share/applications/ (where user-customized .desktop files
go), there were several files in the format
userapp-<appname>-<short_hash>.desktop.
userapp-Firefox-FIK3WX.desktop
userapp-Pale Moon-1HNY8X.desktop
userapp-SeaMonkey-YV09AY.desktop
userapp-Thunderbird-PIZCZW.desktop
If I'm not mistaken, those files and their associated mimeinfo entries
are created every time you set Firefox/SeaMonkey/PaleMoon as you
default browser, as the mechanism of such.
~Celti
That's correct. I can confirm that if I go to SeaMonkey's Edit >
Preferences and click "Set default browser", then a new userapp file is
created. This userapp .desktop file is then inserted into
~/.config/mimeapps.list.

Good catch, and thank you!

$ ls .local/share/applications/
mimeinfo.cache userapp-SeaMonkey-45D4DY.desktop
$ cat .local/share/applications/userapp-SeaMonkey-45D4DY.desktop
[Desktop Entry]
Encoding=UTF-8
Version=1.0
Type=Application
NoDisplay=true
Exec=/usr/lib/seamonkey-2.40/seamonkey %u
Name=SeaMonkey
Comment=Custom definition for SeaMonkey
$ cat .local/share/applications/mimeinfo.cache
[MIME Cache]
$

--Kyle

Loading...