notify-osd causes the gnome classic session to fail

Bug #885939 reported by glennric
54
This bug affects 9 people
Affects Status Importance Assigned to Milestone
gnome-session (Ubuntu)
Fix Released
High
Jeremy Bícha
Oneiric
Won't Fix
Undecided
Unassigned
Precise
Fix Released
High
Jeremy Bícha

Bug Description

I have noticed several other users that are having this issue as well in in Ubuntu 11.10. Most of these users believe they are running the gnome classic session and that compiz failed to start. The fact is that notify-osd is causing the gnome-classic session to fail entirely, and the gnome-fallback session is loaded instead (which of course does not load compiz). The gnome-classic session works fine after removing notify-osd from the RequiredProviders line of the file /usr/share/gnome-session/sessions/gnome-classic.session. It should be noted that notify-osd still starts after removing it from the RequiredProviders, and seems to still be working. So most likely it is just an error in communication between notify-osd and the gnome session (inverted boolean return value perhaps?).

Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in gnome-session (Ubuntu):
status: New → Confirmed
Changed in gnome-session (Ubuntu):
assignee: nobody → Didier Roche (didrocks)
Changed in notify-osd (Ubuntu):
status: New → Invalid
Revision history for this message
Håkon A. Hjortland (post-hakn) wrote :

From ~/.xsession-errors:
gnome-session[22010]: WARNING: Unable to find default provider 'notify-osd' of required provider 'notifications'

To get more details, start a "Recovery Console" session and type this in the terminal:
source .gnomerc
gnome-session --session=gnome-classic --debug &>gnome-session.log

From the resulting gnome-session.log:
gnome-session[22946]: DEBUG(+): fill: *** Getting session 'gnome-classic'
[...]
gnome-session[22946]: DEBUG(+): fill: provider 'notifications' looking for component: 'notify-osd'
gnome-session[22946]: DEBUG(+): GsmUtil: Looking for file 'notify-osd.desktop'
gnome-session[22946]: DEBUG(+): GsmUtil: Looking in '/home/johndoe/.config/autostart'
gnome-session[22946]: DEBUG(+): GsmUtil: Looking in '/usr/share/xterm/gnome/autostart'
gnome-session[22946]: DEBUG(+): GsmUtil: Looking in '/usr/local/share/gnome/autostart'
gnome-session[22946]: DEBUG(+): GsmUtil: Looking in '/usr/share/gnome/autostart'
gnome-session[22946]: DEBUG(+): GsmUtil: Looking in '/etc/xdg/xdg-xterm/autostart'
gnome-session[22946]: DEBUG(+): GsmUtil: Looking in '/etc/xdg/autostart'
gnome-session[22946]: DEBUG(+): GsmUtil: Looking in '/home/johndoe/.local/share/applications'
gnome-session[22946]: DEBUG(+): GsmUtil: Looking in '/usr/share/xterm/applications'
gnome-session[22946]: DEBUG(+): GsmUtil: Looking in '/usr/local/share/applications'
gnome-session[22946]: DEBUG(+): GsmUtil: Looking in '/usr/share/applications'
gnome-session[22946]: WARNING: Unable to find default provider 'notify-osd' of required provider 'notifications'
[...]
gnome-session[22946]: DEBUG(+): fill: *** Getting session 'gnome-fallback'

So it seems the file notify-osd.desktop is missing or just incorrectly assumed to exist. apt-file says there is no such file in any package:
apt-file search notify-osd.desktop

Note that gnome-classic.session can be copied to the home directory and edited there instead if you don't have write access to the system file:
cp -ai /usr/share/gnome-session/sessions/gnome-classic.session ~/.config/gnome-session/sessions/

Revision history for this message
Sebastien Bacher (seb128) wrote :

Jeremy, it seems the issue might be due to your change:

  * debian/patches/50_ubuntu_sessions.patch:
    - Use notify-osd for GNOME Classic notifications. This also fixes
      a bug where the GNOME Classic with effects session didn't work.

notify-osd doesn't have a .desktop launcher

it's worth noting as well that we have a "13_no_fallback_notification.patch", debian dropped that in their recent version though

Changed in gnome-session (Ubuntu):
assignee: Didier Roche (didrocks) → Jeremy Bicha (jbicha)
importance: Undecided → High
Changed in notify-osd (Ubuntu Oneiric):
status: New → Confirmed
importance: Undecided → High
Revision history for this message
Fred (eldmannen+launchpad) wrote :

