[Konsole-devel] [Bug 297224] Command-line options ignored when stdout redirected to /dev/null

Rogier rogier777 at gmail.com
Thu Apr 26 07:53:15 UTC 2012


https://bugs.kde.org/show_bug.cgi?id=297224

--- Comment #5 from Rogier <rogier777 at gmail.com> ---
Hi Jekyll

> > The way I understand your explanation, one of my observations is
> > not
> > 
> > explained:
> >     session-on-display 0 $ konsole --display 1:0
> > 
> > new konsole session opens on display 1:0
> > 
> >     session-on-display 1 $ konsole
> > 
> > another new konsole session opens on display 1:0, as expected
> > 
> >     session-on-display 1 $ konsole > /dev/null
> > 
> > a new konsole session opens on display 0, whereas it is obviously
> > expected on display 1.
> 
> I don't have or use that two display enviroment, so I can only do
> some guessing.

I am using a nested Xephyr session as other display.

I use it when I want to isolate a graphical application (typically, 
but not always running on a VM) from my regular desktop environment, 
e.g. when testing. The nested display runs as little of a windowing 
environment as possible, to save resources, not even a window manager 
if not needed, and certainly no full KDE session.
Some applications I need (e.g. konsole), I then start from an existing 
shell, specifying the other display as target.

> This line "session-on-display 0 $ konsole --display 1:0" is
> important. Is it executed in an existing Konsole window opened
> through icon/menu/shortcut, or is it executed in a xterm and no
> konsole is running at all?.

It is started from an existing konsole session.

> If it is the first case, then the last
> invocation can be explained. The selection of reusable konsole
> process is dbus-based(That is how KUniqueApplication works), so
> display does not make difference here. If the first reusable
> konsole process shows on display 0, then all following reusing
> attempt will open konsole window on display 0.

> And I think that DBUS_SESSION_BUS_ADDRESS is the right behavior.
> You are using two displays in the same user session, right?

Actually, no.
I don't know how multi-display works these days, as I also have just a 
single display. IIRC, plain old X uses display addresses :0.0, :0.1 
etc. for multiple displays in a single session, whereas it uses :0.x, 
:1.x, etc. for multiple sessions.

> Then DBUS_SESSION_BUS_ADDRESS should be same regardless of
> display if I understand it correctly.

Shouldn't DBUS_SESSION_BUS_ADDRESS reflect the address of the *current* 
konsole session, instead of any 'random' address that happens to be 
lingering in the environment ?
I.e., if konsole decides that a new process must be used, instead of 
creating a new window in an existing process (e.g. because --display 
was used), then shouldn't it set DBUS_SESSION_BUS_ADDRESS (and 
presumably KONSOLE_DBUS_SERVICE as well ?) to the address of its own 
session, regardless of any previous value it had ?

Also, if it leaves the address of the other session, then any 
application (if any ?) that uses that dbus address to try and 
manipulate the current konsole process, will be in for a surprise, 
when an entirely different process ends up being affected.

Regards,

Rogier.

-- 
You are receiving this mail because:
You are the assignee for the bug.



More information about the konsole-devel mailing list