dev

# 4 dev What is `getty_ps`?

Contents of this section

This is just another version of `getty`, which is a program that handles some of the login process when you log in to a UNIX box. It was written by Paul Sutcliffe, Jr. `<paul@devon.lns.pa.us>`. Kris Gleason `<gleasokr@boulder.colorado.edu>` currently maintains it. 2.0.7e is the latest version, and supercedes any older versions. Most Linux distributions come with `getty_ps` installed as the default `getty`. Thus, I will mainly focus on using the `getty_ps` package in this document, but you are free to use any `getty` you like. You should check to make sure you do indeed have `getty_ps` as the default `getty`. At your Linux prompt, type:

> `

>     linux# strings /etc/getty | grep RINGBACK

> `

If `grep` returns ```RINGBACK`'' then you have the right `getty`. If you do not have this version of `getty`, I highly recommend that you get it. It can be found on the standard Linux FTP sites. (Kris has promised me to implement a version feature in the next release, to avoid doing this `grep` sillyness.)

## 4.1 Installing `getty_ps`

Get the package from a Linux FTP site, and install according to the instructions.

Be sure that the new `getty_ps` works correctly before you remove all the other versions! I recommend changing one of your virtual console lines from:

> `

>     c2:23456:respawn:/etc/getty tty2

> `

to:

> `

>     c2:23456:respawn:/etc/getty_ps tty2 VC console

> `

Put this line in your `/etc/gettydefs`:

> `

>     VC# B9600 SANE CLOCAL # B9600 SANE -ISTRIP CLOCAL #@S @L login: #VC

> `

and restart `init`:

> `

>     linux# kill -HUP 1

> `

If you can log in on a console with `getty_ps`, it's working. Move `getty_ps` to `getty` or link it. Be sure to update your `/etc/inittab` to correctly invoke the new `getty`. The entries need to be in the form of:

> `

>     id:runlevel:action:/etc/{uu}getty [options] line [speed [term [lined]]]

> `

`getty_ps` also uses `syslogd` to log messages. See the man pages for `syslogd(1)` and `syslog.conf(5)` for setting up `syslogd`, if you don't have it running already. Messages are logged with priority LOG_AUTH, errors use LOG_ERR, and debugging uses LOG_DEBUG. If you don't want to use `syslogd` you can edit `tune.h` in the `getty_ps` source files to use a log file for messages and debugging instead, but you'll have to recompile the whole thing.

Once you have installed `getty_ps`, and are certain it is working, you can remove any other versions of `getty` you have. Be sure to check in `/bin`, `/etc`, `/usr/bin`, `/usr/etc`, `/usr/man/man1`, and `/usr/man/cat1` for any thing called `getty` - there are old versions lurking everywhere. Also, you can safely remove the old config file `/etc/gettytab` - you only need `/etc/gettydefs`. From this point on, all references to `getty` will refer to `getty_ps`. References to `uugetty` will refer to the `uugetty` that comes with the `getty_ps` package.

Next Chapter, Previous Chapter

Table of contents of this chapter, General table of contents

Top of the document, Beginning of this Chapter