chvt – Wechseln der TTY per Befehl

TuxManchmal ist es sehr praktisch, mittels eines Befehls zu einer anderen Konsole (TTY) wechseln zu können. Bei VMWare, zum Beispiel, müsste „Ctrl+Alt+Whitespace+F<N>“ (wahre Fingerakrobatik) gedrückt werden um eine Konsole zu wechseln – wer diese Kombination freiwillig wählt, muss wahnsinnig sein.

Mittels chvt kann angegeben werden, auf welche Konsole gewechselt werden soll. Die Nummer als Parameter gibt die TTY an, zu der gewechselt werden soll.

Beispiel (wechselt zu TTY 2):

[root@system ~]# chvt 2

Werden solche Features in Scripten verwendet (wie in meinem Fall), ist es nützlich den Wechsel der TTY nur anzubieten, wenn auf einer TTY am PC selbst gearbeitet wird. Ein Wechsel von einer SSH-Verbindung zu einer TTY ist natürlich nicht möglich.
Dieses Szenario kann über eine Abfrage in dem Script selbst erreicht werden. Dazu setzte ich gerne Variablen welche ich später verwenden kann.

ableToSwitch=0
if [[ "$(tty)" =~ "/dev/tty[0-9]" ]]; then
	# prüft, ob die aktuelle Shell auf einer lokalen TTY läuft
	ableToSwitch=1
fi

In der Variable „ableToSwitch“ steht jetzt ein Wert, mit dem in dem weiterem Verlauf des Scripts gearbeitet werden kann.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Time limit is exhausted. Please reload the CAPTCHA.