AGETTY(8) Systemadministration AGETTY(8)

agetty - alternativ Linux getty

agetty [flaggor] port [baud_rate...] [term]

agetty öppnar en tty-port, frågar efter ett inloggningsnamn och startar kommandot /bin/login. Det anropas normalt av init(8).

agetty har flera icke-standardiserade funktioner som är användbara både för fasta och uppringda linjer:

•Anpassar tty-inställningarna till paritetsbitar och till radering, dödande, radavslutande och versala tecken när det läser ett inloggningsnamn. Programmet kan hantera 7-bitars tecken med jämn, udda, ingen eller mellanslagsparitet och 8-bitars tecken utan paritet. Följande specialtecken känns igen: Control-U (kill); DEL och backspace (radera); carriage return och line feed (slutet av raden). Se även flaggorna --erase-chars och --kill-chars.
•Alternativt kan baudhastigheten härledas från CONNECT-meddelandena som produceras av Hayes(tm)-kompatibla modem.
•Om du vill kan du välja att inte lägga på när du får en redan öppen linje (användbart för återuppringning).
•Eventuellt visas inte innehållet i filen /etc/issue.
•Visar valfritt alternativa issue-filer eller -kataloger i stället för /etc/issue eller /etc/issue.d.
•Eventuellt frågar inte efter ett inloggningsnamn.
•Alternativt anropas ett icke-standardiserat inloggningsprogram i stället för /bin/login.
•Valfritt att aktivera flödeskontroll för hårdvara.
•Om du vill kan du tvinga linjen att vara lokal utan att behöva använda carrier detect.

Detta program använder inte filerna /etc/gettydefs (System V) eller /etc/gettytab (SunOS 4).

port

Ett sökvägsnamn i förhållande till katalogen /dev. Om ett "-" anges antar agetty att dess standardinmatning redan är ansluten till en tty-port och att en anslutning till en fjärranvändare redan har upprättats.

Enligt System V ska ett "-" port-argument föregås av ett "--".

baud_rate,...

En kommaseparerad lista med en eller flera baudhastigheter. Varje gång agetty tar emot ett BREAK-tecken avancerar den genom listan, som behandlas som om den vore cirkulär.

Baudhastigheterna bör anges i fallande ordning, så att nolltecknet (Ctrl-@) också kan användas för att byta baudrate.

Detta argument är valfritt och onödigt för virtuella terminaler.

Standardinställningen för seriella terminaler är att behålla den aktuella baudhastigheten (se --keep-baud) och om det inte lyckas så är standardinställningen '9600'.

term

Det värde som ska användas för miljövariabeln TERM. Detta åsidosätter vad init(1) kan ha ställt in, och ärvs av inloggning och skalet.

Standardvärdet är "vt100" eller "linux" för Linux på en virtuell terminal eller "hurd" för GNU Hurd på en virtuell terminal.

-8, --8bits

Antag att tty:n är 8-bitars ren och inaktivera därför paritetsdetektering.

-a, --autologin username

Loggar automatiskt in den angivna användaren utan att fråga efter användarnamn eller lösenord. Om du använder den här flaggan läggs flaggan -f användarnamn och ett argument till på kommandoraden /bin/login. Se --login-options, som kan användas för att ändra denna flaggas beteende.

Observera att --autologin kan påverka hur getty initierar den seriella linjen, eftersom agetty inte läser från linjen vid auto-login och inte har någon möjlighet att optimera linjeinställningen.

-c, --noreset

Återställ inte terminalens cflags (kontrollägen). Se termios(3) för mer information.

-E, --remote

Vanligtvis får kommandot login(1) ett fjärrvärdsnamn när det anropas av t.ex. telnetd(8). Med den här flaggan kan agetty skicka det som används som värdnamn till login(1) för användning i utmp(5). Se --host, login(1) och utmp(5).

Om flaggan --host fakehost anges, läggs flaggan -h fakehost och argumentet till på kommandoraden /bin/login.

Om flaggan --nohostname anges, läggs flaggan -H till på kommandoraden /bin/login.

Se --login-options.

-f, --issue-file sökväg

Anger en ":"-avgränsad lista med filer och kataloger som ska visas i stället för /etc/issue (eller annat). Alla angivna filer och kataloger visas, filer som saknas eller är tomma ignoreras. Om den angivna sökvägen är en katalog visas alla filer med filändelsen .issue i versionssorteringsordning från katalogen. Detta gör att anpassade meddelanden kan visas på olika terminaler. Flaggan --noissue åsidosätter denna flagga.

