AGETTY(8) System Administration AGETTY(8)

agetty - برنامه مدیریت خطوط tty و باز کردن نشست ورود به سیستم

agetty [options] port [baud_rate...] [term]

دستور agetty یک درگاه tty را باز می‌کند، نام کاربری ورود را درخواست کرده و دستور /bin/login را فراخوانی می‌کند. این برنامه معمولاً توسط init(8) اجرا می‌شود.

دستور agetty چندین ویژگی غیر استاندارد دارد که برای خطوط اتصال مستقیم فیزیکی و خطوط تلفنی (dial-in) مفید هستند:

•تنظیمات tty را هنگام خواندن نام کاربری با بیت‌های پاریتی، نویسه‌های پاک‌کردن (erase)، حذف خط (kill)، پایان خط (end-of-line) و حروف بزرگ تطبیق می‌دهد. این برنامه می‌تواند نویسه‌های ۷ بیتی با پاریتی زوج، فرد، بدون پاریتی یا پاریتی فاصله (space) و همچنین نویسه‌های ۸ بیتی بدون پاریتی را مدیریت کند. نویسه‌های کنترلی ویژه زیر شناسایی می‌شوند: Control-U (حذف خط)؛ DEL و backspace (پاک‌کردن نویسه قبلی)؛ carriage return و line feed (پایان خط). همچنین به گزینه‌های --erase-chars و --kill-chars مراجعه کنید.
•به‌طور اختیاری نرخ باود (baud rate) را از پیام‌های CONNECT صادرشده توسط مودم‌های سازگار با Hayes(tm) استخراج و تعیین می‌کند.
•به‌طور اختیاری هنگام مواجهه با یک خط از قبل باز شده، ارتباط را قطع نمی‌کند (مفید برای برنامه‌های تماس مجدد یا call-back).
•به‌طور اختیاری محتوای فایل /etc/issue را نمایش نمی‌دهد.
•به‌طور اختیاری فایل‌ها یا دایرکتوری‌های issue جایگزین را به جای /etc/issue یا /etc/issue.d نمایش می‌دهد.
•به‌طور اختیاری نام کاربری را درخواست نمی‌کند.
•به‌طور اختیاری یک برنامه ورود غیر استاندارد را به جای /bin/login فراخوانی می‌کند.
•به‌طور اختیاری کنترل جریان سخت‌افزاری (hardware flow control) را فعال می‌کند.
•به‌طور اختیاری خط را بدون نیاز به سیگنال تشخیص حامل (carrier detect) به حالت محلی (local) مجبور می‌کند.

این برنامه از فایل‌های /etc/gettydefs (مربوط به System V) یا /etc/gettytab (مربوط به SunOS 4) استفاده نمی‌کند.

port

یک مسیر نسبی نسبت به دایرکتوری /dev. اگر "-" مشخص شود، agetty فرض می‌کند که ورودی استاندارد آن از قبل به یک درگاه tty متصل است و ارتباط با کاربر راه دور برقرار شده است.

در System V، آرگومان port به‌صورت "-" باید با یک "--" همراه باشد.

baud_rate,...

فهرستی جداشده با کاما از یک یا چند نرخ باود. هر بار که agetty یک نویسه BREAK دریافت می‌کند، به مقدار بعدی در این فهرست که به‌صورت چرخشی در نظر گرفته می‌شود می‌رود.

نرخ‌های باود باید به ترتیب نزولی مشخص شوند تا از نویسه null (یا Ctrl-@) نیز بتوان برای جابه‌جایی نرخ باود استفاده کرد.

این آرگومان برای پایانه‌های مجازی (virtual terminals) اختیاری و غیرضروری است.

مقدار پیش‌فرض برای پایانه‌های سریالی (serial terminals) حفظ نرخ باود فعلی است (به --keep-baud مراجعه کنید) و در صورت ناموفق بودن، به مقدار پیش‌فرض '9600' بازمی‌گردد.

term

مقداری که باید برای متغیر محیطی TERM استفاده شود. این مقدار هر تنظیمی که ممکن است توسط init(1) اعمال شده باشد را لغو می‌کند و توسط login و پوسته به ارث برده می‌شود.

مقدار پیش‌فرض 'vt100' است، یا برای لینوکس در پایانه مجازی 'linux'، و برای GNU Hurd در پایانه مجازی 'hurd' است.

-8, --8bits

