¿Cómo cambiar ttys virtuales en Linux y OpenBSD con comandos de consola?

21

En Linux uno presiona Alt- F1, Alt- F2etc. para cambiar ttys virtuales.

En OpenBSD se usará Ctrl- Alt- F1etc. en su lugar.

¿Hay comandos de consola para estos dos sistemas operativos que se pueden emitir para lograr este objetivo? El uso de las pulsaciones de teclas a veces interfiere cuando un sistema operativo se ejecuta como invitado dentro de otro utilizando alguna máquina virtual.

friki
fuente

Respuestas:

28

Sí, puedes usar el chvtcomando. Esto necesita privilegios de sudo para ejecutarse.

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.

Puede encontrar el terminal virtual en el que se encuentra actualmente a través del fgconsolecomando. Esto también requiere privilegios de sudo para ejecutarse.

nagul
fuente
Gracias, funciona para Linux, pero OpenBSD no tiene un comando chvt.
geek
Para OpenBSD, intente este código: cs.cmu.edu/~joshuad/wsswitch.c . Utiliza la misma ioctl(fd,VT_ACTIVATE,screen_no)llamada. Referido de: cs.cmu.edu/~joshuad/libretto.html
nagul
Perfecto. Intentando remotamente en mi máquina (X11VNC) y la interfaz gráfica estaba congelada. Resulta que fue porque lo había cambiado a otro vt (cli), y aparentemente X11 (vnc?) Se congela a menos que el VT actual sea el VT de X.
EkriirkE