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

Couldn't open the X11 display

21 views
Skip to first unread message

Andreas Kohlbach

unread,
Feb 10, 2021, 7:08:31 AM2/10/21
to
Das Problem ist alt. Kam schon oft vor und ich konnte es immer
lösen. Diesmal aber nicht.

Zunächst lief Gnome seit Monaten. Dann nahm es keine Tastatureingaben mehr
an. Ich konnte nicht mal mehr mit STRG-ALT-F5 oder anderen auf eine TTY
wechseln. Zum Glück ging die Maus noch, dass ich Gnome sauber beenden
konnte.

GDM3 starte wieder und ich loggte mich problemlos ein. Aber nun wollen
viele Apps nicht mehr. So der mpv Video-Player (VLC interessanterweise
aber schon), gedit (Text Editor) und andere. Stellvertretend gedit:

| ~$ gedit
| Unable to init server: Could not connect: Connection refused
|
| (gedit:22621): Gtk-WARNING **: 07:01:50.951: cannot open display: :1.0

und

| ~$ echo $DISPLAY
| :1.0

Huh?

Ich habe auch schon mit xhost+ gespielt, was selbst auch meinte, es könne
das DISPLAY auf :1.0 nicht öffnen. Eine ~/.Xauthority ist vorhanden, die
das letzte Mal im Juli 2020 verändert wurde.

Google rät den Neustart des Desktops. Aber genau das hatte ich ja machen
müssen. Erst danach kommt es zum Problem.

Vermutlich würde ein Reboot das Problem lösen. Aber wir sind ja hier
nicht unter Windows. ;-)

Was kann ich noch tun?
--
Andreas

https://news-commentaries.blogspot.com/

Ulli Horlacher

unread,
Feb 10, 2021, 9:01:30 AM2/10/21
to
Andreas Kohlbach <a...@spamfence.net> wrote:

> Zunächst lief Gnome seit Monaten. Dann nahm es keine Tastatureingaben mehr
> an. Ich konnte nicht mal mehr mit STRG-ALT-F5 oder anderen auf eine TTY
> wechseln. Zum Glück ging die Maus noch, dass ich Gnome sauber beenden
> konnte.

Eine Nennung des Betriebssystems waere sinnvoll.


> | Unable to init server: Could not connect: Connection refused
> |
> | (gedit:22621): Gtk-WARNING **: 07:01:50.951: cannot open display: :1.0
>
> und
>
> | ~$ echo $DISPLAY
> | :1.0

Das hatte ich auch mal. Problem bei mir war, dass /tmp nicht (mehr)
schreibbar war bzw /tmp/.X11-unix fehlte.


framstag@moep:/: ll -R /tmp/.X11-unix
drwxrwxrwt root root - 2021-02-04 08:01:31 /tmp/.X11-unix
srwxrwxrwx root root - 2021-02-04 07:59:37 /tmp/.X11-unix/X0
srwxrwxrwx framstag users - 2021-02-04 08:01:31 /tmp/.X11-unix/X1

(Ja, ich hab zwei X Server laufen)


--
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/

Andreas Kohlbach

unread,
Feb 10, 2021, 12:03:10 PM2/10/21
to
On Wed, 10 Feb 2021 14:01:28 +0000 (UTC), Ulli Horlacher wrote:
>
> Andreas Kohlbach <a...@spamfence.net> wrote:
>
>> Zunächst lief Gnome seit Monaten. Dann nahm es keine Tastatureingaben mehr
>> an. Ich konnte nicht mal mehr mit STRG-ALT-F5 oder anderen auf eine TTY
>> wechseln. Zum Glück ging die Maus noch, dass ich Gnome sauber beenden
>> konnte.
>
> Eine Nennung des Betriebssystems waere sinnvoll.

Ich ging von einem reinen X-Problem aus, was z.B. auch UNIX treffen kann.

Linux Debian Testing.

>> | Unable to init server: Could not connect: Connection refused
>> |
>> | (gedit:22621): Gtk-WARNING **: 07:01:50.951: cannot open display: :1.0
>>
>> und
>>
>> | ~$ echo $DISPLAY
>> | :1.0
>
> Das hatte ich auch mal. Problem bei mir war, dass /tmp nicht (mehr)
> schreibbar war bzw /tmp/.X11-unix fehlte.
>
>
> framstag@moep:/: ll -R /tmp/.X11-unix
> drwxrwxrwt root root - 2021-02-04 08:01:31 /tmp/.X11-unix
> srwxrwxrwx root root - 2021-02-04 07:59:37 /tmp/.X11-unix/X0
> srwxrwxrwx framstag users - 2021-02-04 08:01:31 /tmp/.X11-unix/X1
>
> (Ja, ich hab zwei X Server laufen)

srwxrwxrwx 1 root root 0 Dec 14 10:11 X0
srwxrwxrwx 1 ank ank 0 Feb 8 12:45 X2

Ich habe also kein X1...

Habe ich (bis zum nächsten Start) mittels

export DISPLAY=:2.0

umschifft.

Danke.

PS: Ja, hatte das OS nicht genannt. "ll" habe ich hier nicht. Ist bei Dir
aber vermutlich ein alias auf "ls -l". Der sollte überall auch ohne
aliase funktionieren.
--
Andreas

Ulli Horlacher

unread,
Feb 10, 2021, 12:52:37 PM2/10/21
to
Andreas Kohlbach <a...@spamfence.net> wrote:

> > framstag@moep:/: ll -R /tmp/.X11-unix
> > drwxrwxrwt root root - 2021-02-04 08:01:31 /tmp/.X11-unix
> > srwxrwxrwx root root - 2021-02-04 07:59:37 /tmp/.X11-unix/X0
> > srwxrwxrwx framstag users - 2021-02-04 08:01:31 /tmp/.X11-unix/X1
> >
> > (Ja, ich hab zwei X Server laufen)
>
> srwxrwxrwx 1 root root 0 Dec 14 10:11 X0
> srwxrwxrwx 1 ank ank 0 Feb 8 12:45 X2
>
> Ich habe also kein X1...