فرض می‌کند پایانه tty هشت بیتی تمیز (8-bit clean) است، بنابراین تشخیص پاریتی را غیرفعال می‌کند.

-a, --autologin username

کاربر مشخص‌شده را به‌طور خودکار بدون درخواست نام کاربری یا گذرواژه وارد سیستم می‌کند. استفاده از این گزینه باعث اضافه شدن گزینه و آرگومان -f username به خط فرمان /bin/login می‌شود. به --login-options مراجعه کنید که می‌تواند برای تغییر رفتار این گزینه استفاده شود.

توجه داشته باشید که --autologin ممکن است بر نحوه مقداردهی اولیه خط سریالی توسط getty تأثیر بگذارد، زیرا در حالت ورود خودکار، agetty داده‌ای از خط نمی‌خواند و فرصتی برای بهینه‌سازی تنظیمات خط ندارد.

-c, --noreset

پرچم‌های کنترلی پایانه (cflags یا control modes) را بازنشانی نمی‌کند. برای جزئیات بیشتر به termios(3) مراجعه کنید.

-E, --remote

به‌طور معمول دستور login(1) زمانی که توسط برنامه‌هایی مانند telnetd(8) فراخوانی می‌شود، یک نام میزبان راه دور دریافت می‌کند. این گزینه به agetty اجازه می‌دهد مقداری را که به‌عنوان نام میزبان استفاده می‌کند برای درج در utmp(5) به login(1) منتقل کند. به --host، login(1) و utmp(5) مراجعه کنید.

اگر گزینه --host fakehost داده شود، آنگاه گزینه و آرگومان -h fakehost به خط فرمان /bin/login اضافه می‌شود.

اگر گزینه --nohostname داده شود، آنگاه گزینه -H به خط فرمان /bin/login اضافه می‌شود.

به --login-options مراجعه کنید.

-f, --issue-file path

فهرستی جداشده با ":" از فایل‌ها و دایرکتوری‌ها را مشخص می‌کند تا به جای /etc/issue (یا موارد دیگر) نمایش داده شوند. همه فایل‌ها و دایرکتوری‌های مشخص‌شده نمایش داده می‌شوند و فایل‌های ناموجود یا خالی بدون پیام نادیده گرفته می‌شوند. اگر مسیر مشخص‌شده یک دایرکتوری باشد، تمام فایل‌های دارای پسوند .issue به ترتیب مرتب‌سازی نسخه از آن دایرکتوری نمایش داده می‌شوند. این ویژگی امکان نمایش پیام‌های سفارشی روی پایانه‌های مختلف را فراهم می‌کند. گزینه --noissue این گزینه را لغو خواهد کرد.

--show-issue

فایل issue فعلی (یا موارد دیگر) را روی پایانه فعلی نمایش داده و خارج می‌شود. از این گزینه برای بررسی تنظیمات فعلی استفاده کنید؛ برای هدف دیگری طراحی نشده است. توجه داشته باشید که خروجی ممکن است از برخی اطلاعات پیش‌فرض یا ناقص استفاده کند زیرا خروجی مناسب به پایانه و خط فرمان agetty بستگی دارد.

-h, --flow-control

کنترل جریان سخت‌افزاری (RTS/CTS) را فعال می‌کند. غیرفعال کردن پروتکل جریان نرم‌افزاری (XON/XOFF) در صورت نیاز به عهده برنامه کاربردی گذاشته می‌شود.

-H, --host fakehost

نام میزبان ساختگی مشخص‌شده (fakehost) را در فایل utmp می‌نویسد. به‌طور معمول هیچ میزبان ورودی مشخص نمی‌شود زیرا agetty برای اتصالات مستقیم محلی و کنسول‌ها استفاده می‌شود. با این حال، این گزینه می‌تواند برای شناسایی متمرکزکننده‌های پایانه (terminal concentrators) و موارد مشابه مفید باشد.

-i, --noissue

پیش از چاپ اعلان ورود، محتوای /etc/issue (یا موارد دیگر) را نمایش نمی‌دهد. پایانه‌ها یا سخت‌افزارهای ارتباطی ممکن است با دریافت متن‌های طولانی در نرخ باود اشتباه دچار اختلال شوند؛ همچنین اسکریپت‌های اتصال تلفنی (dial-up) ممکن است در صورت طولانی بودن متن قبل از اعلان ورود، با شکست مواجه شوند.

-I, --init-string initstring