--show-issue

Visa aktuell issue-fil (eller annan) på den aktuella terminalen och avsluta. Använd den här flaggan för att granska den aktuella inställningen, det är inte avsett för något annat ändamål. Observera att utdata kan använda viss standardinformation eller ofullständig information eftersom korrekt utdata beror på terminal och agetty-kommandoraden.

-h, --flow-control

Aktivera flödeskontroll för hårdvara (RTS/CTS). Det är upp till applikationen att inaktivera flödesprotokoll för programvara (XON/XOFF) där så är lämpligt.

-H, --host fakehost

Skriv in den angivna fakehost i utmp-filen. Normalt anges ingen inloggningsvärd, eftersom agetty används för lokala trådbundna anslutningar och konsoler. Den här flaggan kan dock vara användbar för att identifiera terminalkoncentratorer och liknande.

-i, --noissue

Visa inte innehållet i /etc/issue (eller annat) innan du skriver inloggningsprompten. Terminaler eller kommunikationshårdvara kan bli förvirrade när de tar emot mycket text i fel baudhastighet; uppringda skript kan misslyckas om inloggningsprompten föregås av för mycket text.

-I, --init-string initstring

Ställ in en initial sträng som ska skickas till tty eller modem innan något annat skickas. Detta kan användas för att initiera ett modem. Icke-tryckbara tecken kan skickas genom att deras oktalkod föregås av ett backslash (\). Om du t.ex. vill skicka ett radmatningstecken (ASCII 10, oktal 012) skriver du \12.

-J, --noclear

Töm inte skärmen innan du frågar efter inloggningsnamnet. Som standard rensas skärmen.

-l, --login-program login_program

Anropar det angivna login_programmet istället för /bin/login. Detta gör det möjligt att använda ett inloggningsprogram som inte är standard. Ett sådant program kan t.ex. be om ett uppringningslösenord eller använda en annan lösenordsfil. Se --login-options.

-L, --local-line[=läge]

Kontrollerar linjeflaggan CLOCAL. Det valfria läge-argumentet är auto, always eller never. Om argumentet läge utelämnas är standardvärdet always. Om flaggan --local-line inte anges alls är standardvärdet auto.

always

Tvingar linjen att vara en lokal linje utan behov av bärvågsdetektering. Detta kan vara användbart när du har en lokalt ansluten terminal där den seriella linjen inte ställer in signalen för bärvågsdetektering.

never

Rensar explicit CLOCAL-flaggan från linjeinställningen och den bärvågsdetekterande signalen förväntas på linjen.

auto

Den goda standardinställningen. Ändrar inte CLOCAL-inställningen och följer den inställning som aktiveras av kärnan.

-m, --extract-baud

Försök att utläsa baudhastigheten ur statusmeddelandet CONNECT som produceras av Hayes(tm)-kompatibla modem. Dessa statusmeddelanden är av formen: "<junk><speed><junk>". agetty förutsätter att modemet sänder ut sitt statusmeddelande med samma hastighet som anges med (det första) baud_rate-värdet på kommandoraden.

Eftersom funktionen --extract-baud kan misslyckas på tungt belastade system, bör du ändå aktivera BREAK-behandling genom att räkna upp alla förväntade baudhastigheter på kommandoraden.

--list-speeds

Visar stödda baudhastigheter. Dessa bestäms vid kompileringstillfället.

-n, --skip-login

Fråga inte användaren efter ett inloggningsnamn. Detta kan användas i samband med flaggan --login-program för att starta en icke-standardiserad inloggningsprocess, t.ex. ett BBS-system. Observera att med flaggan --skip-login får agetty ingen information från den användare som loggar in och kan därför inte räkna ut paritet, teckenstorlek och newline-behandling för anslutningen. Standardinställningen är mellanslagsparitet, 7-bitars tecken och ASCII CR (13) som tecken i slutet av raden. Tänk på att det program som agetty startar (vanligtvis /bin/login) körs som root.

-N, --nonewline

Skriv inte ut en ny rad innan du skriver ut /etc/issue.

-o, --login-options login_options