Aber Dein Display war auf :1 gesetzt?
Dann ist das ein Bug des X-Login Managers (oder wie auch immer due dein
X11 startest).


> Habe ich (bis zum nächsten Start) mittels
>
> export DISPLAY=:2.0
>
> umschifft.

Das hilft dir nur in der aktuellen Shell.
UNIX kennt leider keine globalen Environment Variablen.


> "ll" habe ich hier nicht. Ist bei Dir aber vermutlich ein alias auf "ls
> -l". Der sollte überall auch ohne aliase funktionieren.

So viel Mitdenken setze ich voraus :-)

Aber deine Vermutung ist leicht falsch.

https://fex.belwue.de/fstools/l.html

Andreas Kohlbach

unread,
Feb 10, 2021, 10:10:58 PM2/10/21
to
On Wed, 10 Feb 2021 17:52:36 +0000 (UTC), Ulli Horlacher wrote:
>
> Andreas Kohlbach <a...@spamfence.net> wrote:
>
>> > framstag@moep:/: ll -R /tmp/.X11-unix
>> > drwxrwxrwt root root - 2021-02-04 08:01:31 /tmp/.X11-unix
>> > srwxrwxrwx root root - 2021-02-04 07:59:37 /tmp/.X11-unix/X0
>> > srwxrwxrwx framstag users - 2021-02-04 08:01:31 /tmp/.X11-unix/X1
>> >
>> > (Ja, ich hab zwei X Server laufen)
>>
>> srwxrwxrwx 1 root root 0 Dec 14 10:11 X0
>> srwxrwxrwx 1 ank ank 0 Feb 8 12:45 X2
>>
>> Ich habe also kein X1...
>
> Aber Dein Display war auf :1 gesetzt?

Ja.

> Dann ist das ein Bug des X-Login Managers (oder wie auch immer due dein
> X11 startest).

Kann es vielleicht dran liegen, dass ich Gnome (oder auch GDM3) seit
Monaten nicht neu startete, und mittlerweile viele Updates von beiden ins
Land gingen?

Apropos, kann man abfragen, wie lange Gnome schon läuft? Etwas wie
"uptime", was die Laufzeit von Linux angibt?

ps axu | grep gnome-session

gibt

[...] tty9 Sl+ Feb08 0:02 /usr/libexec/gnome-session-binary --systemd

8. Februar passt. Aber da steht nirgends eine Stunde oder Minute. IIRC
hatte ich ihn 12:48 Uhr lokaler Zeit neu gestartet.

Und gdm-x-session hat sehr ähnliche Werte.

>> Habe ich (bis zum nächsten Start) mittels
>>
>> export DISPLAY=:2.0
>>
>> umschifft.
>
> Das hilft dir nur in der aktuellen Shell.

Das reicht erst mal. Habe Gnome nur ein Mal gestartet, und nur ein
gnome-terminal darin.

> UNIX kennt leider keine globalen Environment Variablen.

Nicht? Oh!

Aber UNIX war als Beispiel genannt. X gibt es AFAIK auch für
Windows. Hätte ich stattdessen als Beispiel nehmen können.

Ist aber, wie gesagt, Debian.

[...]
--
Andreas

Thomas Zajic

unread,
Feb 11, 2021, 4:15:02 AM2/11/21
to
* Andreas Kohlbach <a...@spamfence.net>

> [...]
> Apropos, kann man abfragen, wie lange Gnome schon läuft? Etwas wie
> "uptime", was die Laufzeit von Linux angibt?
>
> ps axu | grep gnome-session
>
> gibt
>
> [...] tty9 Sl+ Feb08 0:02 /usr/libexec/gnome-session-binary --systemd
>
> 8. Februar passt. Aber da steht nirgends eine Stunde oder Minute. IIRC
> hatte ich ihn 12:48 Uhr lokaler Zeit neu gestartet.
> [...]

ps axu -eO lstart | grep gnome-session

HTH,
Thomas
--
=-------------------------------------------------------------------------=
- Thomas "ZlatkO" Zajic <zla...@gmx.at> Linux-5.4 & slrn-1.0.2 -
=-------------------------------------------------------------------------=

Helmut Waitzmann

unread,
Feb 11, 2021, 5:25:14 AM2/11/21
to
Andreas Kohlbach <a...@spamfence.net>:
>On Wed, 10 Feb 2021 17:52:36 +0000 (UTC), Ulli Horlacher wrote:

[«/tmp/.X11-unix/X1» fehlt, obwohl auf «:1» eine X‐Sitzung läuft.] 


>> Dann ist das ein Bug des X-Login Managers (oder wie auch immer
>> due dein X11 startest).
>
>Kann es vielleicht dran liegen, dass ich Gnome (oder auch GDM3)
>seit Monaten nicht neu startete,

Das ist ziemlich wahrscheinlich – jedenfalls dann, wenn man bedenkt,
dass der unsägliche «/tmp/»‐Staubsauger alles unter «/tmp/» löscht,
was ein gewisses Alter (1 Woche?) erreicht hat.  Das war zumindest
viele Jahre (ist es das noch immer?) lang Standardverhalten, und
warum das keine gute Idee ist oder war, kann man an solchen Effekten
wie dem von Dir beobachteten sehen. 

>und mittlerweile viele Updates von beiden ins Land gingen?
>

Das glaube ich weniger:  Warum sollte ein Paket‐Update einfach
Laufzeit‐Dateien löschen?  Das wäre ja unsinnig. 

>Apropos, kann man abfragen, wie lange Gnome schon läuft? Etwas wie
>"uptime", was die Laufzeit von Linux angibt?

Sofern Du Gnome immer gleich beim Login (und nur dort) startest,
fallen mir «who» und «last» ein. 


[Setzen der Umgebungsvariablen innerhalb des im Gnome‐Terminal
laufenden Shells]

>Das reicht erst mal. Habe Gnome nur ein Mal gestartet, und nur ein
>gnome-terminal darin.

Dem Gnome session manager, dem window manager und dem Gnome‐Terminal
selbst hilft es aber nicht:  Den neuen Wert der Variablen erhalten
nur Prozesse, die von dem im Gnome‐Terminal laufenden Shell
gestartet werden. 