یک رشته اولیه را برای ارسال به tty یا مودم، پیش از ارسال هر چیز دیگری تعیین می‌کند. این گزینه می‌تواند برای مقداردهی اولیه مودم استفاده شود. نویسه‌های غیرقابل چاپ را می‌توان با نوشتن کد هشت‌هشتی (octal) آن‌ها با یک بک‌اسلش (\) ارسال کرد. برای مثال، برای ارسال نویسه linefeed (کد اسکی ۱۰، هشت‌هشتی 012)، عبارت \12 را بنویسید.

-J, --noclear

پیش از درخواست نام کاربری برای ورود، صفحه را پاک نمی‌کند. به‌طور پیش‌فرض صفحه پاک می‌شود.

-l, --login-program login_program

برنامه login_program مشخص‌شده را به جای /bin/login فراخوانی می‌کند. این ویژگی امکان استفاده از یک برنامه ورود غیر استاندارد را فراهم می‌سازد. چنین برنامه‌ای می‌تواند برای مثال یک گذرواژه اتصال تلفنی درخواست کند یا از یک فایل گذرواژه دیگر استفاده نماید. به --login-options مراجعه کنید.

-L, --local-line[=mode]

پرچم خط CLOCAL را کنترل می‌کند. آرگومان اختیاری mode می‌تواند auto، always یا never باشد. اگر آرگومان mode حذف شود، مقدار پیش‌فرض always است. اگر گزینه --local-line اصلاً مشخص نشود، مقدار پیش‌فرض auto خواهد بود.

always

خط را وادار می‌کند که یک خط محلی باشد بدون نیاز به سیگنال تشخیص حامل (carrier detect). این حالت زمانی مفید است که یک پایانه متصل به‌صورت محلی دارید که در آن خط سریال سیگنال تشخیص حامل را تنظیم نمی‌کند.

never

به‌طور صریح پرچم CLOCAL را از تنظیمات خط پاک می‌کند و انتظار می‌رود سیگنال تشخیص حامل روی خط وجود داشته باشد.

auto

حالت پیش‌فرض agetty است. تنظیمات CLOCAL را تغییر نمی‌دهد و از تنظیمی که توسط هسته فعال شده پیروی می‌کند.

-m, --extract-baud

تلاش می‌کند تا نرخ باود را از پیام وضعیت CONNECT تولیدشده توسط مودم‌های سازگار با Hayes(tm) استخراج کند. این پیام‌های وضعیت به شکل "<junk><speed><junk>" هستند. agetty فرض می‌کند که مودم پیام وضعیت خود را با همان سرعتی ارسال می‌کند که با (اولین) مقدار baud_rate در خط فرمان مشخص شده است.

از آنجا که ویژگی --extract-baud ممکن است در سیستم‌های با بار پردازشی سنگین ناموفق باشد، همچنان باید با شمارش تمام نرخ‌های باود مورد انتظار در خط فرمان، پردازش BREAK را فعال نگه دارید.

--list-speeds

نرخ‌های باود پشتیبانی‌شده را نمایش می‌دهد. این مقادیر در زمان کامپایل برنامه تعیین می‌شوند.

-n, --skip-login

از کاربر نام کاربری درخواست نمی‌کند. این گزینه می‌تواند در ترکیب با گزینه --login-program برای فراخوانی یک فرایند ورود غیر استاندارد مانند سیستم‌های BBS استفاده شود. توجه داشته باشید که با گزینه --skip-login، دستور agetty هیچ ورودی از کاربری که وارد می‌شود دریافت نمی‌کند و بنابراین قادر نخواهد بود پاریتی، اندازه نویسه و پردازش خط جدید اتصال را تشخیص دهد؛ در نتیجه به پاریتی فاصله (space)، نویسه‌های ۷ بیتی و نویسه پایان خط اسکی CR (13) بازمی‌گردد. توجه داشته باشید برنامه‌ای که agetty اجرا می‌کند (معمولاً /bin/login) با دسترسی ریشه (root) اجرا می‌شود.

-N, --nonewline

پیش از نوشتن محتوای /etc/issue یک خط جدید چاپ نمی‌کند.

-o, --login-options login_options

گزینه‌ها و آرگومان‌هایی که به login(1) ارسال می‌شوند. در این رشته \u با نام کاربری ورود جایگزین می‌شود. برای مثال:

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

به --autologin، --login-program و --remote مراجعه کنید.

