Comment changer les ttys virtuels sous Linux et OpenBSD avec les commandes de la console?

21

Sous Linux, on appuie sur Alt- F1, Alt- F2etc pour changer les ttys virtuels.

Dans OpenBSD, on doit utiliser Ctrl- Alt- F1etc à la place.

Existe-t-il des commandes de console pour ces deux systèmes d'exploitation qui peuvent être émises pour atteindre cet objectif? L'utilisation de pressions sur les touches interfère parfois lorsqu'un système d'exploitation est exécuté en tant qu'invité dans un autre en utilisant une machine virtuelle.

geek
la source

Réponses:

28

Oui, vous pouvez utiliser la chvtcommande. Cela nécessite des privilèges sudo pour s'exécuter.

CHVT(1)

NAME

chvt - change foreground virtual terminal

SYNOPSIS

chvt N

DESCRIPTION

The command chvt N makes /dev/ttyN the foreground terminal.
(The corresponding screen is created if it did not exist yet.
To get rid of unused VTs, use deallocvt )
The key combination (Ctrl-)LeftAlt-FN (with N in the range 1-12) usually has a similar effect.

Vous pouvez trouver le terminal virtuel sur lequel vous vous trouvez actuellement via la fgconsolecommande. Cela nécessite également des privilèges sudo pour s'exécuter.

nagul
la source
Merci, cela fonctionne pour Linux, mais OpenBSD n'a pas de commande chvt.
geek
Pour OpenBSD, essayez ce code: cs.cmu.edu/~joshuad/wsswitch.c . Il utilise le même ioctl(fd,VT_ACTIVATE,screen_no)appel. Renvoyé de: cs.cmu.edu/~joshuad/libretto.html
nagul
Parfait. J'essaie de me connecter à distance à ma machine (X11VNC) et l'interface graphique a été gelée. Il s'avère que c'était parce que je l'avais changé pour un autre vt (cli), et apparemment X11 (vnc?) Se bloque à moins que le VT actuel ne soit le VT de X.
EkriirkE