Manchmal habe ich Probleme mit der Anzeige und meistens möchte ich wissen, welche Dateien oder Prozesse die Umgebungsvariable DISPLAY verwenden.
Wie liste ich alle Prozesse auf, für die DISPLAY eingestellt ist?
command-line
environment-variables
Maythux
quelle
quelle
DISPLAY
in jeder Datei. Diese Dateien befinden sich tatsächlich in den Prozessen, die ausgeführt werden. Jede Datei, die das Wort enthält,DISPLAY
bedeutet, dass dieser Prozess es verwendet. Sie können nicht den vollständigen Prozessnamen abrufen, da die Namen in der Ausgabe die Dateinamen sind, die gegründet wurden./proc
Sie können also einfach nicht mehr als die angebotenen wissen.Mit einer kleinen Änderung am Maythux-Skript können wir auch die PID der Prozesse mithilfe der DISPLAY-Variablen abrufen.
Die Ausgabe ist:
quelle
Das ist ein ziemlich geschicktes Kommandozeilen-Scripting! Ich werde eine Kopie dieses Skripts erstellen, falls ich es hacken muss, um etwas anderes herauszufinden.
Im Idealfall enthalten alle aktuellen Prozesse, die den Programmen entsprechen, die Sie nach dem Anmelden auf dem lokalen Computer ausführen, dieselbe Anzeigevariable wie Ihre erste offene pts-Konsole (Pseudo-Terminal-Sitzung).
Wenn Sie beispielsweise Ihre erste Terminalsitzung (gnome-terminal) öffnen und den Befehl who oder w ausführen, werden Sie eine Ausgabe wie die folgende bemerken:
oder einige Leute könnten so aussehen (aber nicht Ihr Fall)
Wenn bei Verwendung des Lichtanzeigemanagers die Variable DISPLAY für die Ausführung von Shells nach der Anmeldung anders eingestellt ist (z. B. 0.0), ergibt die Umgebungsvariable für DISPLAY dieselbe Anzeigevariable wie die Anzeigevariable nach der Anmeldung der ersten geöffneten Punkte (: 0.0), aber die Hostvariable bei der Anmeldung wäre immer noch (: 0).
Durch Echo der DISPLAY-Variablen oder durch Ausführen von set auf weniger wie unten gezeigt:
oder
Sie können auch die aktuelle Anzeigevariable Ihrer Sitzung überprüfen und sehen, auf welche sie eingestellt ist, um Shells nach der Anmeldung auszuführen. Im Grunde genommen hat die Anzeigevariable der Prozesse, die Sie ausführen, dieselbe Anzeigevariable wie Ihre ersten offenen Punkte nach der Anmeldung.
Die Ausgabe des Skripts, das Sie veröffentlicht haben, deutet darauf hin, dass Ihre ersten geöffneten Punkte dieselbe Anzeigevariable haben wie das Login Ihres Anzeigemanagers, in diesem Fall: 0.
Für das zweite Beispiel würde die Ausgabe ungefähr so aussehen:
Weitere Informationen finden Sie in den Manpages zu ptmx
Dies könnte Ihnen einen Einblick in die Master-Slave-Beziehung von Pseudo-Terminals geben.
Ich hoffe das hilft!
Auch woher hast du das Drehbuch?
quelle