Helfen würde vielleicht, den X‐Login‐Manager neu zu starten, etwa
durch Wählen eines Runlevels ohne X11 und anschließendes Wählen
eines Runlevels mit X11.  Obacht:  Dabei wird Deine X‐Sitzung
vermutlich beendet. 

>> UNIX kennt leider keine globalen Environment Variablen.
>>
>
>Nicht? Oh!
>

Jeder Prozess erhält beim Start eine eigene Menge an
Umgebungsvariablen, und es gibt keine Möglichkeit, dass ein Prozess
die Menge der Umgebungsvariablen eines anderen Prozesses
nachträglich ändert.  Manche Prozesse – beispielsweise Shells oder
das Programm «env» – ändern ihre eigenen Umgebungsvariablen. 

Aus den Handbuch‐Kapiteln «environ(7)», «execve(2)», «exec(3)» und
«fork(2)» geht hervor, wie Umgebungsvariable von einem Prozess zu
einem anderen gelangen. 

Das ist eigentlich Unix‐Grundwissen.  Ein Buch über Linux oder
Unix könnte Dir helfen.  Und damit meine ich kein Buch der Art «Die
besten Shell‐Kommandos» oder «So werde ich Kommandozeilen‐Profi». 

Juergen Ilse

unread,
Feb 11, 2021, 8:37:36 AM2/11/21
to
Hallo,,

Helmut Waitzmann <nn.th...@xoxy.net> wrote:
> Andreas Kohlbach <a...@spamfence.net>:
>>On Wed, 10 Feb 2021 17:52:36 +0000 (UTC), Ulli Horlacher wrote:
>
> [«/tmp/.X11-unix/X1» fehlt, obwohl auf «:1» eine X‐Sitzung läuft.] 

Der Socket fuer as Display :1 muesste X1 heissen. X0 sollte zum
Display :0 gehoeren. Wenn nur der Directory-Eintrag fuer den Socket
geloescht wurde, aber der X-Server noch laeuft, ist er moeglicherweise
ueber "TCP statt ueber "local transport" noch erreichbar. Um das zu
testen koennte man versuchen, DISPLAY 127.0.0.1:0 umzusetzen. Die
laengerfristige Loesung waere aber vermutlich, den X-Server neu zu
starten (dann sollte ein fehlender Socket fuer local transport neu
angelegt werden) oder falls das nicht passiert, die vermutlich falschen
Datei-Rechte zu korrigieren und dann den X-Server noch einmalneu zu
starten (bei allen mir bekannten X Display-Managern sollte das beenden
der aktuellen Session zum Neustart des X-Servers fuehren).

>>> Dann ist das ein Bug des X-Login Managers (oder wie auch immer
>>> due dein X11 startest).

bzw. der Konfiguration des selben (oder der Scripte drumherum, sofern
man die nicht mit zur Konfiguration zaehlt) ...

Tschuess,
Juergen Ilse (jue...@usenet-verwaltung.de)

Ulli Horlacher

unread,
Feb 11, 2021, 10:32:11 AM2/11/21
to
Andreas Kohlbach <a...@spamfence.net> wrote:

> > UNIX kennt leider keine globalen Environment Variablen.
>
> Nicht? Oh!

Typisches "not invented here". UNIX fehlt vieles, was in anderen
Betriebssystemen seit ueber 40 Jahren Standard ist. Die Kernelentwickler
antworten dann meist drauf: "Gibts nicht, noch nie von gehoert, das
brauchts nicht, bisher sind wir auch ohne ausgekommen."


> Aber UNIX war als Beispiel genannt. X gibt es AFAIK auch für
> Windows.

Und fuer VMS (da gabs X zuerst!).
Und MVS.
Und BS2000.
Und ...

Andreas Kohlbach

unread,
Feb 11, 2021, 11:18:45 AM2/11/21
to
On Thu, 11 Feb 2021 10:05:59 +0100, Thomas Zajic wrote:
>
> * Andreas Kohlbach <a...@spamfence.net>
>
>> [...]
>> Apropos, kann man abfragen, wie lange Gnome schon läuft? Etwas wie
>> "uptime", was die Laufzeit von Linux angibt?
>>
>> ps axu | grep gnome-session
>>
>> gibt
>>
>> [...] tty9 Sl+ Feb08 0:02 /usr/libexec/gnome-session-binary --systemd
>>
>> 8. Februar passt. Aber da steht nirgends eine Stunde oder Minute. IIRC
>> hatte ich ihn 12:48 Uhr lokaler Zeit neu gestartet.
>> [...]
>
> ps axu -eO lstart | grep gnome-session

Meiner kennt -e0 nicht. -e schon, aber dann lstart nicht.
--
Andreas

PGP fingerprint 952B0A9F12C2FD6C9F7E68DAA9C2EA89D1A370E0

Andreas Kohlbach

unread,
Feb 11, 2021, 11:39:50 AM2/11/21
to
On Thu, 11 Feb 2021 11:19:11 +0100, Helmut Waitzmann wrote:
>
> Andreas Kohlbach <a...@spamfence.net>:
>>On Wed, 10 Feb 2021 17:52:36 +0000 (UTC), Ulli Horlacher wrote:
>
> [«/tmp/.X11-unix/X1» fehlt, obwohl auf «:1» eine X‐Sitzung läuft.] 
>
>>> Dann ist das ein Bug des X-Login Managers (oder wie auch immer due
>>> dein X11 startest).
>>
>> Kann es vielleicht dran liegen, dass ich Gnome (oder auch GDM3) seit
>> Monaten nicht neu startete,
>
> Das ist ziemlich wahrscheinlich – jedenfalls dann, wenn man bedenkt,
> dass der unsägliche «/tmp/»‐Staubsauger alles unter «/tmp/» löscht,
> was ein gewisses Alter (1 Woche?) erreicht hat.  Das war zumindest
> viele Jahre (ist es das noch immer?) lang Standardverhalten, und
> warum das keine gute Idee ist oder war, kann man an solchen Effekten
> wie dem von Dir beobachteten sehen. 

Er startete ja neu, muss also in /tmp Dateien *neu* angelegt haben.

Aber es gibt nichts mit "*gnome* (Case ignoriert) in «/tmp/» oder «/var/tmp/».

[...]

>> Apropos, kann man abfragen, wie lange Gnome schon läuft? Etwas wie
>> "uptime", was die Laufzeit von Linux angibt?
>
> Sofern Du Gnome immer gleich beim Login (und nur dort) startest,
> fallen mir «who» und «last» ein. 

Was meinst Du mit "beim Login"?

Ich starte Gnome via GDM(3), wähle meinen User-Name und geben das Passwort.

> [Setzen der Umgebungsvariablen innerhalb des im Gnome‐Terminal
> laufenden Shells]
>
>> Das reicht erst mal. Habe Gnome nur ein Mal gestartet, und nur ein
>> gnome-terminal darin.
>
> Dem Gnome session manager, dem window manager und dem Gnome‐Terminal
> selbst hilft es aber nicht:  Den neuen Wert der Variablen erhalten
> nur Prozesse, die von dem im Gnome‐Terminal laufenden Shell gestartet
> werden. 

Yup. Aber ich verwende nur dieses Gnome-Terminal, um gedit, eog und
anderes zu starten, was $DISPLAY auswertet.

Btw. warum startet VLC (mit falschem $DISPLAY Wert) nicht vom Terminal
(wie schon gedit und eog nicht starten - natürlich), wohl aber, wenn ich
es aus Gnome direkt über die Favoriten-Liste starte?

> Helfen würde vielleicht, den X‐Login‐Manager neu zu starten, etwa
> durch Wählen eines Runlevels ohne X11 und anschließendes Wählen
> eines Runlevels mit X11.  Obacht:  Dabei wird Deine X‐Sitzung
> vermutlich beendet. 
>
>>> UNIX kennt leider keine globalen Environment Variablen.
>>
>> Nicht? Oh!
>
> Jeder Prozess erhält beim Start eine eigene Menge an
> Umgebungsvariablen, und es gibt keine Möglichkeit, dass ein Prozess
> die Menge der Umgebungsvariablen eines anderen Prozesses nachträglich
> ändert.  Manche Prozesse – beispielsweise Shells oder das Programm
> «env» – ändern ihre eigenen Umgebungsvariablen. 
>
> Aus den Handbuch‐Kapiteln «environ(7)», «execve(2)», «exec(3)» und
> «fork(2)» geht hervor, wie Umgebungsvariable von einem Prozess zu
> einem anderen gelangen. 

Danke.

> Das ist eigentlich Unix‐Grundwissen.

Habe mit Linux angefangen, und kenne die Begriffe oben auch nur
oberflächlich. Aber ich bin kein professioneller Anwender indem Sinn,
alles rund um den Linux Kernel aus des Effeff zu kennen.

Ich hatte testweise mal Free-BSD auf einem USB Stick zum "Spielen".

> Ein Buch über Linux oder Unix könnte Dir helfen.  Und damit meine ich
> kein Buch der Art «Die besten Shell‐Kommandos» oder «So werde ich
> Kommandozeilen‐Profi». 

Sondern "UNIX for Dummies"? ;-)
--
Andreas

Christian Garbs

unread,
Feb 11, 2021, 5:09:38 PM2/11/21
to
Mahlzeit!

Andreas Kohlbach <a...@spamfence.net> wrote:
> On Thu, 11 Feb 2021 10:05:59 +0100, Thomas Zajic wrote:

>> ps axu -eO lstart | grep gnome-session
>
> Meiner kennt -e0 nicht. -e schon, aber dann lstart nicht.

Das ist ein Oh, keine Null :-)

Gruß
Christian
--
....Christian.Garbs....................................https://www.cgarbs.de
NEWS FLASH!!
Today the East German pole-vault champion became the West
German pole-vault champion.

Andreas Kohlbach

unread,
Feb 11, 2021, 7:35:17 PM2/11/21
to
On Thu, 11 Feb 2021 23:09:37 +0100 (CET), Christian Garbs wrote:
>
> Andreas Kohlbach <a...@spamfence.net> wrote:
>> On Thu, 11 Feb 2021 10:05:59 +0100, Thomas Zajic wrote:
>
>>> ps axu -eO lstart | grep gnome-session
>>
>> Meiner kennt -e0 nicht. -e schon, aber dann lstart nicht.
>
> Das ist ein Oh, keine Null :-)

Okay, hatte meine Antwort abgetippt, dabei versehentlich 0 statt O
eingegeben.

Aber auch mit -eO wirft ps

| ~$ ps axu -eO lstart | grep gnome-session
| error: conflicting format options

und dann seine Hilfe aus. Debian Linux hier, falls das wichtig ist. Und

| ~$ ps -V
| ps from procps-ng 3.3.16

Diedrich Ehlerding

unread,
Feb 12, 2021, 4:21:22 AM2/12/21
to
Andreas Kohlbach meinte:

> Aber auch mit -eO wirft ps
>
> | ~$ ps axu -eO lstart | grep gnome-session
> | error: conflicting format options
>
> und dann seine Hilfe aus. Debian Linux hier, falls das wichtig ist.

Dito bei meiner opensuse 15.2

| diedrich@diedrich:~> ps axu -eO lstart
| error: conflicting format options
|
| Usage:
| ps [options]
|
| Try 'ps --help <simple|list|output|threads|misc|all>'
| or 'ps --help <s|l|o|t|m|a>'
| for additional help text.
|
| For more details see ps(1).
| diedrich@diedrich:~> ps --version
| ps from procps-ng 3.3.15
| diedrich@diedrich:~>

--
gpg-Key (DSA 1024) D36AD663E6DB91A4
fingerprint = 2983 4D54 E00B 8483 B5B8 C7D1 D36A D663 E6DB 91A4
HTML-Mail wird ungeleſen entſorgt.

Stefan Möding

unread,
Feb 12, 2021, 7:07:01 AM2/12/21
to
Andreas Kohlbach <a...@spamfence.net> writes:

