Как изменить виртуальные ttys в Linux и OpenBSD с помощью консольных команд?

21

В Linux нажимают Alt- F1, Alt- и F2т. Д., Чтобы изменить виртуальные ttys.

В OpenBSD следует использовать Ctrl- Alt- и F1т. Д.

Существуют ли консольные команды для этих двух операционных систем, которые можно выполнить для достижения этой цели? Использование нажатий клавиш иногда мешает работе операционной системы в качестве гостя внутри другой, использующей виртуальную машину.

фанат
источник

Ответы:

28

Да, вы можете использовать chvtкоманду. Это требует привилегий sudo для запуска.

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.

Вы можете найти виртуальный терминал, в котором вы сейчас находитесь, с помощью fgconsoleкоманды. Это также требует привилегий sudo для запуска.

Нагул
источник
Спасибо, это работает для Linux, но OpenBSD не имеет команды chvt.
Компьютерщик
Для OpenBSD попробуйте этот код: cs.cmu.edu/~joshuad/wsswitch.c . Он использует тот же ioctl(fd,VT_ACTIVATE,screen_no)вызов. Ссылка на
nagul
Отлично. Попытка удаленного в мою машину (X11VNC) и графический интерфейс был заморожен. Оказывается, это потому, что я переключил его на другой vt (cli), и, очевидно, X11 (vnc?) Зависает, если текущий VT не является VT VT.
EkriirkE