openvt - start a program on a new virtual terminal (VT).


openvt [-c vtnumber] [OPTIONS] [--] command


openvt will find the first available VT, and run on it the given command with the given command options , standard input, output and error are directed to that terminal. The current search path ($PATH) is used to find the requested command. If no command is specified then the environment variable $SHELL is used.

-c, --console=VTNUMBER

Use the given VT number and not the first available. Note you must have write access to the supplied VT for this to work.

-f, --force

Force opening a VT without checking whether it is already in use.

-e, --exec

Directly execute the given command, without forking. This option is meant for use in /etc/inittab. If you want to use this feature in another context, be aware that openvt has to be a session leader in order for -e to work. See setsid(2) or setsid(1) on how to achieve this.

-s, --switch

Switch to the new VT when starting the command. The VT of the new command will be made the new current VT.

-u, --user

Figure out the owner of the current VT, and run login as that user. Suitable to be called by init. Shouldn’t be used with -c or -l.

-l, --login

Make the command a login shell. A - is prepended to the name of the command to be executed.

-v, --verbose

Be a bit more verbose.

-w, --wait

wait for command to complete. If -w and -s are used together then openvt will switch back to the controlling terminal when the command completes.

-V, --version

print program version and exit.

-h, --help

show this text and exit.


end of options to openvt.


If openvt is compiled with a getopt_long() and you wish to set options to the command to be run, then you must supply the end of options -- flag before the command.


openvt can be used to start a shell on the next free VT, by using the command:
openvt bash

To start the shell as a login shell, use:
openvt -l bash

To get a long listing you must supply the -- separator:
openvt -- ls -l


Earlier, openvt was called open. It was written by Jon Tombs <jon [AT]> or <jon [AT]>. The -w idea is from "sam".


chvt(1), doshell(8), login(1)