> On Thu, 11 Feb 2021 23:09:37 +0100 (CET), Christian Garbs wrote:
>>
>> Andreas Kohlbach <a...@spamfence.net> wrote:
>>> On Thu, 11 Feb 2021 10:05:59 +0100, Thomas Zajic wrote:
>>
>>>> ps axu -eO lstart | grep gnome-session
>>>
>>> Meiner kennt -e0 nicht. -e schon, aber dann lstart nicht.
>>
>> Das ist ein Oh, keine Null :-)

> Okay, hatte meine Antwort abgetippt, dabei versehentlich 0 statt O
> eingegeben.

> Aber auch mit -eO wirft ps

> | ~$ ps axu -eO lstart | grep gnome-session
> | error: conflicting format options

"axu" sind BSD Optionen, während "-e" eine typische SysV Option ist. Das
ps Kommando hat in der Hinsicht eine gespaltene Persönlichkeit, aber das
ist dann wohl doch zu viel...

Die "O" Option zur Ausgabe einer angegebenen Prozess-Eigenschaft ist
ebenfalls BSD, so dass es dann wohl so aussehen sollte, um den
Start-Zeitpunkt aller Prozesse anzuzeigen:

ps axO lstart

--
Stefan

Thomas Zajic

unread,
Feb 12, 2021, 10:30:04 AM2/12/21
to
* Stefan Möding <Feb2021....@spamgourmet.com>

> Andreas Kohlbach <a...@spamfence.net> writes:
>
> [...]
> > Aber auch mit -eO wirft ps
>
> > | ~$ ps axu -eO lstart | grep gnome-session
> > | error: conflicting format options

Ja, sorry, mein Fehler. Das "u" weglassen, dann tuts. Das "u" verwende ich
normalerweise nur selten.

> [...]
> Die "O" Option zur Ausgabe einer angegebenen Prozess-Eigenschaft ist
> ebenfalls BSD, so dass es dann wohl so aussehen sollte, um den
> Start-Zeitpunkt aller Prozesse anzuzeigen:
>
> ps axO lstart

Ja, oder so. :-) Sorry nochmal für die Verwirrung!

LG,

Helmut Waitzmann

unread,
Feb 12, 2021, 2:59:15 PM2/12/21
to
Andreas Kohlbach <a...@spamfence.net>:
>On Thu, 11 Feb 2021 11:19:11 +0100, Helmut Waitzmann wrote:
>> Andreas Kohlbach <a...@spamfence.net>:
>>>On Wed, 10 Feb 2021 17:52:36 +0000 (UTC), Ulli Horlacher wrote:

>> [«/tmp/.X11-unix/X1» fehlt, obwohl auf «:1» eine X‐Sitzung
>> läuft.] 

>>> Kann es vielleicht dran liegen, dass ich Gnome (oder auch GDM3)
>>> seit Monaten nicht neu startete,
>>
>> Das ist ziemlich wahrscheinlich – jedenfalls dann, wenn man
>> bedenkt, dass der unsägliche «/tmp/»‐Staubsauger alles unter
>> «/tmp/» löscht, was ein gewisses Alter (1 Woche?) erreicht hat. 
>> Das war zumindest viele Jahre (ist es das noch immer?) lang
>> Standardverhalten, und warum das keine gute Idee ist oder war,
>> kann man an solchen Effekten wie dem von Dir beobachteten sehen. 
>
>Er startete ja neu, muss also in /tmp Dateien *neu* angelegt haben.
>

Du hattest geschrieben, dass Du GDM3 neu startetest, nicht, dass Du
den X‐Server beendetest und neu startetest.  Da kann es
durchaus sein, dass der X‐Server nach dem Ende der X‐Sitzung nicht
neu gestartet wurde sondern nur einen Reset durchgeführt hat.  Wenn
er beim Reset das vom Staubsauger abgeräumte socket nicht neu
anlegt, fehlt es. 

>Aber es gibt nichts mit "*gnome* (Case ignoriert) in «/tmp/» oder
>«/var/tmp/».

«/tmp/.X11-unix/X1» hat nicht mit Gnome sondern mit dem X‐Server zu
tun.  Ich nehme an, es wird beim Start des X‐Servers angelegt –
keine Ahnung, ob vom X‐Server selbst oder von dem, der den X‐Server
startet. 

>>> Apropos, kann man abfragen, wie lange Gnome schon läuft? Etwas
>>> wie "uptime", was die Laufzeit von Linux angibt?
>>
>> Sofern Du Gnome immer gleich beim Login (und nur dort) startest,
>> fallen mir «who» und «last» ein. 
>
>Was meinst Du mit "beim Login"?
>

Unter Login verstehe ich, sich mit Benutzername und Passwort am
System anzumelden, sei es am X login manager oder an der
virtuellen Konsole. 

>> [Setzen der Umgebungsvariablen innerhalb des im Gnome‐Terminal
>> laufenden Shells]
>>
>>> Das reicht erst mal. Habe Gnome nur ein Mal gestartet, und nur
>>> ein gnome-terminal darin.
>>
>> Dem Gnome session manager, dem window manager und dem
>> Gnome‐Terminal selbst hilft es aber nicht:  Den neuen Wert der
>> Variablen erhalten nur Prozesse, die von dem im Gnome‐Terminal
>> laufenden Shell gestartet werden. 
>
>Yup. Aber ich verwende nur dieses Gnome-Terminal, um gedit, eog und
>anderes zu starten, was $DISPLAY auswertet.
>
>Btw. warum startet VLC (mit falschem $DISPLAY Wert) nicht vom
>Terminal (wie schon gedit und eog nicht starten - natürlich), wohl
>aber, wenn ich es aus Gnome direkt über die Favoriten-Liste starte?

Keine Ahnung.  Wird vielleicht VLC beim Start über die
Favoriten‐Liste der richtige Name des Displays mitgeteilt?

>> Helfen würde vielleicht, den X‐Login‐Manager neu zu starten, etwa
>> durch Wählen eines Runlevels ohne X11 und anschließendes Wählen
>> eines Runlevels mit X11.  Obacht:  Dabei wird Deine X‐Sitzung
>> vermutlich beendet. 
>>
>>>> UNIX kennt leider keine globalen Environment Variablen.
>>>>
>>>>
>>> Nicht? Oh!
>>>