لطفاً پیش از استفاده از این گزینه، بخش نکات امنیتی (SECURITY NOTICE) را در ادامه مطالعه کنید.

-p, --login-pause

پیش از رفتن به اعلان ورود، منتظر فشرده شدن هر کلیدی می‌ماند. می‌توان آن را با --autologin ترکیب کرد تا با ایجاد تنبل (lazy spawning) پوسته‌ها در مصرف حافظه صرفه‌جویی شود.

-r, --chroot directory

ریشه را به دایرکتوری مشخص‌شده تغییر می‌دهد (chroot).

-R, --hangup

فراخوانی سیستمی vhangup(2) را برای قطع مجازی ارتباط پایانه مشخص‌شده اجرا می‌کند.

-s, --keep-baud

تلاش می‌کند نرخ باود موجود را حفظ کند. نرخ‌های باود مشخص‌شده در خط فرمان زمانی استفاده می‌شوند که agetty یک نویسه BREAK دریافت کند. اگر نرخ‌های باود دیگری مشخص شده باشد، نرخ باود اولیه نیز به انتهای فهرست نرخ‌های باود مورد نظر اضافه می‌شود. این کار می‌تواند برای بازگشت به نرخ باود اولیه پس از رخداد BREAKهای غیرمنتظره استفاده شود.

-t, --timeout timeout

اگر هیچ نام کاربری در عرض timeout ثانیه خوانده نشود، خاتمه می‌یابد. استفاده از این گزینه برای خطوط پایانه با اتصال مستقیم توصیه نمی‌شود.

-U, --detect-case

پشتیبانی از تشخیص پایانه‌هایی که فقط دارای حروف بزرگ هستند را فعال می‌کند. این تنظیم، نام کاربری حاوی حروف تماماً بزرگ را به‌عنوان نشانه‌ای از پایانه فقط دارای حروف بزرگ شناسایی کرده و برخی تبدیل‌های حروف بزرگ به کوچک را فعال می‌کند. توجه داشته باشید که این قابلیت هیچ پشتیبانی از نویسه‌های یونیکد ندارد.

-w, --wait-cr

پیش از ارسال فایل /etc/issue (یا سایر فایل‌ها) و اعلان ورود، منتظر می‌ماند تا کاربر یا مودم یک نویسه carriage-return یا linefeed ارسال کند. این گزینه همراه با گزینه --init-string مفید است.

--nohints

راهنماها و هشدارهای مربوط به کلیدهای Num Lock، Caps Lock و Scroll Lock را چاپ نمی‌کند.

--nohostname

به‌طور پیش‌فرض نام میزبان چاپ می‌شود. با فعال بودن این گزینه، اصلاً نام میزبانی نمایش داده نخواهد شد. این تنظیم همچنین از طریق گزینه LOGIN_PLAIN_PROMPT در فایل پیکربندی /etc/login.defs قابل فعال‌سازی است (برای جزئیات بیشتر به ادامه مراجعه کنید).

--long-hostname

به‌طور پیش‌فرض نام میزبان تنها تا اولین نقطه چاپ می‌شود. با فعال بودن این گزینه، نام کامل میزبان (FQDN) از طریق gethostname(3P) یا (در صورت پیدا نشدن) از طریق getaddrinfo(3) نمایش داده می‌شود.

--erase-chars string

این گزینه نویسه‌های اضافه‌ای را مشخص می‌کند که هنگام وارد کردن نام کاربری توسط کاربر، باید به‌عنوان کلید پس‌بر (backspace یا «نادیده گرفتن نویسه قبلی») تفسیر شوند. مقدار پیش‌فرض قبلی برای نویسه حذف '#' بود، اما از نسخه util-linux 2.23 هیچ نویسه حذف اضافی به‌طور پیش‌فرض فعال نیست.

--kill-chars string

این گزینه نویسه‌های اضافه‌ای را مشخص می‌کند که هنگام تایپ نام کاربری توسط کاربر، باید به‌عنوان حذف کل خط (kill یا «نادیده گرفتن تمام نویسه‌های قبلی») تفسیر شوند. مقدار پیش‌فرض قبلی برای نویسه حذف خط '@' بود، اما از نسخه util-linux 2.23 هیچ نویسه حذف خط اضافی به‌طور پیش‌فرض فعال نیست.

--chdir directory

پیش از ورود به سیستم، دایرکتوری کاری را تغییر می‌دهد.

