Wie wird die Umgebungsvariable basierend darauf festgelegt, ob eine GUI verfügbar ist?


7

Wie kann ich meine .bashrc so einrichten, dass sich der Wert einer Umgebungsvariablen ändert, je nachdem, ob die aktuelle Sitzung Zugriff auf das GUI- / Fenstersystem hat oder nicht?

Angenommen, ich habe eine Umgebungsvariable, die steuert, welches Diff-Programm mein VCS verwendet.

Wenn ich an der Maschine sitze, möchte ich ein GUI-Programm verwenden. Wenn ich jedoch eine Remoteverbindung über SSH herstelle, möchte ich, dass stattdessen automatisch ein textbasierter Terminal-Diff-Viewer verwendet wird.

Wie kann ich überprüfen, ob das Fenstersystem verfügbar ist oder nicht?

Antworten:


9

Sie können die $DISPLAYVariable überprüfen , um festzustellen, ob Sie sich auf einer x-Anzeige befinden. Wenn sie nicht leer ist, haben Sie eine Anzeige:

if [ -n "$DISPLAY" ]; then
    # run GUI program
else
    # run term program
fi

Ein schneller Test zeigte, dass dies sogar für X-Tunneling funktioniert.


Vielen Dank! Ich wusste, dass ich schon einmal einen Weg gesehen hatte, konnte ihn einfach nirgendwo finden.
TM.
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.