Flaggor och argument som skickas till login(1). Där \u ersätts av inloggningsnamnet. Till exempel:

--login-options '-h darkstar -- \u'

Se --autologin, --inloggningsprogram och --remote.

Läs SÄKERHETSANMÄRKNING nedan innan du använder denna flagga.

-p, --login-pause

Vänta på en tangent innan du går till inloggningsprompten. Kan kombineras med --autologin för att spara minne genom att slentrianmässigt skapa skal.

-r, --chroot katalog

Byt rot till den angivna katalogen.

-R, --hangup

Ring vhangup(2) för att göra en virtuell upphängning av den angivna terminalen.

-s, --keep-baud

Försök att behålla den befintliga baudhastigheten. Baudhastigheterna från kommandoraden används när agetty tar emot ett BREAK-tecken. Om en annan baudhastighet anges sparas även den ursprungliga baudhastigheten i slutet av listan över önskade baudhastigheter. Detta kan användas för att återgå till den ursprungliga baudhastigheten efter oväntade BREAKs.

-t, --timeout tidsgräns

Avsluta om inget användarnamn kunde läsas inom tidsgräns sekunder. Användning av denna flagga med fast anslutna terminallinjer rekommenderas inte.

-U, --detect-case

Aktivera stöd för att upptäcka en terminal med enbart versaler. Den här inställningen kommer att upptäcka att ett inloggningsnamn som bara innehåller versaler indikerar en terminal med enbart versaler och aktivera vissa konverteringar från versaler till gemener. Observera att detta inte har något stöd för några Unicode-tecken.

-w, --wait-cr

Vänta på att användaren eller modemet skickar en carriage-return eller ett linefeed-tecken innan filen /etc/issue (eller andra) och inloggningsprompten skickas. Detta är användbart med flaggan --init-string.

--nohints

Skriv inte ut tips om Num-, Caps- och Scroll-lås.

--nohostname

Som standard kommer värdnamnet att skrivas ut. Om den här flaggan är aktiverat visas inget värdnamn alls. Den här inställningen är också möjlig att göra med flaggan LOGIN_PLAIN_PROMPT i konfigurationsfilen /etc/login.defs (se nedan för mer information).

--long-hostname

Som standard skrivs värdnamnet bara ut fram till den första punkten. Om den här flaggan är aktiverat visas det fullständigt kvalificerade värdnamnet med gethostname(3P) eller (om det inte hittas) med getaddrinfo(3).

--erase-chars sträng

Den här flaggan anger ytterligare tecken som ska tolkas som ett backsteg ("ignorera föregående tecken") när användaren skriver inloggningsnamnet. Standardvärdet för ytterligare "erase" har varit "#", men sedan util-linux 2.23 aktiveras inga ytterligare erase-tecken som standard.

--kill-chars sträng

Den här flaggan anger ytterligare tecken som ska tolkas som en kill ("ignorera alla tidigare tecken") när användaren skriver inloggningsnamnet. Standardvärdet för ytterligare "kill" har varit "@", men sedan util-linux 2.23 är inga ytterligare "kill"-tecken aktiverade som standard.

--chdir katalog

Byt katalog före inloggningen.

--delay nummer

Sova några sekunder innan tty öppnas.

--nice nummer

Kör inloggning med denna prioritet.

--reload

Be alla agetty-instanser som körs att ladda om och uppdatera de meddelanden som visas, om användaren ännu inte har börjat logga in. När detta har gjorts avslutas kommandot. Den här funktionen kanske inte stöds på system utan Linux inotify(7).

--help

Visa hjälptext och avsluta.

--version

Visa version och avsluta.

agetty läser konfigurationsfilen /etc/login.defs (se login.defs(5)). Observera att konfigurationsfilen kan distribueras med ett annat paket (vanligtvis shadow-utils). Följande konfigurationsobjekt är relevanta för agetty:

LOGIN_PLAIN_PROMPT (boolean)

Berätta för agetty att utskrift av värdnamnet ska undertryckas i login: prompten. Detta är ett alternativ till kommandoradsflaggan --nohostname. Standardvärdet är no.

I det här avsnittet visas exempel på processfältet i en post i filen /etc/inittab. Du måste ange lämpliga värden för de andra fälten. Se inittab(5) för mer information.

För en kabelansluten linje eller en konsol-tty:

/sbin/agetty 9600 ttyS1

