dbus-launch --exit-with-session fails when run from .startxwinrc

Ken Brown kbrown@cornell.edu
Wed Apr 25 17:18:00 GMT 2012

On 4/25/2012 12:21 PM, Jon TURNEY wrote:
> On 24/04/2012 14:50, Ken Brown wrote:
>> On 4/16/2012 9:50 AM, Ken Brown wrote:
>>> On 4/16/2012 9:44 AM, Ken Brown wrote:
>>>> The following problem occurs on my 64-bit Windows 7 system but not on my
>>>> XP system.
>>>> I start the X server using the Start Menu shortcut [modified to add
>>>> -emulate3buttons] and a .startxwinrc with the following contents:
>>>> eval `dbus-launch --sh-syntax --exit-with-session`
>>>> xterm
>>>> Running ps in the resulting xterm window shows no dbus-launch or
>>>> dbus-daemon process. But I can give the same dbus-launch command in the
>>>> xterm window, and the processes start as expected. I'm attaching
>>>> cygcheck output and the XWin log.
>>>> My hope in reporting this is that the problem I'm seeing (and the
>>>> difference between XP and Win7) is somehow related to the emacs problem
>>>> I've been trying to solve:
>>>> http://cygwin.com/ml/cygwin-xfree/2012-04/msg00048.html
>>>> Ken
>>>> P.S. You'll see in the cygcheck output that I'm running a Cygwin
>>>> snapshot; but nothing changes if I revert to cygwin-1.7.13-1.
>>> I forgot to say that if I remove "--exit-with-session" from the command
>>> line in my .startxwinrc, then a dbus-daemon process does start.
>> I tried modifying the X server shortcut to read
>> C:\cygwin\bin\run.exe /usr/bin/bash.exe -l -c '/usr/bin/startxwin.exe
>>>> /var/log/xwin/startxwin.log 2>&1'
>> as suggested in a different thread, but that provides no information. The
>> resulting startxwin.log is virtually identical (with minor differences) to
>> XWin.0.log.
>> In particular, there's no indication of what's happening when .startxwinrc is
>> processed.
> There's no output because ~/.startxwinrc generates no output.
>> For starters, it would really be helpful if someone could try to reproduce my
>> problem on a 64-bit Windows 7 system.  At the moment, I don't even know if
>> there is a bug somewhere or simply a problem with my own system.  Here's the
>> recipe:
>> 1. Create a .startxwinrc file with the following contents:
>> eval `dbus-launch --sh-syntax --exit-with-session`
>> xterm
>> 2. Start the X server using the Start Menu shortcut.
>> 3. In the resulting xterm window, give the "ps" command.  If things are
>> working right, the output from ps should show a dbus-launch process and a
>> dbus-daemon process.
>> These processes do appear on my XP system but not on my Windows 7 system.
> FWIW, it works on XP for me as well.
> I tried with the following ~/.startxwinrc:
> eval `dbus-launch --sh-syntax --exit-with-session | tee /dev/stderr`
> xterm
> ... which at least lets you see the pid of the dbus-daemon that is started.
> I'm not sure if --exit-with-session is correct with startxwin, since the
> startxwin process will not linger after it has started ~/.startxwinrc, and I
> don't know if stdin will remain open after it (and the process tree above it
> waiting for it) exits.  I have this vague recollection that 'run' has to do
> different things on XP and W7, which might account for the different behaviour?

Ah, that must be it.  On XP, presumably because of the way 'run' 
behaves, the sh process that runs .startxwinrc hangs around, so the dbus 
processes keep running.  If I run startxwin from a terminal instead of 
via the shortcut (i.e., without using 'run'), I get the same behavior on 
XP as on W7.



Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://x.cygwin.com/docs/
FAQ:                   http://x.cygwin.com/docs/faq/

More information about the Cygwin-xfree mailing list