22

In Linux one presses Alt-F1, Alt-F2 etc to change virtual ttys.

In OpenBSD one shall use Ctrl-Alt-F1 etc instead.

Are there are console commands for these two operating systems that can be issued to achieve this goal? Using key presses sometimes interfere when an OS is being run as guest inside another one using some virtual machine.

1 Answer 1

29

Yes, you can using the chvt command. This needs sudo privileges to run.

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.

You can find the virtual terminal you're currently on via the fgconsole command. This too requires sudo privileges to run.

3
  • Thanks, it works for Linux, but OpenBSD doesn't have a chvt command.
    – geek
    Sep 1, 2009 at 7:04
  • For OpenBSD, try this code: cs.cmu.edu/~joshuad/wsswitch.c. It uses the same ioctl(fd,VT_ACTIVATE,screen_no) call. Referred to from: cs.cmu.edu/~joshuad/libretto.html
    – user4358
    Sep 1, 2009 at 9:07
  • Perfect. Trying to remote into my machine (X11VNC) and the gui was frozen. Turns out it was because I had switched it to another vt (cli), and apparently X11 (vnc?) freezes unless the current VT is X's VT.
    – EkriirkE
    May 3, 2014 at 21:07

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .