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.