>> Jeder Prozess erhält beim Start eine eigene Menge an
>> Umgebungsvariablen, und es gibt keine Möglichkeit, dass ein
>> Prozess die Menge der Umgebungsvariablen eines anderen Prozesses
>> nachträglich ändert.  Manche Prozesse – beispielsweise Shells
>> oder das Programm «env» – ändern ihre eigenen
>> Umgebungsvariablen. 
>>
>> Aus den Handbuch‐Kapiteln «environ(7)», «execve(2)», «exec(3)»
>> und «fork(2)» geht hervor, wie Umgebungsvariable von einem
>> Prozess zu einem anderen gelangen. 
>
>Danke.
>
>> Das ist eigentlich Unix‐Grundwissen.
>>

>Habe mit Linux angefangen, und kenne die Begriffe oben auch nur
>oberflächlich. Aber ich bin kein professioneller Anwender indem
>Sinn, alles rund um den Linux Kernel aus des Effeff zu kennen.

Du musst nicht den Linux‐Kern kennen.  Es genügt, die Schale des
Kerns (hier: die Systemaufrufe «fork» und «execve») zu kennen. 

>> Ein Buch über Linux oder Unix könnte Dir helfen.  Und damit meine
>> ich kein Buch der Art «Die besten Shell‐Kommandos» oder «So werde
>> ich Kommandozeilen‐Profi». 
>
>Sondern "UNIX for Dummies"? ;-)
>

Da würde sicher nicht mehr drinstehen, als das, was Du bereits
weißt.  Ich denke eher beispielsweise an Maurice J. Bach: «The
Design of the UNIX Operating System».  Bach erklärt darin neben
vielem anderen die Systemaufrufe «fork» und «execve» ausführlich und
stellt auch die prinzipielle Funktionsweise des Shells vor.  Das
Buch soll es auch auf Deutsch geben. 

Oder schau Dir die Bücherempfehlungen im Abschnitt «SEE ALSO» des
Handbuchs «mremap(2)» für den Systemaufruf «mremap» an. 

Juergen Ilse

unread,
Feb 12, 2021, 5:57:39 PM2/12/21
to
Hallo,

Helmut Waitzmann <nn.th...@xoxy.net> wrote:
> «/tmp/.X11-unix/X1» hat nicht mit Gnome sondern mit dem X‐Server zu
> tun.  Ich nehme an, es wird beim Start des X‐Servers angelegt –

Ja, meines Wissens nach ist das so. Bei Start eines X-Servers wird der
zugehoerie Socket angelebt, bei Beendigung des X-Servers wieder geloescht
(das Verzeichnis wird aber nicht geloescht).

> keine Ahnung, ob vom X‐Server selbst oder von dem, der den X‐Server
> startet. 

Meines Wissens nach vom X-Server.

>>> Dem Gnome session manager, dem window manager und dem
>>> Gnome‐Terminal selbst hilft es aber nicht:  Den neuen Wert der
>>> Variablen erhalten nur Prozesse, die von dem im Gnome‐Terminal
>>> laufenden Shell gestartet werden. 
>>
>>Yup. Aber ich verwende nur dieses Gnome-Terminal, um gedit, eog und
>>anderes zu starten, was $DISPLAY auswertet.
>>
>>Btw. warum startet VLC (mit falschem $DISPLAY Wert) nicht vom
>>Terminal (wie schon gedit und eog nicht starten - natürlich), wohl
>>aber, wenn ich es aus Gnome direkt über die Favoriten-Liste starte?
>
> Keine Ahnung.  Wird vielleicht VLC beim Start über die
> Favoriten‐Liste der richtige Name des Displays mitgeteilt?

Das ist sogar sehr wahrscheinlich. Wenn das so ist, koennte er ueber das
Gnome-Menu ein weiteres gnome-terminal aufmachen und den Wert der Environment
Variable DISPLAY aus der darin laufenden shell pruefen ...
Moeglicheweise wird alles aus dem gnome-terminal heraus gestartete wieder
mit dem korrekten DISPLAY gestartet ...

>>> Helfen würde vielleicht, den X‐Login‐Manager neu zu starten, etwa
>>> durch Wählen eines Runlevels ohne X11 und anschließendes Wählen
>>> eines Runlevels mit X11.  Obacht:  Dabei wird Deine X‐Sitzung
>>> vermutlich beendet. 

Nicht "vermutlich" sondern mit ziemlicher Sicherheit.

>>>>> UNIX kennt leider keine globalen Environment Variablen.
>>>> Nicht? Oh!

Das Environment ist ein Konzept, um jedem Prozess speziell bestimmte Daten
auuserhalb der Konfigurationsdateien mit auf den Weg geben zu koennen, und
diese dann an Child-Prozesse "vererben" zu koennen. Wenn man globale Ein-
stellungen benoetigt, sollten diese in Konfigurationsdateien untergebracht
werden.

>>> Jeder Prozess erhält beim Start eine eigene Menge an
>>> Umgebungsvariablen, und es gibt keine Möglichkeit, dass ein
>>> Prozess die Menge der Umgebungsvariablen eines anderen Prozesses
>>> nachträglich ändert.  Manche Prozesse – beispielsweise Shells
>>> oder das Programm «env» – ändern ihre eigenen
>>> Umgebungsvariablen. 
>>>
>>> Aus den Handbuch‐Kapiteln «environ(7)», «execve(2)», «exec(3)»
>>> und «fork(2)» geht hervor, wie Umgebungsvariable von einem
>>> Prozess zu einem anderen gelangen. 
>>> Das ist eigentlich Unix‐Grundwissen.

So ist es. Es wird auch vom System benutzt, um z.B. das vom System an den
Login-Prozess weitergegebene Environment an die Login-shell und von dort
an die aus der shell heraus gestarteten Prozesse (sofern man das Environ-
ment der shell nicht veraendert). Ebenso wird von dem Prozess, der den
X-server und den Window-manager startet, das Environment fuer diese Prozesse
gesetzt, und da die dieses an ihre Child-Prozesse weitervererben, bekommen
die i.d.R. alle benoetigten Evironment-Variablen (wie z.B. DISPLAY,
X-AUTHORITY, ...) mit auf den Weg gegeben.

