multimedia keys don't work when xfce4-volumed is run in daemon mode
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Xfce4 Volumed |
Invalid
|
Undecided
|
Unassigned | ||
xfce4-volumed (Ubuntu) |
Triaged
|
Medium
|
Unassigned |
Bug Description
On login, multimedia (volume) keys don't work.
If I run kill and re-run "xfce4-volumed" from a terminal, it will not respond to the multimedia keys.
However, if I run "xfce4-volumed --no-daemon &" then it works correctly.
I recently installed xubuntu-desktop^ and ubuntu-sdk on top of my xubuntu install - this might be related.
Update: I now fully understand what is happening.
In a vanilla Xubuntu desktop, gtk_init() will not open a dbus connection.
However, Ubuntu desktop installs various gtk preload libraries such as overlay scrollbars and ubuntu menuproxy (for app menus). These extra plugins open dbus connections. That means that when these plugins are present, calling gtk_init() opens a dbus connection which will become invalid after the fork().
This theory is proven by unsetting UBUNTU_MENUPROXY and then running xfce4-volumed - it will then work correctly.
This is the same thing that caused https:/
ProblemType: Bug
DistroRelease: Ubuntu 14.04
Package: xfce4-volumed 0.2.0-0ubuntu1
ProcVersionSign
Uname: Linux 3.13.0-8-generic x86_64
NonfreeKernelMo
ApportVersion: 2.14.1-0ubuntu3
Architecture: amd64
CurrentDesktop: XFCE
Date: Wed Apr 30 20:54:20 2014
InstallationDate: Installed on 2014-02-11 (77 days ago)
InstallationMedia: Xubuntu 14.04 LTS "Trusty Tahr" - Alpha amd64 (20140210)
SourcePackage: xfce4-volumed
UpgradeStatus: No upgrade log present (probably fresh install)
Related branches
- Lionel Le Folgoc: Pending requested
-
Diff: 20 lines (+2/-2)1 file modifiedsrc/main.c (+2/-2)
description: | updated |
Changed in xfce4-volumed (Ubuntu): | |
status: | Confirmed → Triaged |
Changed in xfce4-volumed: | |
status: | New → Invalid |
This bug can be "fixed" by moving the fork() to before the gtk_init() - which is apparently the only correct order to make these calls.
It should also be noted that upstream in xfce, the fork() call happens before gtk_init().
Upstream latest version is 0.1.13, the version in ubuntu claims to be 0.2.0 and is rather different to the upstream version, but the package contains no distro patches. Anyone know why?