Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Fenstermanager neustarten ohne X11-Applikationen zu beenden?

1 view
Skip to first unread message

Marco Moock

unread,
Jan 17, 2023, 10:42:00 AM1/17/23
to
Hallo zusammen,

ich hatte vorhin, den Fall, dass mwm hing. Ich habe den dann per pkill
beenden müssen, die Applikationen wurden auch beendet.

Wie kann man sowas verhindern?

--
Gruß
Marco

Ulli Horlacher

unread,
Jan 17, 2023, 11:19:24 AM1/17/23
to
Marco Moock <mo...@posteo.de> wrote:

> ich hatte vorhin, den Fall, dass mwm hing. Ich habe den dann per pkill
> beenden müssen, die Applikationen wurden auch beendet.
>
> Wie kann man sowas verhindern?

Wie wird bei dir mwm gestartet?
Wenn es das letzte Programm im X11 Start ist, kannst du es nicht neu
starten.

Ich hatte damals, als ich noch mwm verwendet hatte:

while :; do
mwm
sleep 2 # verhindert zu schnelles Neustarten im Fehlerfall
done



--
Ullrich Horlacher Server und Virtualisierung
Rechenzentrum TIK
Universitaet Stuttgart E-Mail: horl...@tik.uni-stuttgart.de
Allmandring 30a Tel: ++49-711-68565868
70569 Stuttgart (Germany) WWW: http://www.tik.uni-stuttgart.de/

Christian Weisgerber

unread,
Jan 17, 2023, 12:30:04 PM1/17/23
to
On 2023-01-17, Marco Moock <mo...@posteo.de> wrote:

> ich hatte vorhin, den Fall, dass mwm hing. Ich habe den dann per pkill
> beenden müssen, die Applikationen wurden auch beendet.
>
> Wie kann man sowas verhindern?

Das Beenden des Fenstermanagers beendet andere laufende Anwendungen
nicht.

Oft ist die X11-Sitzung aber so angelegt, dass der WM als letzte
Anwendung gestartet wird. Terminiert diese letzte Anwendung, dann
wird die ganze Sitzung beendet.

Die Lösung ist, in der .xsession den WM als Hintergrundprozess (&)
und an seiner statt etwas anderes als letztes zu starten.

Vor 30 Jahren war es mal populär, xlogout(1) dafür zu verwenden.
Diese längst vergessene Minianwendung hat einfach nur ein rahmenloses
Fenster mit dem Schriftzug "Logout" aufgemacht. Klickte man darauf,
dann beendete sie sich und damit die ganze X11-Sitzung. Ein Beenden
des laufenden WM und Starten eines neuen war da kein Problem.

--
Christian "naddy" Weisgerber na...@mips.inka.de

Marco Moock

unread,
Jan 17, 2023, 12:51:56 PM1/17/23
to
Am 17.01.2023 um 16:19:22 Uhr schrieb Ulli Horlacher:

> Wie wird bei dir mwm gestartet?
> Wenn es das letzte Programm im X11 Start ist, kannst du es nicht neu
> starten.

in der .xsession

> Ich hatte damals, als ich noch mwm verwendet hatte:
>
> while :; do
> mwm
> sleep 2 # verhindert zu schnelles Neustarten im Fehlerfall
> done

Würde der dann wieder starten, wenn er gekillt wird und würde er dann
die ganzen Fenster wieder verwalten?

Marco Moock

unread,
Jan 17, 2023, 12:53:49 PM1/17/23
to
Am 17.01.2023 um 16:43:05 Uhr schrieb Christian Weisgerber:

> Die Lösung ist, in der .xsession den WM als Hintergrundprozess (&)
> und an seiner statt etwas anderes als letztes zu starten.
>
> Vor 30 Jahren war es mal populär, xlogout(1) dafür zu verwenden.

Ist in Debian nicht drin.
Was sollte man hier nutzen?

Andreas Kohlbach

unread,
Jan 17, 2023, 7:40:53 PM1/17/23
to
On Tue, 17 Jan 2023 16:41:58 +0100, Marco Moock wrote:
>
> ich hatte vorhin, den Fall, dass mwm hing. Ich habe den dann per pkill
> beenden müssen, die Applikationen wurden auch beendet.
>
> Wie kann man sowas verhindern?

