Wie finde ich den Wert von DISPLAY auf einem Linux-Terminal

1

Angenommen, ich habe eine export DISPLAY=:1in X weitergeleitete SSH-Sitzung durchgeführt. Jetzt möchte ich ihn auf seinen ursprünglichen Wert zurücksetzen, sodass er beim Starten von X-Apps auf meinem Bildschirm und nicht auf meinem angezeigt wird :1. Gibt es eine Möglichkeit, das zu finden, was es war, und es darauf einzustellen? Oder geht der Wert beim Überschreiben unwiderruflich verloren?

Ich möchte die ssh-Sitzung nicht neu starten müssen, nur weil ich den Wert von geändert habe DISPLAY.

AnkurVj
quelle

Antworten:

3

Sie können es zuerst in einer anderen Variablen speichern:

export DISPLAY_BACKUP=$DISPLAY
export DISPLAY=:1

So stellen Sie es wieder her:

export DISPLAY=$DISPLAY_BACKUP

Falls die DISPLAYVariable nicht gespeichert wurde, können Sie den folgenden Codeausschnitt ( hier zu finden ) verwenden, um den ursprünglichen Wert abzurufen:

netstat -lnt | awk '
sub(/.*:/,"",$4) && $4 >= 6000 && $4 < 6100 {
    print ($1 == "tcp6" ? "ip6-localhost" : "localhost:") ($4 - 6000)
}'

Fernanzeigen entsprechen offenen TCP-Ports über 6000; Der Zugriff auf die Anzeigenummer N auf Maschine M erfolgt durch Verbindung mit dem TCP-Port 6000 + N auf Maschine M.

betabandido
quelle
Eigentlich frage ich nach dem Fall, in dem ich es nicht gespeichert habe. Ist es dann möglich, die Anzeige wiederherzustellen? Ich meine , es muss einiger Weg , um herauszufinden , was der realen Anzeigewert!
AnkurVj
@AnkurVj Ich würde sagen, es ist nicht möglich, das zu tun (es sei denn, Sie können den alten Wert erraten). Natürlich können Sie die SSH-Verbindung jederzeit neu starten.
@AnkurVj Wahrscheinlich war der Anzeigewert so ähnlich localhost:10.0. Dies hängt jedoch davon ab, ob andere X11-Sitzungen aktiv sind.
Okay, das scheint mehr Aufwand zu bedeuten, als die SSH-Sitzung neu zu starten. Obwohl es ein legitimer Hack zu sein scheint, um herauszufinden, wonach ich suche. Vielen Dank !
AnkurVj