---
name: "rungetty"
section: "8"
platform: "linux"
package: "rungetty"
version: "1.2-16.3"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/rungetty"
---

# rungetty(8)

a minimal console getty that can run any process

## NAME

rungetty - a minimal console getty that can run any process

## SYNOPSIS

**rungetty** \[--noclear\] \[--long-hostname\] \[-u  *username*\] \[-g *group*\] \[-w  *path*\] \[-n *priority*\] \[--prompt \[=string\]\] \[-d *n*\] \[--autologin *username*\] *tty* \[--\] \[command\] \[arguments\]

## DESCRIPTION

**rungetty** is a getty for use on virtual consoles which has the ability to run any program, not just  [**login**(1)](/login/1.md). Like [**mingetty**(8)](/mingetty/8.md), on which **rungetty** is based, **rungetty** isn't suitable for serial use. Both I and the author of  [**mingetty**(8)](/mingetty/8.md) recommend  [**mgetty**(8)](/mgetty/8.md) for that. It is useful, though, for keeping programs such as, say, [**telnet**(1)](/telnet/1.md), running at all times. When running a program other than login, it is executed as the user and group **nobody**, or the user specified by *username* and group specified by *group*.

## OPTIONS

- **--noclear**

  Do not clear the screen before prompting for the login name (the screen is normally cleared).

- **--long-hostname**

  By default the hostname is only printed until the first dot. With this option enabled, the full text from gethostname() is shown.

- **-u username**

  By default, rungetty runs programs as nobody. With this option, it runs as the user *username*.

- **-g group**

  By default, rungetty runs as the group nobody. This option allows you to tell rungetty to run programs as the group *group*.

- **--prompt \[=string\]**

  This option causes rungetty to wait until user input (usually an 'Enter') before executing the program. If *string* is specified, it will be displayed. Otherwise, a default prompt will be shown.

- **-n n**

  ´nice´ value of specified program.

- **-w path**

  Working directory of specified program.

- **-d n**

  Specifying -d will make rungetty wait *n* seconds before running the specified program.

- **--autologin username**

  Log the specified user onto the console (normally */dev/tty1*) when the system is first booted without prompting for a username or password.

-

  When the autologin option is supplied, **rungetty** will check that the controlling terminal is the console (normally */dev/tty1*), that a reasonable username has been supplied, and that this is the first autologin request since the system has booted.  If all of these conditions have been met, a request for an unauthenticated login is passed to the **login** program.  Otherwise, a normal interactive login is performed.

-

  The **login** program may deny the request for an unauthenticated login.  Typically this will happen when the user is root, has a UID of 0, or whenever a normal interactive login would be denied due to the access restrictions specified in the *nologin*, *usertty*, or *securetty* files.

-

  Only a single autologin request will be issued after a system boot. If the automated login request is denied, or if the user logs out,  **rungetty** will revert to performing normal interactive logins for all subsequent login requests.

- **--**

  Tells **rungetty** that there are no more options to parse, useful for passing arguments with a - in them to the external program.

## ARGUMENTS

- *tty*

  Name of the tty to run on.

- *command*

  Runs specified *command*. Searches for command in  **/bin**, **/usr/bin**, **/usr/ucb**, **/usr/local/bin** if the complete pathname and filename are not given.

- *\[arguments\]*

  Command line arguments to pass to *command*.

## ISSUE ESCAPES

**rungetty** recognizes the following escape sequences which might be embedded in the  */etc/issue* file:

- **\\d**

  insert current day (localtime),

- **\\l**

  insert line on which  **rungetty** is running,

- **\\m**

  inserts machine architecture (uname -m),

- **\\n**

  inserts machine's network node hostname (uname -n),

- **\\o**

  inserts domain name,

- **\\r**

  inserts operating system release (uname -r),

- **\\t**

  insert current time (localtime),

- **\\s**

  inserts operating system name,

- **\\u** resp. **\\U**

  the current number of users which are currently logged in. \\U inserts "*n* users", where as \\u only inserts "*n*".

- **\\v**

  inserts operating system version (uname -v).

## EXAMPLE

In **/etc/inittab**, these lines:\
\
 **r1:12345:respawn:/sbin/rungetty tty1**\
 **r2:2345:respawn:/sbin/rungetty tty2 telnet mail.foo.com**\
 **r3:2345:respawn:/sbin/rungetty tty3 -u support top**\
 **r4:2345:respawn:/sbin/rungetty tty4 -n 20 -w /etc rc5des**\
 Would run a local login on  **/dev/tty1**,**a** [**telnet**(1)](/telnet/1.md) session to mail.foo.com on **/dev/tty2**,**and** **top**(5)**on** **/dev/tty3**. Note that [**telnet**(1)](/telnet/1.md) is run as user **nobody**, while **top**(5) is run as user **support**, and start the program **rc5des**(5) at the lowest priority level with a current directory of  **/etc**.

## FILES

*/etc/issue*, */var/run/utmp*, */var/log/autologin*.

## BUG REPORTS

Please send all bug reports to **jake@nodomainname.net**.

## BUGS

There are no known bugs.

## SEE ALSO

[**mingetty**(8)](/mingetty/8.md), [**mgetty**(8)](/mgetty/8.md).

## AUTHOR

Copyright © 1999 Jakob Kaivo \<jake@nodomainname.net\>.