Ich meine, dass es hier bei MATE reicht, Marco [1] zu beenden, was
laufende Anwendungen aber nicht mitnimmt. Marco respawned automatisch und
alles ist wie davor.

Das war IIRC ähnlich unter Gnome (da wohl mutter oder metacity?). Stürzten
gerne mal ab. Nach kurzer Zeit wurde der Schirm schwarz und die Sitzung,
samt laufender Apps, wurde wiederhergestellt.

[1] Marco is a minimal X window manager that uses GTK+ for drawing
window frames.
--
Andreas

Ulli Horlacher

unread,
Jan 18, 2023, 2:30:45 AM1/18/23
to
Marco Moock <mo...@posteo.de> wrote:

>> Wie wird bei dir mwm gestartet?
>> Wenn es das letzte Programm im X11 Start ist, kannst du es nicht neu
>> starten.
>
> in der .xsession

Prima, dann hast du da die volle Kontrolle.


>> Ich hatte damals, als ich noch mwm verwendet hatte:
>>
>> while :; do
>> mwm
>> sleep 2 # verhindert zu schnelles Neustarten im Fehlerfall
>> done
>
> Würde der dann wieder starten, wenn er gekillt wird

Siehe oben: ja.


> und würde er dann die ganzen Fenster wieder verwalten?

Hatte bei mir damals funktioniert. Das ist aber ueber 30 Jahre her. Ich
verstehe nicht, wieso man ueberhaupt noch so eine Software Antiquitaet
einsetzt.

Ulli Horlacher

unread,
Jan 18, 2023, 2:32:26 AM1/18/23
to
xmessage 'logout?'

Marco Moock

unread,
Jan 18, 2023, 3:16:20 AM1/18/23
to
Am 18.01.2023 um 02:44:12 Uhr schrieb Andreas Kohlbach:

> IMO nutzt man, was man kennt (oder zu kennen glaubt), um nichts Neues
> zu lernen. Geht mir zumindest so.

Eher umgekehrt. Ich nutzte LXDE, das ist mehr doer weniger eingestellt
und hat Bugs. Dann wollte ich was Einfaches, weil kaum Ressourcen
braucht. mwm getestet, konfiguriert und dabei geblieben.
Gibt es was Besseres?

Marco Moock

unread,
Jan 18, 2023, 3:16:43 AM1/18/23
to
Am 18.01.2023 um 07:32:25 Uhr schrieb Ulli Horlacher:

> Marco Moock <mo...@posteo.de> wrote:
> > Am 17.01.2023 um 16:43:05 Uhr schrieb Christian Weisgerber:
> >
> >> Die Lösung ist, in der .xsession den WM als Hintergrundprozess (&)
> >> und an seiner statt etwas anderes als letztes zu starten.
> >>
> >> Vor 30 Jahren war es mal populär, xlogout(1) dafür zu verwenden.
> >
> > Ist in Debian nicht drin.
> > Was sollte man hier nutzen?
>
> xmessage 'logout?'

Das geht natürlich.

Marco Moock

unread,
Jan 18, 2023, 3:21:51 AM1/18/23
to
Am 18.01.2023 um 07:30:43 Uhr schrieb Ulli Horlacher:

> Marco Moock <mo...@posteo.de> wrote:
> > Würde der dann wieder starten, wenn er gekillt wird
>
> Siehe oben: ja.

Habe ich eingerichtet, mal sehen ob es tut.

> Ich verstehe nicht, wieso man ueberhaupt noch so eine Software
> Antiquitaet einsetzt.

Weil sie das kann, was ich brauche, flott ist, keinen Ballast hat und
ich noch keine Alternativen getestet habe, die dass möglicherweise
besser machen.

Ulli Horlacher

unread,
Jan 18, 2023, 3:40:03 AM1/18/23
to
Andreas Kohlbach <a...@spamfence.net> wrote:
> On Wed, 18 Jan 2023 07:30:43 +0000 (UTC), Ulli Horlacher wrote:
>>
>> Hatte bei mir damals funktioniert. Das ist aber ueber 30 Jahre her. Ich
>> verstehe nicht, wieso man ueberhaupt noch so eine Software Antiquitaet
>> einsetzt.
>
> IMO nutzt man, was man kennt (oder zu kennen glaubt), um nichts Neues zu
> lernen. Geht mir zumindest so.

Deshalb verwendest du noch /bin/sh und meidest ksh und erst Recht dieses
neumodische GNU Zeugs? Ahh-ja :-)

Man muss ja nicht jeder neusten Welle hinterherhecheln, aber ab und zu
sollte man sich schon mal neuere und bessere Software anschauen.
fvwm zB ;-)

Helmut Waitzmann

unread,
Jan 18, 2023, 2:53:46 PM1/18/23
to
Marco Moock <mo...@posteo.de>:
Ja.  Er braucht keine Prozess‐Verwandtschaft mit den Prozessen
der Fenster.  Die notwendige Verbindung ist der X‐Server.

Helmut Waitzmann

unread,
Jan 18, 2023, 2:53:48 PM1/18/23
to
Marco Moock <mo...@posteo.de>:
> Am 17.01.2023 um 16:19:22 Uhr schrieb Ulli Horlacher:
>
>
>> Wie wird bei dir mwm gestartet?
>>
>>
>> Wenn es das letzte Programm im X11 Start ist, kannst du es
>> nicht neu starten.

Manche Fenstermanager können sich selbst (schlussendlich per
Systemaufruf «execve») neu starten (das müsste im jeweiligen
Handbuch stehen).  Dabei bleibt der Prozess erhalten.  Deshalb
bemerkt auch der X11‐Start …

> in der .xsession
>

… nichts davon.


Ich löse bei mir die gestellte Aufgabe so, dass ich als letztes
Programm in der Datei «~/.xsession» keinen Fenstermanager sondern
ein «xterm» mit einem interaktiven Shell darin starte.  Den
Fenstermanager starte ich in der Datei «~/.xsession» vorher im
Hintergrund.

Dann kann ich im «xterm» jederzeit einen neuen Fenstermanager (im
Hintergrund) starten, wenn ich möchte.

Die X‐Sitzung beende ich, indem ich den Shell in dem «xterm»
beende.

Helmut Waitzmann

unread,
Jan 18, 2023, 2:53:49 PM1/18/23
to
Ulli Horlacher <fram...@rus.uni-stuttgart.de>:

> Man muss ja nicht jeder neusten Welle hinterherhecheln, aber ab
> und zu sollte man sich schon mal neuere und bessere Software
> anschauen. fvwm zB ;-)

Um wieder ontopic zu werden:  «fvwm» kann sich selber neu
starten.  Das Kommando (einzutragen in seine Konfiguration) heißt
«Restart».

Marco Moock

unread,
Jan 18, 2023, 3:00:18 PM1/18/23
to
Das hat mwm auch, aber das konnte ich nicht über das Kontextmenü
starten, denn ich konnte ja die Maus für mwm nicht nutzen.

Marco Moock

unread,
Jan 18, 2023, 3:01:32 PM1/18/23
to
Am 18.01.2023 um 20:43:55 Uhr schrieb Helmut Waitzmann:

> Ich löse bei mir die gestellte Aufgabe so, dass ich als letztes
> Programm in der Datei «~/.xsession» keinen Fenstermanager sondern
> ein «xterm» mit einem interaktiven Shell darin starte.  Den
> Fenstermanager starte ich in der Datei «~/.xsession» vorher im
> Hintergrund.

Habe ich eingetragen, wird getestet.

Christian Garbs

unread,
Jan 18, 2023, 4:18:22 PM1/18/23
to
Mahlzeit!
Bei "ist abgestürzt" dachte ich, er wäre komplett weg.

Wenn der mwn so klein ist, kann man das nicht nachrüsten? Er müsste
doch nur den vorhandenen Code aufrufen, wenn man ihm ein Signal
schickt.

Der von mir benutzte dwm macht einen re-exec(), wenn man ihm SIGUSR1
schickt. Vor Urzeiten war das mal ein Patch, ich weiß nicht, ob das
im offiziellen dwm aktuell drin ist.