För en direktansluten terminal utan korrekt kabeldragning för bärvågsdetektering (prova detta om din terminal bara sover i stället för att ge dig ett lösenord: prompt):

/sbin/agetty --local-line 9600 ttyS1 vt100

För en gammaldags uppringd linje med ett modem på 9600/2400/1200 baud:

/sbin/agetty --extract-baud --timeout 60 ttyS1 9600,2400,1200

För ett Hayes-modem med ett fast 115200 bps-gränssnitt till maskinen (exemplets init-sträng stänger av modemeko och resultatkoder, gör att modem/dator DCD följer modem/modem DCD, gör att ett DTR-fall orsakar en frånkoppling och aktiverar autosvar efter 1 ringning):

/sbin/agetty --wait-cr --init-string 'ATE0Q1&D2&C1S0=1\015' 115200 ttyS1

Om du använder flaggorna --login-program och --login-options bör du vara medveten om att en illvillig användare kan försöka ange loggnamn med inbäddade alternativ, som sedan skickas till det inloggningsprogram som används. agetty kontrollerar om det finns ett inledande "-" och ser till att loggnamnet skickas som en parameter (så att inbäddade mellanslag inte skapar ytterligare en parameter), men beroende på hur inloggningsbinärprogrammet analyserar kommandoraden kanske det inte är tillräckligt. Kontrollera att det inloggningsprogram som används inte kan missbrukas på det här sättet.

Vissa program använder "--" för att ange att resten av kommandoraden inte ska tolkas som flaggor. Använd denna funktion om den är tillgänglig genom att skicka "--" innan användarnamnet skickas vidare till \u.

Standardutgåvofilen är /etc/issue. Om filen finns kontrollerar agetty även om katalogen /etc/issue.d finns. Katalogen är ett valfritt tillägg till standardutgåvofilen och innehållet i katalogen skrivs ut efter innehållet i /etc/issue. Om /etc/issue inte finns ignoreras katalogen. Alla filer med .issue-tillägg från katalogen skrivs ut i versionssorterad ordning. Katalogen kan användas för att underhålla meddelanden från tredje part oberoende av det primära systemets /etc/issue-fil.

Sedan version 2.35 stöds ytterligare platser för issue-filen och -katalogen. agetty söker efter filerna /run/issue och /run/issue.d och sedan efter /usr/lib/issue och /usr/lib/issue.d. Katalogen /etc förväntas innehålla värdspecifik konfiguration, /run förväntas innehålla genererat innehåll och /usr/lib används för statisk konfiguration som underhålls av distributionen.

Observera att i versionerna 2.35 till 2.40 lästes de ytterligare platserna endast om standardfilen /etc/issue inte fanns. Men sedan version 2.41 läses de ytterligare platserna alltid, oavsett om filen /etc/issue finns eller inte. Denna ändring gör det möjligt att generera issue-filer som standard.

The default paths may be completely overridden by the --issue-file option. In this case the specified path has to be a file or directory and all the default issue file and directory locations are ignored.

Funktionen för problemfiler kan inaktiveras helt med flaggan --noissue.

Det är möjligt att granska den aktuella utgivningsfilen genom agetty --show-issue på den aktuella terminalen.

Emissionsfilerna kan innehålla vissa escape-koder för att visa systemnamn, datum, tid etc. Alla escape-koder består av ett backslash (\) omedelbart följt av något av de tecken som anges nedan.

4 eller 4{interface}

Ange IPv4-adressen för det angivna nätverksgränssnittet (t.ex. \4{eth0}). Om argumentet interface inte anges, väljs det första fullt konfigurerade (UP, non-LOCALBACK, RUNNING) gränssnittet. Om inget konfigurerat gränssnitt hittas, faller du tillbaka till IP-adressen för maskinens värdnamn.

6 eller 6{interface}

Samma sak som \4 men för IPv6.

a

Insert list of "good" IP addresses for all interfaces. It prints best candidates for remote login IP addresses: global and site addresses; if not available, temporary address with the longest lifetime, if not available, link address. Note that link addresses are printed with local interface name, but they has to be done with the interface name on the machine where they will be used.

A

Insert list of all IP addresses for all interfaces.

b

Infoga baudrate för den aktuella raden.

d

Infoga aktuellt datum.

e eller e{name}

