Bug 115360

Summary: xfce4-session breaks for 2nd screen
Product: [openSUSE] SUSE LINUX 10.0 Reporter: Harald Koenig <koenig>
Component: X11 ApplicationsAssignee: Christoph Thiel <cthiel>
Status: RESOLVED FIXED QA Contact: Stefan Dirsch <sndirsch>
Severity: Normal    
Priority: P5 - None CC: eich
Version: Beta 4   
Target Milestone: ---   
Hardware: Other   
OS: All   
Whiteboard:
Found By: Other Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---

Description Harald Koenig 2005-09-06 08:16:00 UTC
using xfce4 with xfce4-session on display :0 works fine.

but when I try to start a 2nd X server using "startx -- :1" with xfce4 too, I
get the error

     xfce4-session: Another session manager is already running

the same happens with

     xinit -- :1
and
    startxfce4

in the new xterm.



BUT: when I start :1 locally with  "xinit -- :1" and then I log in from remote
using ssh and start xfce4 from the remote session using

    DISPLAY=:1.0 startxfc4

everything works perfect.


what's going on here with xfce4 session management ?
Comment 1 Harald Koenig 2005-09-06 08:38:15 UTC
found the difference between locally starting startxfce4 and from a remote shell:
locally there is an environment variable

   SESSION_MANAGER=local/compaq:/tmp/.ICE-unix/6331

which should not propagage to a 2nd X server when starting

   startx -- :1

maybe you want to patch the startx script !?  that's the easy one ;-)
but what about

   xinit -- :1

maybe the xinit binary should be changed to know about SESSION_MANAGER and
remove it if set ?

Egbert ?
Comment 2 Christoph Thiel 2005-09-06 08:42:06 UTC
Egbert, what's your opinion on comment #1?
Comment 3 Harald Koenig 2005-09-06 16:11:43 UTC
(In reply to comment #1)
> found the difference between locally starting startxfce4 and from a remote shell:
> locally there is an environment variable
> 
>    SESSION_MANAGER=local/compaq:/tmp/.ICE-unix/6331
> 
> which should not propagage to a 2nd X server when starting
> 
>    startx -- :1
> 
> maybe you want to patch the startx script !?  that's the easy one ;-)
> but what about
> 
>    xinit -- :1
> 
> maybe the xinit binary should be changed to know about SESSION_MANAGER and
> remove it if set ?
> 
> Egbert ?

quick update after some more thinking during a car ride;-) 

I'm not too familiar with all the X11 session manager stuff and all the
different window/desktop managers, so maybe better use a minimal patch for xfce4
only ?  how about this one?


--- /etc/xdg/xfce4/xinitrc~     2005-08-30 00:03:59.000000000 +0200
+++ /etc/xdg/xfce4/xinitrc      2005-09-06 18:09:17.603072000 +0200
@@ -74,6 +74,7 @@
        x|xno*)
                ;;
        *)
+               unset SESSION_MANAGER
                $xfcesm
 
                if test $kill_sshagent -eq 1; then



Comment 4 Christoph Thiel 2005-09-07 08:29:49 UTC
Lukas, how do you like the modification of /etc/xdg/xfce4/xinitrc (it's in
xfce4-desktop)?
Comment 5 Egbert Eich 2005-09-08 10:37:27 UTC
I assume that the SESSION_MANAGER environment variable is set by the fce
environment.
Therefore the idea to patch startx is out of the question.
I agree with Harald's patch to add the uset to an xfce4 specific xinitrc.
Comment 6 Christoph Thiel 2005-09-08 10:44:26 UTC
Submitted fixed package to STABLE.