Bei meinem eigenen Port habe ich das noch ein wenig erweitert und
schreibe vor dem Beenden ein paar Metainformationen (z.B. welcher
Workspace welches Layout benutzt) in X11-Atoms an den Clients und
rette sie so in neu startenden Prozess hinüber.

Gruß
Christian
--
....Christian.Garbs....................................https://www.cgarbs.de
Iren sind menschlich,
Schotten sind dicht.

Andreas Dehmel

unread,
Jan 19, 2023, 3:06:07 PM1/19/23
to
On Tue, 17 Jan 2023 16:19:22 +0000 (UTC)
Ulli Horlacher <fram...@rus.uni-stuttgart.de> wrote:

[...]
> Ich hatte damals, als ich noch mwm verwendet hatte:
>
> while :; do
> mwm
> sleep 2 # verhindert zu schnelles Neustarten im Fehlerfall
> done

Das ist halt im Endeffekt eine Endlosschleife, da kommt man eigentlich
nur noch gewaltsam raus, das ist unschön. Man sollte m.E. schon den exit
code auswerten, der ist normalerweise 0, wenn regulärer exit, bei meiner
alten xsession mit ctwm sah das am Ende der .xsession-Datei dann so aus:

wmstatus=1
while [ $wmstatus -ne 0 ]; do
ctwm -s
wmstatus=$?
done



Andreas

Sieghard Schicktanz

unread,
Jan 19, 2023, 4:13:05 PM1/19/23
to
Hallo Christian,

Du schriebst am Wed, 18 Jan 2023 21:18:20 -0000 (UTC):

> >> Um wieder ontopic zu werden:  «fvwm» kann sich selber neu
> >> starten.  Das Kommando (einzutragen in seine Konfiguration) heißt
> >> «Restart».
> >
> > Das hat mwm auch, aber das konnte ich nicht über das Kontextmenü
> > starten, denn ich konnte ja die Maus für mwm nicht nutzen.
...
> Wenn der mwn so klein ist, kann man das nicht nachrüsten? Er müsste
> doch nur den vorhandenen Code aufrufen, wenn man ihm ein Signal
> schickt.

Kann man den nicht von einer Text-Mode-Konsole damit neu starten?
so etwa: "mwm -display :0 -restart"?
"openbox" kann das, evtl. muß man, damit die Konsole wieder frei wird,
ein "&" dahintersetzen, oder man startet ihn gleich nochmal neu von X
aus.

--
(Weitergabe von Adressdaten, Telefonnummern u.ä. ohne Zustimmung
nicht gestattet, ebenso Zusendung von Werbung oder ähnlichem)
-----------------------------------------------------------
Mit freundlichen Grüßen, S. Schicktanz
-----------------------------------------------------------

Christian Weisgerber

unread,
Jan 19, 2023, 4:30:05 PM1/19/23
to
On 2023-01-19, Andreas Dehmel <blackhole....@spamgourmet.com> wrote:

> Das ist halt im Endeffekt eine Endlosschleife, da kommt man eigentlich
> nur noch gewaltsam raus, das ist unschön. Man sollte m.E. schon den exit
> code auswerten, der ist normalerweise 0, wenn regulärer exit,

> wmstatus=1
> while [ $wmstatus -ne 0 ]; do
> ctwm -s
> wmstatus=$?
> done

if/while/until werten ja direkt den Exit-Status aus. Der Umweg über
eine Variable ist unnötig umständlich.

until ctwm -s; do
:
done

Ob es sinnvoll ist, ausgerechnet in einer "WM stürzt ab"-Schleife
zu stecken, ist dann auch wieder eine Frage.

Marc Olschok

unread,
Jan 24, 2023, 12:14:08 PM1/24/23
to
Beim fvwm2 habe ich mir das Root Menu auch noch auf eine der
Funktionstasten gelegt (beim tippen geht der Tip zur Taste schneller
als der Griff zur Maus). Das sollte doch bei mwm auch möglich sein.

v.G.
--
M.O.

Marco Moock

unread,
Jan 25, 2023, 2:44:12 AM1/25/23
to
Ich könnte das bestimmt in der .mwmrc umbiegen, hatte ich damals nur
nicht gemacht.

0 new messages