Ubuntu 11.10 Oneiric Ocelot does not have any "Recovery Console" session. :(

Revision history for this message
Håkon A. Hjortland (post-hakn) wrote :

The "Recovery Console" session seems to be in the gdm package:
$ dpkg -S /usr/share/xsessions/xterm.desktop
gdm: /usr/share/xsessions/xterm.desktop

Here is the content of xterm.desktop:
[Desktop Entry]
Encoding=UTF-8
Name=Recovery Console
Comment=Failsafe session with only xterm
Exec=xterm
TryExec=xterm
Icon=
Type=Application
X-Ubuntu-Gettext-Domain=gdm

Revision history for this message
Fred (eldmannen+launchpad) wrote :

Oh, thanks.

Maybe someone should put that in the lightdm package?

Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in gnome-session (Ubuntu Oneiric):
status: New → Confirmed
Changed in gnome-session (Ubuntu Precise):
status: Confirmed → Triaged
Revision history for this message
Dmitry Shachnev (mitya57) wrote :

@Jeremy:
Do you have any plans on fixing this in gnome-session? I think a better solution will be adding a .desktop file (with NoDisplay=true) for notify-osd.
Also, Sebastien is right and 13_no_fallback_notification.patch should be dropped.

Revision history for this message
Sebastien Bacher (seb128) wrote :

note that I can't confirm the issue there, I get the warning but it doesn't prevent the session to start

Revision history for this message
Sebastien Bacher (seb128) wrote :

ignore that, seems buggy testing there

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package gnome-session - 3.2.1-0ubuntu4

---------------
gnome-session (3.2.1-0ubuntu4) precise; urgency=low

  * Backport some of the Debian changes
  * debian/control.in:
    - drop the Recommends on gnome-power-manager, the code gnome-session uses
      has moved to gnome-settings-daemon
    - drop the build-depends on librsvg2-dev
    - Recommends "unity | unity-2d | gnome-shell" rather than Depends on it,
      some users want to use gnome-session without those (lp: #854058).
  * debian/patches/50_ubuntu_sessions.patch:
    - restore the "no notifications in fallback sessions" for Ubuntu,
      the required components need an autostart .desktop where notify-osd
      doesn't have one, let them be dbus activated rather (lp: #885939)

  [ Michael Biebl ]
  * Remove Depends on policykit-1-gnome from gnome-session as gnome-shell
    provides its own integrated PolicyKit authentication agent.
  * Remove notification-daemon from gnome-session Recommends as gnome-shell
    has an integrated notification system.
  * Make notification-daemon a Depends of the gnome-session-fallback and
    remove debian/patches/13_no_fallback_notification.patch so the session
    manager starts notification-daemon in the fallback case.
  * Bump Standards-Version to 3.9.2. No further changes.
 -- Sebastien Bacher <email address hidden> Tue, 06 Dec 2011 20:07:58 +0100

Changed in gnome-session (Ubuntu Precise):
status: Triaged → Fix Released
Revision history for this message
Fred (eldmannen+launchpad) wrote :

Please backport the fixes to Oneiric.

Revision history for this message
Sebastien Bacher (seb128) wrote :

> Please backport the fixes to Oneiric.

the fix needs to be tested and confirmed to work on precise first, here unity is started instead of compiz when selecting GNOME classic but the session log indicates it takes the right "default" profile so like something tweaked on my installed, still confirmation on whether it works from other would be useful

Revision history for this message
Dmitry Shachnev (mitya57) wrote :

@Sebastien: I rebuilt the new version for oneiric, the fix is working but there are some regressions in Compiz itself (compared to Metacity):

- First time I didn't have any window decorations. I disabled and re-enabled "Window decorations" plugin in ccsm, and now they are working;
- Windows (i.e. the Terminal) uppear under the top panel, so one has to use Alt+mouse to move them;
- Alt+right-click on the panel doesn't work (see bug 891622).

I think we shouldn't backport this fix to Oneiric unless those issues are resolved.

Revision history for this message
Fred (eldmannen+launchpad) wrote :

Dmitry Shachnev,
The reason that alt+right-click does not work is that Compiz uses alt+rightclick to resize windows.

So there appears a hotkey conflict because both GNOME Panel and Compiz try to use the same key combination.
As a workaround I remap Compiz to use WinKey instead of Alt.
gconftool-2 --set --type string /apps/metacity/general/mouse_button_modifier '<Super>'

no longer affects: notify-osd (Ubuntu)
no longer affects: notify-osd (Ubuntu Oneiric)
no longer affects: notify-osd (Ubuntu Precise)
Changed in gnome-session (Ubuntu Oneiric):
status: Confirmed → Won't Fix
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.