--delay number

تعداد ثانیه‌ای که باید قبل از باز کردن tty توقف کند (sleep).

--nice number

فرایند ورود را با این اولویت اولویت‌بندی (nice) اجرا می‌کند.

--reload

از تمام نمونه‌های در حال اجرای agetty می‌خواهد در صورتی که کاربر هنوز شروع به ورود نکرده باشد، اعلان‌های نمایش‌داده‌شده خود را بازخوانی و به‌روزرسانی کنند. پس از انجام این کار، دستور خارج خواهد شد. این قابلیت ممکن است در سیستم‌های فاقد inotify(7) لینوکس پشتیبانی نشود.

-h, --help

نمایش متن راهنما و خروج.

-V, --version

نمایش نسخه و خروج.

دستور agetty فایل پیکربندی /etc/login.defs را می‌خواند (به login.defs(5) مراجعه کنید). توجه داشته باشید که این فایل پیکربندی ممکن است همراه با بسته دیگری (معمولاً shadow-utils) توزیع شده باشد. موارد پیکربندی زیر برای agetty مرتبط هستند:

LOGIN_PLAIN_PROMPT (بولی)

به agetty اعلام می‌کند که چاپ نام میزبان در اعلان :login لغو شود. این یک جایگزین برای گزینه خط فرمان --nohostname است. مقدار پیش‌فرض no است.

این بخش مثال‌هایی را برای فیلد process از یک مدخل در فایل /etc/inittab نشان می‌دهد. شما باید مقادیر مناسب را برای سایر فیلدها اضافه کنید. برای جزئیات بیشتر به inittab(5) مراجعه کنید.

برای یک خط اتصال مستقیم فیزیکی یا یک کنسول tty:

/sbin/agetty 9600 ttyS1

برای یک پایانه متصل مستقیم بدون سیم‌کشی مناسب برای تشخیص حامل (اگر پایانه شما به جای نمایش اعلان password: به حالت تعلیق درمی‌آید، این را امتحان کنید):

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

برای یک خط تلفنی سنتی با یک مودم ۹۶۰۰/۲۴۰۰/۱۲۰۰ باود:

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

برای یک مودم Hayes با یک رابط ثابت ۱۱۵۲۰۰ بیت بر ثانیه به دستگاه (رشته مقداردهی اولیه در این مثال بازتاب مودم و کدهای نتیجه را غیرفعال می‌کند، سیگنال DCD مودم/کامپیوتر را با DCD مودم/مودم هماهنگ می‌سازد، افت سیگنال DTR را باعث قطع ارتباط می‌کند و پاسخ خودکار را پس از ۱ زنگ فعال می‌نماید):

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

اگر از گزینه‌های --login-program و --login-options استفاده می‌کنید، توجه داشته باشید که ممکن است یک کاربر مخرب تلاش کند نام‌های کاربری همراه با گزینه‌های تعبیه‌شده وارد کند که سپس به برنامه ورود استفاده‌شده منتقل می‌شوند. agetty شروع شدن با "-" را بررسی می‌کند و مطمئن می‌شود که نام کاربری به‌عنوان یک پارامتر منتقل شود (بنابراین فاصله‌های تعبیه‌شده پارامتر جدیدی ایجاد نمی‌کنند)، اما بسته به نحوه تجزیه خط فرمان توسط باینری login ممکن است این کار کافی نباشد. بررسی کنید که برنامه ورود استفاده‌شده نتواند به این روش مورد سوءاستفاده قرار گیرد.

برخی برنامه‌ها از "--" استفاده می‌کنند تا مشخص کنند که بقیه خط فرمان نباید به‌عنوان گزینه تفسیر شود. در صورت وجود این قابلیت، با قرار دادن "--" قبل از ارسال نام کاربری توسط \u از آن استفاده کنید.

فایل issue پیش‌فرض /etc/issue است. اگر این فایل وجود داشته باشد، agetty همچنین وجود دایرکتوری /etc/issue.d را بررسی می‌کند. این دایرکتوری یک افزونه اختیاری برای فایل issue پیش‌فرض است و محتوای دایرکتوری پس از محتوای /etc/issue چاپ می‌شود. اگر فایل /etc/issue وجود نداشته باشد، این دایرکتوری نادیده گرفته می‌شود. تمام فایل‌های دارای پسوند .issue از این دایرکتوری به ترتیب مرتب‌سازی نسخه چاپ می‌شوند. این دایرکتوری می‌تواند برای نگهداری پیام‌های برنامه‌های شخص ثالث به‌صورت مستقل از فایل اصلی /etc/issue سیستم استفاده شود.