Tschuess,
Juergen Ilse (jue...@usenet-verwaltung.de)

Andreas Kohlbach

unread,
Feb 12, 2021, 8:57:21 PM2/12/21
to
On Fri, 12 Feb 2021 20:34:25 +0100, Helmut Waitzmann wrote:
>
> Andreas Kohlbach <a...@spamfence.net>:
>>On Thu, 11 Feb 2021 11:19:11 +0100, Helmut Waitzmann wrote:
>>> Andreas Kohlbach <a...@spamfence.net>:
>>>>On Wed, 10 Feb 2021 17:52:36 +0000 (UTC), Ulli Horlacher wrote:
>
>>> [«/tmp/.X11-unix/X1» fehlt, obwohl auf «:1» eine X‐Sitzung läuft.] 
>
>>>> Kann es vielleicht dran liegen, dass ich Gnome (oder auch GDM3)
>>>> seit Monaten nicht neu startete,
>>>
>>> Das ist ziemlich wahrscheinlich – jedenfalls dann, wenn man
>>> bedenkt, dass der unsägliche «/tmp/»‐Staubsauger alles unter
>>> «/tmp/» löscht, was ein gewisses Alter (1 Woche?) erreicht hat. 
>>> Das war zumindest viele Jahre (ist es das noch immer?) lang
>>> Standardverhalten, und warum das keine gute Idee ist oder war, kann
>>> man an solchen Effekten wie dem von Dir beobachteten sehen. 
>>
>> Er startete ja neu, muss also in /tmp Dateien *neu* angelegt haben.
>
> Du hattest geschrieben, dass Du GDM3 neu startetest, nicht, dass Du
> den X‐Server beendetest und neu startetest.  Da kann es
> durchaus sein, dass der X‐Server nach dem Ende der X‐Sitzung nicht neu
> gestartet wurde sondern nur einen Reset durchgeführt hat.  Wenn er
> beim Reset das vom Staubsauger abgeräumte socket nicht neu anlegt,
> fehlt es. 

Der GDM startet X selbst automatisch neu:

| Mon Feb 8 12:45:05 2021 S tty9 01:54:18 Xorg
^^^^^^
Allerdings laufen hier, wegen dem Wayland, den ich nicht loswerden kann,
zwei:

| Mon Dec 14 10:11:30 2020 S ? 00:00:09 Xorg

[...]

>> Btw. warum startet VLC (mit falschem $DISPLAY Wert) nicht vom
>> Terminal (wie schon gedit und eog nicht starten - natürlich), wohl
>>aber, wenn ich es aus Gnome direkt über die Favoriten-Liste starte?
>
> Keine Ahnung.  Wird vielleicht VLC beim Start über die Favoriten‐Liste
> der richtige Name des Displays mitgeteilt?

Ich würde nicht fragen, wenn ich es wüsste. ;-)

Und woher soll es wissen, was der Richtige ist? Wo X1 doch fehlte, kann
er nicht mal aufgrund vorhandener Sockets raten.

[...]
--
Andreas

Helmut Waitzmann

unread,
Feb 13, 2021, 4:00:32 PM2/13/21
to
Andreas Kohlbach <a...@spamfence.net>:
>On Fri, 12 Feb 2021 20:34:25 +0100, Helmut Waitzmann wrote:
>> Andreas Kohlbach <a...@spamfence.net>:

>> Du hattest geschrieben, dass Du GDM3 neu startetest, nicht, dass
>> Du den X‐Server beendetest und neu startetest.  Da kann es
>> durchaus sein, dass der X‐Server nach dem Ende der X‐Sitzung
>> nicht neu gestartet wurde sondern nur einen Reset durchgeführt
>> hat.  Wenn er beim Reset das vom Staubsauger abgeräumte socket
>> nicht neu anlegt, fehlt es. 
>
>Der GDM startet X selbst automatisch neu:
>
>
>| Mon Feb 8 12:45:05 2021 S tty9 01:54:18 Xorg
> ^^^^^^
>Allerdings laufen hier, wegen dem Wayland, den ich nicht loswerden
>kann, zwei:
>
>| Mon Dec 14 10:11:30 2020 S ? 00:00:09 Xorg
>

Aus Deinen Angaben ist nicht zu ersehen, welche Zeile sich auf den
Xorg, dessen Socket fehlt, bezieht. 

Eine ordentliche Prozessliste mit PIds, PPIds, starting times oder
elapsed times und argument lists wäre angebracht, um das zu zeigen. 
Die folgenden Parameter für den Aufruf des Programms «ps» könnten
dabei helfen (siehe im Handbuch «ps(1)» den Abschnitt «STANDARD
FORMAT SPECIFIERS»):

-o ppid -o sid -o pgid -o pid -o ruser -o stat -o tty -o stime -o
etime -o args


>>> Btw. warum startet VLC (mit falschem $DISPLAY Wert) nicht vom
>>> Terminal (wie schon gedit und eog nicht starten - natürlich),
>>> wohl aber, wenn ich es aus Gnome direkt über die Favoriten-Liste
>>> starte?
>>
>> Keine Ahnung.  Wird vielleicht VLC beim Start über die
>> Favoriten‐Liste der richtige Name des Displays mitgeteilt?
>
>Ich würde nicht fragen, wenn ich es wüsste. ;-)
>

Ich weiß über Gnome und seine Favoriten‐Liste nichts.  Du könntest
nachforschen, was Gnome tut, wenn es VLC aus der Favoriten‐Liste
startet.  Eine Möglichkeit dazu ist, ein Wrapper‐Shell‐Skript für
VLC zu bauen und es anstelle von VLC in die Favoriten‐Liste zu
stellen.  Das Shell‐Skript könnte beispielsweise die
Aufrufparameterliste und alle Umgebungsvariablen an den Aufrufer per
E‐Mail schicken und dann VLC starten (anstelle von «VLC» im Skript
den Namen des VLC‐Programms hinschreiben):