Översätt det mänskligt läsbara namn till en escape-sekvens och infoga den (t.ex.: \e{red}Alert text.\e{reset}). Om argumentet namn inte har angetts infogas \033. De namn som för närvarande stöds är: svart, blink, blå, fet, brun, cyan, mörkgrå, grå, grön, halvljus, ljusblå, ljuscyan, ljusgrå, ljusgrön, ljusmagenta, ljusröd, magenta, röd, reset, reverse, gul och vit. Alla okända namn ignoreras i tysthet.

s

Infoga systemnamnet (namnet på operativsystemet). Samma som "uname -s". Se även escape-koden \S.

S eller S{VARIABLE}

Infoga VARIABLE-data från /etc/os-release. Om denna fil inte finns, återgår man till /usr/lib/os-release. Om VARIABLE-argumentet inte anges används PRETTY_NAME från filen eller systemnamnet (se \s). Denna escape code kan användas för att hålla distributionen av /etc/issue och releasen oberoende av varandra. Observera att \S{ANSI_COLOR} konverteras till den riktiga terminalens escape-sekvens.

l

Infoga namnet på den aktuella tty-linjen.

m

Infoga maskinens arkitekturidentifierare. Samma som uname -m.

n

Ange maskinens nodnamn, även känt som värdnamnet. Samma som uname -n.

o

Ange NIS-domännamnet för maskinen. Samma som hostname -d.

A

Ange maskinens DNS-domännamn.

r

Ange versionsnumret för operativsystemet. Samma som uname -r.

t

Ange aktuell tid.

u

Ange antalet användare som är inloggade för närvarande.

U

Infoga strängen "1 user" eller "<n> users" där <n> är antalet inloggade användare för närvarande.

v

Ange versionen av operativsystemet, det vill säga byggdatum och liknande.

Ett exempel. På mitt system finns följande fil /etc/issue:

Detta är \n.\o (\s \m \r) \t

visas som:

Detta är thingol.orcan.dk (Linux i386 1.1.9) 18:29:30

/var/run/utmp

systemstatusfilen.

/etc/issue

skrivs ut före inloggningsuppmaningen.

_/etc/os-release /usr/lib/os-release

identifieringsdata för operativsystemet.

_/dev/konsol

problemrapporter (om syslog(3) inte används).

/etc/inittab

init(8) Konfigurationsfil för SysV-liknande init-daemon.

agetty stöder konfiguration via systemd-autentiseringsuppgifter (se https://systemd.io/CREDENTIALS/). agetty läser följande systemd-autentiseringsuppgifter:

agetty.autologin (sträng)

Om den är inställd konfigurerar agetty att automatiskt logga in den angivna användaren utan att fråga efter användarnamn eller lösenord, på samma sätt som med flaggan --autologin.

Funktionen för baudhastighetsdetektering (flaggan --extract-baud) kräver att agetty schemaläggs tillräckligt snart efter att ett uppringt samtal har avslutats (inom 30 ms med modem som talar med 2400 baud). För robusthetens skull bör du alltid använda flaggan --extract-baud i kombination med ett kommandoradsargument för flera baudhastigheter, så att BREAK-behandling aktiveras.

Texten i filen /etc/issue (eller annan) och inloggningsprompten matas alltid ut med 7-bitars tecken och mellanslagsparitet.

Funktionen för detektering av baudhastighet (flaggan --extract-baud) kräver att modemet sänder ut sitt statusmeddelande efter att DCD-linjen har lyfts.

Beroende på hur programmet har konfigurerats skrivs all diagnostik till konsolenheten eller rapporteras via syslog(3)-funktionen. Felmeddelanden genereras om argumentet port inte anger en terminalenhet, om det inte finns någon utmp-post för den aktuella processen (endast System V), och så vidare.

Werner Fink <werner@suse.de>, Karel Zak <kzak@redhat.com>

Den ursprungliga agetty för seriella terminaler skrevs av W.Z. Venema <wietse@wzv.win.tue.nl> och portades till Linux av Peter Orbaek <poe@daimi.aau.dk>.

För felrapporter, använd felhanteraren https://github.com/util-linux/util-linux/issues.

Kommandot agetty ingår i paketet util-linux som kan hämtas från Linux Kernel Archive https://www.kernel.org/pub/linux/utils/util-linux/.

2026-05-18 util-linux 2.42.1