از نسخه ۲.۳۵ به بعد، مکان‌های اضافی برای فایل و دایرکتوری issue پشتیبانی می‌شوند. دستور agetty فایل‌های /run/issue و /run/issue.d و سپس /usr/lib/issue و /usr/lib/issue.d را بررسی می‌کند. دایرکتوری /etc برای پیکربندی‌های خاص میزبان، دایرکتوری /run برای محتوای تولیدشده خودکار، و دایرکتوری /usr/lib برای پیکربندی‌های ایستا که توسط توزیع نگهداری می‌شوند در نظر گرفته شده است.

توجه داشته باشید که در نسخه‌های ۲.۳۵ تا ۲.۴۰، مکان‌های اضافی تنها در صورتی خوانده می‌شدند که فایل پیش‌فرض /etc/issue وجود نداشت. با این حال، از نسخه ۲.۴۱، مکان‌های اضافی صرف‌نظر از وجود فایل /etc/issue همواره خوانده می‌شوند. این تغییر امکان تولید پیش‌فرض فایل‌های issue را فراهم می‌سازد.

مسیرهای پیش‌فرض را می‌توان به‌طور کامل با استفاده از گزینه --issue-file بازنویسی کرد. در این حالت مسیر مشخص‌شده باید یک فایل یا دایرکتوری باشد و تمام مکان‌های پیش‌فرض فایل و دایرکتوری issue نادیده گرفته می‌شوند.

قابلیت فایل issue را می‌توان با استفاده از گزینه --noissue به‌طور کامل غیرفعال کرد.

می‌توان فایل issue فعلی را با دستور agetty --show-issue روی پایانه فعلی بررسی و بازبینی کرد.

فایل‌های issue ممکن است حاوی کدهای گریز (escape codes) خاصی برای نمایش نام سیستم، تاریخ، زمان و غیره باشند. تمام کدهای گریز شامل یک بک‌اسلش (\) هستند که بلافاصله پس از آن یکی از نویسه‌های فهرست‌شده در زیر می‌آید.

4 یا 4{interface}

نشانی IPv4 رابط شبکه مشخص‌شده را درج می‌کند (برای مثال: \4{eth0}). اگر آرگومان interface مشخص نشود، اولین رابط شبکه‌ای که کاملاً پیکربندی شده باشد (UP، غیر لوپ‌بک یا non-LOCALBACK، و RUNNING) انتخاب می‌شود. اگر هیچ رابط پیکربندی‌شده‌ای پیدا نشود، به نشانی IP مربوط به نام میزبان دستگاه بازمی‌گردد.

6 یا 6{interface}

همانند \4 اما برای IPv6.

b

نرخ باود (baudrate) خط فعلی را درج می‌کند.

d

تاریخ فعلی را درج می‌کند.

e یا e{name}

نام خوانا برای انسان (name) را به یک دنباله گریز (escape sequence) ترجمه کرده و درج می‌کند (برای مثال: \e{red}متن هشدار.\e{reset}). اگر آرگومان name مشخص نشود، \033 درج می‌شود. نام‌های پشتیبانی‌شده فعلی عبارتند از: black، blink، blue، bold، brown، cyan، darkgray، gray، green، halfbright، lightblue، lightcyan، lightgray، lightgreen، lightmagenta، lightred، magenta، red، reset، reverse، yellow و white. تمام نام‌های ناشناخته بدون خطا نادیده گرفته می‌شوند.

s

نام سیستم (نام سیستم‌عامل) را درج می‌کند. معادل دستور 'uname -s' است. همچنین به کد گریز \S مراجعه کنید.

S یا S{VARIABLE}

داده‌های متغیر VARIABLE را از /etc/os-release درج می‌کند. اگر این فایل وجود نداشته باشد، به /usr/lib/os-release بازمی‌گردد. اگر آرگومان VARIABLE مشخص نشود، از PRETTY_NAME داخل فایل یا نام سیستم استفاده می‌کند (به \s مراجعه کنید). این کد گریز می‌تواند برای حفظ استقلال /etc/issue از نوع توزیع و شماره انتشار استفاده شود. توجه داشته باشید که \S{ANSI_COLOR} به دنباله گریز واقعی پایانه تبدیل می‌شود.