#!/bin/sh
bash_printf()
{
bash -c -- 'printf "$@"' bash
} &&
{
printf '%s\n' 'Die Umgebungsvariablen:' &&
env &&
printf '\n%s\n' 'Die Aufrufparameter:' &&
bash_printf '%q\n' "$@"
} | mailx -s 'VLC-Aufruf' -- "$LOGNAME"
exec VLC "$@"

Eine andere Möglichkeit wäre, den Wrapper zunächst einen
Terminal‐Emulator (etwa «xterm») mit interaktivem Shell starten zu
lassen.  Das bietet dem Anwender die Möglichkeit, interaktiv zu
untersuchen, wie die Prozessumgebung für VLC aussieht:

#!/bin/sh
xterm -e bash -s -- "$$" "$@" &&
exec VLC "$@"

Man erhält dann ein «xterm» mit einem «bash».  Die Parameterliste
kann man dann ähnlich wie oben mit «printf» ansehen, indem man das
Kommando

( shift && printf '%q\n' "$@" )

eintippt. 

Auch Informationen über die Prozess‐Sitzung, der der
Wrapper‐Skript‐Prozess angehört, könnten interessant sein:

ps -o sid= -p "$1" |
xargs -E '' -- ps -o ppid -o sid -o pgid -o pid -o tty \
-o ruser -o stime -o etime -o stat -o args -s

Möchte man die Untersuchung beenden, ohne VLC zu starten,
tippt man

kill -s TERM -- "$PPID"

ein.  Möchte man die Untersuchung beenden und VLC starten, tippt man


exit 0

ein. 

[Es geht um den Namen des Displays.]


>Und woher soll es wissen, was der Richtige ist?
>

Möglicherweise aus den Umgebungsvariablen oder der
Aufrufparameter‐Liste.  Da nachzusehen, könnte das Wrapper‐Skript
helfen. 

fritz_s

unread,
Feb 13, 2021, 6:08:03 PM2/13/21
to
Helmut Waitzmann <nn.th...@xoxy.net> wrote:
[...]
>
> Ich weiß über Gnome und seine Favoriten?Liste nichts.  Du könntest
> nachforschen, was Gnome tut, wenn es VLC aus der Favoriten?Liste
> startet.  Eine Möglichkeit dazu ist, ein Wrapper?Shell?Skript für
> VLC zu bauen und es anstelle von VLC in die Favoriten?Liste zu
> stellen.  Das Shell?Skript könnte beispielsweise die
> Aufrufparameterliste und alle Umgebungsvariablen an den Aufrufer per
> E?Mail schicken und dann VLC starten (anstelle von «VLC» im Skript
> den Namen des VLC?Programms hinschreiben):
>
> #!/bin/sh
> bash_printf()
> {
> bash -c -- 'printf "$@"' bash
> } &&
> {
> printf '%s\n' 'Die Umgebungsvariablen:' &&
> env &&
> printf '\n%s\n' 'Die Aufrufparameter:' &&
> bash_printf '%q\n' "$@"
> } | mailx -s 'VLC-Aufruf' -- "$LOGNAME"
> exec VLC "$@"
>
> Eine andere Möglichkeit wäre, den Wrapper zunächst einen
> Terminal?Emulator (etwa «xterm») mit interaktivem Shell starten zu
> lassen.  Das bietet dem Anwender die Möglichkeit, interaktiv zu
> untersuchen, wie die Prozessumgebung für VLC aussieht:
>
[...]

Ev. ist /proc auch ganz hilfreich:

Environment:
tr '\0' '\n' < /proc/<IP_von_VLC>/environ
oder
tr '\0' '\n' < /proc/<IP_von_VLC>/environ | sort
oder
tr '\0' '\n' < /proc/<IP_von_VLC>/environ | grep ...

Cmdline:
tr '\0' '\n' < /proc/<IP_von_VLC>/cmdline

Und überhaupt, in /proc/<IP_von_VLC> gibt es viele interessante Files.

HTH
--
fs (svad...@gmail.com)
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Wo aber der Wein fehlt, stirbt der Reiz des Lebens. - Euripides

fritz_s

unread,
Feb 13, 2021, 6:38:03 PM2/13/21
to
Helmut Waitzmann <nn.th...@xoxy.net> wrote:
[...]
>
> Ich weiß über Gnome und seine Favoriten?Liste nichts.  Du könntest
> nachforschen, was Gnome tut, wenn es VLC aus der Favoriten?Liste
> startet.  Eine Möglichkeit dazu ist, ein Wrapper?Shell?Skript für
> VLC zu bauen und es anstelle von VLC in die Favoriten?Liste zu
> stellen.  Das Shell?Skript könnte beispielsweise die
> Aufrufparameterliste und alle Umgebungsvariablen an den Aufrufer per
> E?Mail schicken und dann VLC starten (anstelle von «VLC» im Skript
> den Namen des VLC?Programms hinschreiben):
>
> #!/bin/sh
> bash_printf()
> {
> bash -c -- 'printf "$@"' bash
> } &&
> {
> printf '%s\n' 'Die Umgebungsvariablen:' &&
> env &&
> printf '\n%s\n' 'Die Aufrufparameter:' &&
> bash_printf '%q\n' "$@"
> } | mailx -s 'VLC-Aufruf' -- "$LOGNAME"
> exec VLC "$@"
>
> Eine andere Möglichkeit wäre, den Wrapper zunächst einen
> Terminal?Emulator (etwa «xterm») mit interaktivem Shell starten zu
> lassen.  Das bietet dem Anwender die Möglichkeit, interaktiv zu
> untersuchen, wie die Prozessumgebung für VLC aussieht:
>
[...]

Ev. ist /proc auch ganz hilfreich:

Environment:
tr '\0' '\n' < /proc/<PID_von_VLC>/environ
oder
tr '\0' '\n' < /proc/<PID_von_VLC>/environ | sort
oder
tr '\0' '\n' < /proc/<PID_von_VLC>/environ | grep ...

Cmdline:
tr '\0' '\n' < /proc/<PID_von_VLC>/cmdline

Und überhaupt, in /proc/<PID_von_VLC> gibt es viele interessante Files.
0 new messages