Your company here — click to reach over 10,000 unique daily visitors

mgetty - Man Page

smart modem getty


mgetty [options] ttydevice [gettydefs]


Mgetty is a “smart” getty replacement, designed for use with Hayes compatible data and data/fax modems. Mgetty knows about modem initialization, manual modem answering (so your modem doesn't answer if the machine isn't ready), UUCP locking (so you can use the same device for dial-in and dial-out). Mgetty provides very extensive logging facilities.

This manpage doesn't try to detail mgetty setup in detail, it just lists the most important options. For detailed instructions, see the info file mgetty.info (mgetty.texi).


-k <space>

Tells mgetty to leave <space> kbytes free on disk when receiving a fax.

-x <debug level>

Use the given level of verbosity for logging - 0 means no logging, 9 is really noisy. The log file is usually /tmp/log_mg.<device>

-s <speed>

Set the port speed to use, e.g. "-s 19200".


Tells mgetty that it is running on a direct line. UUCP locking is done, but no modem initialization whatsoever.

-p <login prompt>

Use the given string to prompt users for their login names. Various tokens are allowed in this string. These tokens are: @ for the system name, \n, \g, \f, for newline, bell, and form feed, respectively. \v and \r will expand to the OS version and release. \P, \l and \L will expand to the tty name ("ttyS0").  \Y will give the Caller ID, \I the "CONNECT foobar" string returned by the modem, and \S or \b will output the port speed. \N and \U give the number of users currently logged in. \C will be changed into the result of ctime(), and \D or \d and \t or \T will output the date and time, respectively. Finally, \<digit> will use digit as octal/decimal/hexadecimal representation of the character to follow.

The default prompt is specified at compile time.

-n #

Tells mgetty to pick up the phone after the #th RING. Default is 1.

-R <t>

Tells mgetty to go into "ringback" (aka "ring-twice") mode. That means: the first call is never answered, instead the caller has to hang up after the phone RINGs, wait 30 seconds, and then call again in the next <t> seconds for mgetty to pick up. If no call comes, mgetty will exit.

I do not really recommend using this, better get a second phone line for the modem.

-i <issue file>

Output <issue file> instead of /etc/issue before prompting for the user name. The same token substitutions as for the the login prompt are done in this file.


Tells mgetty that the modem is to be treated as a DATA modem, no fax initialization is attempted.


Tells mgetty that DATA calls are not allowed and the modem should be set to Fax-Only.

-C <class>

Tells mgetty how to treat the modem. Possible values for <class> are "auto" (default, try to find out whether the modem supports fax), "cls2" (use the class 2 fax command set, even if the modem supports class 2.0), "c2.0" (use the class 2.0 fax command set), "data" (data only, exactly as the -D switch).

-S <g3 file>

If a call comes in and requests fax polling, mgetty will send the named file. Note: not all fax modems support poll sending.

-I <fax id>

Use the given fax station ID for fax identification. Not used for data modems.


Open the port in blocking mode. Best used in combination with "-r". This is the default if mgetty is called as getty. You may want to use this if you want to use the two-device / kernel-locking scheme of the Linux and SunOS operating systems (/dev/ttyS.. and /dev/cua..). I do not recommend it, it's just included for completeness, and to be able to use mgetty as a full-featured getty replacement.


Use autobauding. That is, after a connection is made, mgetty parses the "CONNECT foo" response code of the modem and sets the port speed to the first integer found after the "CONNECT" string, "foo" in this example. You need this if your modem insist on changing its DTE speed to match the line speed. I recommend against using it, better leave the port speed locked at a fixed value. The feature is included because old modems exist which cannot use a fixed (locked) port speed.

-m 'expect send ...'

Set the "chat sequence" used to initialize the modem. For an empty expect part, use empty double quotes (""). Since the sequence contains spaces, you have to enclose all of it in single quotes(''). Example:

mgetty -m '"" ATH0 OK'



Main configuration file.


controls whether (and when) mgetty should call some other program for user login instead of /bin/login. How this is done is explained in this file.


controls acceptance/denial of incoming calls based on the caller's number. Available only if you have "caller ID" and your modem supports it.


controls whether mgetty should pick up the phone upon incoming calls. If the file exists, calls are completely ignored. You can use this, for example, to stop mgetty during day time, and let it pick up at night only, by creating and removing /etc/nologin.ttyxx via the cron program at the appropriate time.


will be printed after a connection is established, and before the with the '-i' option.


Debug log file, see below.


If mgetty doesn't work the way it should, the main source of diagnostic data is the log file. It can be found in "/var/log/mgetty.ttyxx.log" (for the mgetty process handling  "ttyxx").  If it doesn't contain enough details, enhance the log level with the '-x' option to mgetty, e.g. "-x 5".

Many of the common problems and solutions are discussed in the mgetty manual and the FAQ.  Please see the WWW page at  http://alpha.greenie.net/mgetty/ for both.


Not all of mgetty configuration can be done at run-time yet. Things like flow control and file paths (log file / lock file) must be configured by changing the source and recompiling.

Users never read manuals...

See Also

g32pbm(1), sendfax(8), getty(8), mgettydefs(4), mgetty.info


mgetty is Copyright (C) 1993 by Gert Doering, <gert@greenie.muc.de>.

Referenced By

callback(8), mgettydefs(4), mgetty_fax(1), mingetty(8), vgetty(8).

27 Oct 93 - 21 Jul 98 greenie mgetty+sendfax manual