l

نام خط tty فعلی را درج می‌کند.

m

شناسه معماری سخت‌افزار دستگاه را درج می‌کند. معادل دستور uname -m است.

n

نام گره (nodename) دستگاه را درج می‌کند که با عنوان نام میزبان (hostname) نیز شناخته می‌شود. معادل دستور uname -n است.

o

نام دامنه NIS دستگاه را درج می‌کند. معادل دستور hostname -d است.

O

نام دامنه DNS دستگاه را درج می‌کند.

r

شماره انتشار (release) سیستم‌عامل را درج می‌کند. معادل دستور uname -r است.

t

زمان فعلی را درج می‌کند.

u

تعداد کاربرانی را که هم‌اکنون وارد سیستم شده‌اند درج می‌کند.

U

رشته "1 user" یا "<n> users" را درج می‌کند که در آن <n> تعداد کاربرانی است که هم‌اکنون وارد سیستم شده‌اند.

v

نسخه سیستم‌عامل، یعنی تاریخ ساخت (build-date) و موارد مشابه را درج می‌کند.

یک مثال. در سیستم من، فایل /etc/issue زیر:

This is \n.\o (\s \m \r) \t

به این صورت نمایش داده می‌شود:

This is thingol.orcan.dk (Linux i386 1.1.9) 18:29:30

/var/run/utmp

فایل وضعیت سیستم.

/etc/issue

پیش از اعلان ورود چاپ می‌شود.

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

داده‌های شناسایی سیستم‌عامل.

/dev/console

گزارش‌های مشکلات (در صورتی که از syslog(3) استفاده نشود).

/etc/inittab

فایل پیکربندی init(8) برای دیمن init به سبک SysV.

دستور agetty از پیکربندی از طریق اعتبارنامه‌های systemd پشتیبانی می‌کند (به https://systemd.io/CREDENTIALS مراجعه کنید). دستور agetty اعتبارنامه‌های systemd زیر را می‌خواند:

agetty.autologin (رشته)

در صورت تنظیم، agetty را به گونه‌ای پیکربندی می‌کند که همانند گزینه --autologin، به‌طور خودکار کاربر مشخص‌شده را بدون درخواست نام کاربری یا گذرواژه وارد سیستم کند.

قابلیت تشخیص نرخ باود (گزینه --extract-baud) مستلزم این است که agetty به اندازه کافی سریع پس از برقراری تماس تلفنی زمان‌بندی و اجرا شود (در عرض ۳۰ میلی‌ثانیه برای مودم‌هایی که با نرخ ۲۴۰۰ باود ارتباط برقرار می‌کنند). برای پایداری بیشتر، همیشه از گزینه --extract-baud در ترکیب با آرگومان چندگانه نرخ باود در خط فرمان استفاده کنید تا پردازش BREAK فعال باشد.

متن موجود در فایل /etc/issue (یا سایر فایل‌ها) و اعلان ورود همواره با نویسه‌های ۷ بیتی و پاریتی فاصله (space parity) ارسال می‌شوند.

قابلیت تشخیص نرخ باود (گزینه --extract-baud) مستلزم آن است که مودم پیام وضعیت خود را پس از فعال کردن خط DCD ارسال کند.

بسته به نحوه پیکربندی برنامه، تمام پیام‌های تشخیصی روی دستگاه کنسول نوشته می‌شوند یا از طریق امکانات syslog(3) گزارش می‌شوند. در صورتی که آرگومان port یک دستگاه پایانه را مشخص نکند؛ اگر مدخل utmp برای فرایند فعلی وجود نداشته باشد (فقط در System V)؛ و موارد مشابه، پیام‌های خطا صادر می‌شوند.

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

نسخه اصلی agetty برای پایانه‌های سریالی توسط W.Z. Venema <wietse@wzv.win.tue.nl> نوشته شده و توسط Peter Orbaek <poe@daimi.aau.dk>. به لینوکس پورت شده است.

برای گزارش باگ‌ها، از سامانه پیگیری مشکلات https://github.com/util-linux/util-linux/issues. استفاده کنید.

دستور agetty بخشی از بسته util-linux است که می‌تواند از بایگانی هسته لینوکس https://www.kernel.org/pub/linux/utils/util-linux. دریافت شود.

2026-06-16 util-linux 2.41.5