[Bug 1305294] Re: QT uses incorrect theme when GNOME_DESKTOP_SESSION_ID is unset

Iain Lane iain at orangesquash.org.uk
Fri Jun 20 11:44:51 UTC 2014


** Description changed:

+ [ Description ]
+ 
+ When launching Qt applications from indicators under Unity, the theme
+ isn't right.
+ 
+ [ Fix ]
+ 
+ It's because GNOME_DESKTOP_SESSION_ID is unset due to problems in
+ upstart scripts. Qt uses this to decide whether to apply the GTK theme.
+ Fix is to set this as early as possible, in Upstart's xsession-init job.
+ 
+ [ Regression potential ]
+ 
+ We're setting the environment variable ~all the time in the session.
+ Maybe something could be expecting it not to be set?
+ 
+ [ QA ]
+ 
+ This is a bit racy, so you might not see it all the time. Install vlc,
+ restart your session (or the sound indicator), then click the indicator
+ and launch vlc. You might see the wrong theme before and should always
+ see the right theme after.
+ 
+ 
+ [ Original description ]
+ 
  Bug discovered when launching VLC from the sound indicator applet: the
  QT UI theme is wrong. The theme is correct when launched from Unity
  launcher or terminal. Please see the attached screenshots.
  
  I've tracked it down to a difference in environment in the VLC process:
  When launched from indicator-sound, the variable
  GNOME_DESKTOP_SESSION_ID is unset, and this causes VLC to become themed
  incorrectly. (If the variable is given any value, then VLC looks
  correct.)
  
  To reproduce, either:
  1) Launch VLC from indicator-sound (make sure it's not already running and has been started from somewhere else)
  2) Or just start VLC like this from terminal:
  $ GNOME_DESKTOP_SESSION_ID= vlc
  
  Looks like a bug in qt4, which seems to depend on
  GNOME_DESKTOP_SESSION_ID being set [to anything] to pick up the correct
  theme. (The variable is deprecated, according to its default value in
  Ubuntu 14.04.)
  
  Try:
  $ GNOME_DESKTOP_SESSION_ID= qtconfig
  
  Observe theme not picked up from "Desktop settings" in qtconfig.
  
  ProblemType: Bug
  DistroRelease: Ubuntu 14.04
  Package: qt4-qtconfig 4:4.8.5+git192-g085f851+dfsg-2ubuntu4
  ProcVersionSignature: Ubuntu 3.13.0-23.45-generic 3.13.8
  Uname: Linux 3.13.0-23-generic x86_64
  ApportVersion: 2.14.1-0ubuntu1
  Architecture: amd64
  CurrentDesktop: Unity
  Date: Wed Apr  9 22:15:27 2014
  InstallationDate: Installed on 2014-04-01 (8 days ago)
  InstallationMedia: Ubuntu 14.04 LTS "Trusty Tahr" - Beta amd64 (20140326)
  SourcePackage: qt4-x11
  UpgradeStatus: No upgrade log present (probably fresh install)

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to upstart in Ubuntu.
https://bugs.launchpad.net/bugs/1305294

Title:
  QT uses incorrect theme when GNOME_DESKTOP_SESSION_ID is unset

Status in “upstart” package in Ubuntu:
  Fix Released
Status in “upstart” source package in Trusty:
  In Progress

Bug description:
  [ Description ]

  When launching Qt applications from indicators under Unity, the theme
  isn't right.

  [ Fix ]

  It's because GNOME_DESKTOP_SESSION_ID is unset due to problems in
  upstart scripts. Qt uses this to decide whether to apply the GTK
  theme. Fix is to set this as early as possible, in Upstart's xsession-
  init job.

  [ Regression potential ]

  We're setting the environment variable ~all the time in the session.
  Maybe something could be expecting it not to be set?

  [ QA ]

  This is a bit racy, so you might not see it all the time. Install vlc,
  restart your session (or the sound indicator), then click the
  indicator and launch vlc. You might see the wrong theme before and
  should always see the right theme after.

  
  [ Original description ]

  Bug discovered when launching VLC from the sound indicator applet: the
  QT UI theme is wrong. The theme is correct when launched from Unity
  launcher or terminal. Please see the attached screenshots.

  I've tracked it down to a difference in environment in the VLC
  process: When launched from indicator-sound, the variable
  GNOME_DESKTOP_SESSION_ID is unset, and this causes VLC to become
  themed incorrectly. (If the variable is given any value, then VLC
  looks correct.)

  To reproduce, either:
  1) Launch VLC from indicator-sound (make sure it's not already running and has been started from somewhere else)
  2) Or just start VLC like this from terminal:
  $ GNOME_DESKTOP_SESSION_ID= vlc

  Looks like a bug in qt4, which seems to depend on
  GNOME_DESKTOP_SESSION_ID being set [to anything] to pick up the
  correct theme. (The variable is deprecated, according to its default
  value in Ubuntu 14.04.)

  Try:
  $ GNOME_DESKTOP_SESSION_ID= qtconfig

  Observe theme not picked up from "Desktop settings" in qtconfig.

  ProblemType: Bug
  DistroRelease: Ubuntu 14.04
  Package: qt4-qtconfig 4:4.8.5+git192-g085f851+dfsg-2ubuntu4
  ProcVersionSignature: Ubuntu 3.13.0-23.45-generic 3.13.8
  Uname: Linux 3.13.0-23-generic x86_64
  ApportVersion: 2.14.1-0ubuntu1
  Architecture: amd64
  CurrentDesktop: Unity
  Date: Wed Apr  9 22:15:27 2014
  InstallationDate: Installed on 2014-04-01 (8 days ago)
  InstallationMedia: Ubuntu 14.04 LTS "Trusty Tahr" - Beta amd64 (20140326)
  SourcePackage: qt4-x11
  UpgradeStatus: No upgrade log present (probably fresh install)

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/upstart/+bug/1305294/+subscriptions



More information about the foundations-bugs mailing list