EMPTTY(1) emptty EMPTTY(1)

emptty - مدیر نمایش خط فرمان بسیار ساده روی TTY

emptty [-v] [--version] [-d] [--daemon] [-c PATH] [--config PATH] [-i] [--ignore-config] [-t TTY] [--tty TTY] [-u defaultUser] [--default-user defaultUser] [-a [session]] [--autologin [session]]

emptty یک مدیر نمایش (Display Manager) ساده در خط فرمان (CLI) است که به کاربر امکان می‌دهد پس از ورود، محیط میزکار (DE) یا مدیر پنجره (WM) مورد نظر خود را انتخاب کند، از پیکربندی از پیش تعریف‌شده بهره ببرد یا در صورتی که کاربر انتخاب‌شده عضو گروه nopasswdlogin باشد، امکان ورود خودکار (autologin) را فراهم می‌سازد.

نمایش نسخه برنامه.
اجرای emptty به عنوان دیمن که نیازی به agetty ندارد.
بارگذاری پیکربندی از مسیر مشخص‌شده.
فقط چاپ پیکربندی بارگذاری‌شده و خروج.
صرف‌نظر کردن از بارگذاری پیکربندی از فایل و بارگذاری تنها پیکربندی آرگومان‌ها.
بازنویسی پیکربندی بارگذاری‌شده با تنظیم TTY مشخص‌شده. می‌تواند به صورت یک عدد (مانند "7") یا نام TTY (مانند "tty7") تعیین شود.
بازنویسی پیکربندی بارگذاری‌شده با تعیین defaultUser مشخص‌شده.
بازنویسی پیکربندی بارگذاری‌شده با فعال‌سازی ورود خودکار. در صورت مشخص شدن نشست (session)، نشست ورود خودکار را بازنویسی می‌کند.

/etc/emptty/conf

شماره TTY که emptty در آن شروع به کار خواهد کرد.
تغییر وضعیت به شماره TTY تعیین‌شده را فعال می‌کند. پیش‌فرض true است.
چاپ فایل /etc/issue را در حالت دیمن فعال می‌کند.
چاپ motd پیش‌فرض، motd ایستا یا motd پویا را فعال می‌کند.
محیط پیش‌فرض مورد استفاده برای راه‌اندازی نشست‌های تعریف‌نشده (مثلاً از فایل `emptty`) را تعیین می‌کند. مقادیر ممکن "xorg" و "wayland" هستند. مقدار پیش‌فرض xorg است.
کاربر از پیش انتخاب‌شده؛ در صورت فعال بودن AUTOLOGIN، این کاربر وارد سیستم می‌شود.
نشست میزکار از پیش انتخاب‌شده در صورتی که کاربر از فایل `emptty` استفاده نکند. اولویت کمتری نسبت به AUTOLOGIN_SESSION دارد.
محیط اختیاری برای نشست میزکار از پیش انتخاب‌شده در صورتی که کاربر از فایل `emptty` استفاده نکند. مقادیر ممکن "xorg" و "wayland" هستند.
ورود خودکار را در صورت تعریف شدن DEFAULT_USER فعال می‌کند. مقادیر ممکن "true" یا "false" هستند. مقدار پیش‌فرض false است.

نکته: برای فعال‌سازی ورود خودکار، DEFAULT_USER باید در گروه nopasswdlogin باشد، در غیر این صورت کاربر مجاز شناخته نخواهد شد.

نشست پیش‌فرض مورد استفاده در صورت فعال بودن ورود خودکار. اگر نشست در فهرست نشست‌ها یافت نشود، به مرحله انتخاب دستی هدایت می‌شود.
محیط اختیاری برای نشست میزکار ورود خودکار. مقادیر ممکن "xorg" و "wayland" هستند.
اگر نشست در بازه زمانی مشخص‌شده به درستی آغاز نشود، تعداد تلاش‌های مجدد در یک بازه کوتاه نگه‌داشته می‌شود تا در نهایت از حلقه بی‌پایان راه‌اندازی‌های مجدد جلوگیری گردد. مقدار -1 برای تلاش‌های نامحدود و 0 برای عدم تلاش مجدد است. مقدار پیش‌فرض 2 است.
بازه زمانی به ثانیه که برای بررسی تلاش‌های مجدد ورود به نشست استفاده می‌شود. مقدار پیش‌فرض 2 است.
لوکال را برای همه کاربران تعیین می‌کند. مقدار پیش‌فرض "en_US.UTF-8" است.
پیش از اجرای دستور میزکار، "dbus-launch" را اجرا می‌کند. پس از پایان نشست، "dbus-daemon" متوقف می‌شود. مقدار پیش‌فرض true است. اگر پیکربندی کاربر به صورت اسکریپت مدیریت شود (شامل گزینه Exec نباشد)، این تنظیم به false بازنویسی می‌شود.
تحت هر شرایطی "dbus-launch" را پیش از دستور میزکار اجرا می‌کند و مقدار DBUS_LAUNCH نادیده گرفته می‌شود. همچنین حتی اگر XINITRC_LAUNCH بر روی `true` تنظیم شده باشد نیز اجرا خواهد شد. پس از پایان نشست، "dbus-daemon" متوقف می‌شود. مقدار پیش‌فرض false است.
میزکار Xorg را با فراخوانی اسکریپت ~/.xinitrc همراه با دستور اجرای نشست به عنوان آرگومان اجرا می‌کند؛ در صورتی که برابر true باشد، فایل وجود داشته باشد و WM/DE انتخاب‌شده یک نشست Xorg باشد، بر DBUS_LAUNCH اولویت خواهد داشت. اگر پیکربندی کاربر به عنوان اسکریپت مدیریت شود (شامل گزینه Exec نباشد)، این پیکربندی به false بازنویسی می‌شود.
هر یک از گزینه‌های WM/DE در دسترس را به جای چاپ در یک خط، در سطری جدید نمایش می‌دهد.
فاصله افقی (تورفتگی) برای انتخاب عمودی که جهت قرار دادن منو در مرکز صفحه نمایش کاربرد دارد.
نحوه مدیریت ثبت گزارش‌ها را مشخص می‌کند. مقادیر ممکن "rotate"، "appending" یا "disabled" هستند. مقدار پیش‌فرض "rotate" است.
مسیر فایل گزارش را بازنویسی می‌کند. مقدار پیش‌فرض عبارت است از /var/log/emptty/[TTY_NUMBER].log

نکته: وجود دایرکتوری‌های منتهی به مسیر فایل گزارش الزامی است.

آرگومان‌های ارسالی به کارساز Xorg.
امکان استفاده از اسکریپت motd پویا را برای تولید پیام روز سفارشی فراهم می‌کند. مقادیر ممکن "true" یا "false" هستند. مقدار پیش‌فرض false است.

نکته: اطمینان حاصل کنید که motd پویا دارای محتوا و مجوزهای مناسب (مانند 744) باشد؛ این اسکریپت با هویت کاربر پیش‌فرض اجرا می‌شود که در حالت دیمن به معنای root است.

امکان بازنویسی مسیر پیش‌فرض motd پویا را فراهم می‌کند. مقدار پیش‌فرض "/etc/emptty/motd-gen.sh" است.
امکان بازنویسی مسیر پیش‌فرض motd ایستا را فراهم می‌کند. مقدار پیش‌فرض "/etc/emptty/motd" است.
رنگ پیش‌زمینه (متن) که فقط در حالت دیمن در دسترس است. فهرست رنگ‌ها در زیر آمده است.
رنگ پس‌زمینه که فقط در حالت دیمن در دسترس است. فهرست رنگ‌ها در زیر آمده است.
اسکریپتی که پیش از شروع نمایشگر (Xorg/Wayland) اجرا می‌شود.

نکته: این اسکریپت با هویت کاربر پیش‌فرض اجرا می‌شود که در حالت دیمن به معنای root است.

اسکریپتی که پس از توقف نمایشگر (Xorg/Wayland) اجرا می‌شود.

نکته: این اسکریپت با هویت کاربر پیش‌فرض اجرا می‌شود که در حالت دیمن به معنای root است.

کلید numlock را در حالت دیمن فعال می‌کند. مقادیر ممکن "true" یا "false" هستند. مقدار پیش‌فرض false است.
نحوه ثبت گزارش خطاهای نشست را تعیین می‌کند. مقادیر ممکن "rotate"، "appending" یا "disabled" هستند. مقدار پیش‌فرض "disabled" است.
مسیر فایل گزارش خطاهای نشست را بازنویسی می‌کند. مقدار پیش‌فرض عبارت است از /var/log/emptty/session-errors.[TTY_NUMBER].log

نکته: وجود دایرکتوری‌های منتهی به مسیر فایل گزارش الزامی است.

تنظیم مقادیر جایگزین (fallback) برای تمام متغیرهای محیطی XDG را غیرفعال کرده و آن را بر عهده کنترل‌های ورود می‌گذارد. مقادیر ممکن "true" یا "false" هستند. مقدار پیش‌فرض false است.

نکته: توجه داشته باشید که تنظیم این گزینه بر روی "true" می‌تواند منجر به رفتارهای غیرمنتظره شود.

در صورت تنظیم بر روی true، از فایل .emptty-xauth استفاده نکرده و از فایل استاندارد ~/.Xauthority استفاده خواهد کرد. این ویژگی امکان مدیریت مشکلات xauth را فراهم می‌کند. مقادیر ممکن "true" یا "false" هستند. مقدار پیش‌فرض false است.
در صورت تنظیم بر روی true، اگر سیستم اجازه دهد و emptty در حالت دیمن در حال اجرا باشد، Xorg به صورت بدون ریشه (rootless) راه‌اندازی می‌شود. مقادیر ممکن "true" یا "false" هستند. مقدار پیش‌فرض false است.
در صورت تنظیم بر روی true، گروه‌های محیطی برای تفکیک میزکارهای Xorg/Wayland/Custom/UserCustom نمایش داده می‌شوند. مقادیر ممکن "true" یا "false" هستند. مقدار پیش‌فرض false است.
در صورت تنظیم بر روی true، عبارت "hostname login:" نمایش داده نمی‌شود. مقادیر ممکن "true" یا "false" هستند. مقدار پیش‌فرض false است.
در صورت تنظیم بر روی true، عبارت "Password:" نمایش داده نمی‌شود. مقادیر ممکن "true" یا "false" هستند. مقدار پیش‌فرض false است.
مسیر دایرکتوری محل نگهداری فایل‌های دسکتاپ نشست‌های Xorg. مقدار پیش‌فرض "/usr/share/xsessions/" است.
مسیر دایرکتوری محل نگهداری فایل‌های دسکتاپ نشست‌های Wayland. مقدار پیش‌فرض "/usr/share/wayland-sessions/" است.
قابلیت ذخیره آخرین کاربر واردشده با موفقیت را برای ورود بعدی فعال می‌کند. مقادیر ممکن عبارتند از "false"، "per-tty" یا "global". مقدار پیش‌فرض false است.
اگر بر روی "true" تنظیم شود و تنها یک میزکار در دسترس باشد، به صورت خودکار آن میزکار را انتخاب می‌کند. مقادیر ممکن "true" یا "false" هستند. مقدار پیش‌فرض false است.
در صورت تنظیم بر روی "true" و عدم تعیین کاربر پیش‌فرض، اجازه ورود دستورات در ورودی لاگین را می‌دهد. مقادیر ممکن "true" یا "false" هستند. مقدار پیش‌فرض true است.
دستور مورد استفاده برای خاموش کردن سیستم. مقدار پیش‌فرض "poweroff" است.
دستور مورد استفاده برای راه‌اندازی مجدد سیستم. مقدار پیش‌فرض "reboot" است.
دستور مورد استفاده برای تعلیق سیستم. مقدار پیش‌فرض خالی است، اما تلاش می‌کند از "systemctl suspend"، "loginctl suspend" یا "zzz" استفاده کند.
مهلت زمانی به ثانیه پیش از خروج خودکار emptty. اگر مقدار 0 یا کمتر باشد، هیچ مهلتی اعمال نمی‌شود. مقدار پیش‌فرض -1 است.

اگر استفاده از دستورات مجاز باشد و کاربر پیش‌فرض مشخص نشده باشد، می‌توان از دستورات در ورودی لاگین استفاده کرد. تمامی این دستورات باید با علامت دونقطه ":" شروع شوند. کاراکترهای گریز (Escape) نادیده گرفته می‌شوند تا از خطاهای ناشی از حافظه عضلانی ویرایشگر VI جلوگیری گردد.

- :help, :? - چاپ دستورات در دسترس
- :poweroff, :shutdown - اجرای دستور خاموش کردن سیستم
- :reboot - اجرای دستور راه‌اندازی مجدد
- :suspend, :zzz - اجرای دستور تعلیق سیستم

فایل اختیاری که به صورت پیش‌فرض در مسیر /etc/emptty/motd-gen.sh ذخیره می‌شود و قابل تغییر است.

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

فایل اختیاری که به صورت پیش‌فرض در مسیر /etc/emptty/motd ذخیره می‌شود و قابل تغییر است.

فایل سفارشی که پیام روز شما را چاپ می‌کند. خواندن این فایل از رنگ‌ها پشتیبانی می‌کند (مانند \x1b[31m یا \033[32m ).

فایل اختیاری ذخیره‌شده به عنوان ${HOME}/.config/emptty یا ${HOME}/.emptty.

فایل پیکربندی ذخیره‌شده در ${HOME}/.config/emptty در هنگام بارگذاری اولویت بالاتری دارد.

نام اختیاری برای استفاده به عنوان نام نشست.
دستور شروع به کار محیط میزکار یا مدیر پنجره را مشخص می‌کند. در صورتی که پیکربندی کاربر به عنوان اسکریپت شل ارائه شده باشد (با خط shebang در ابتدا و مجوزهای اجرایی)، نیازی به تعریف این مقدار نیست.
مشخص می‌کند چه محیطی باید برای دستور بعدی تعریف شود. مقادیر ممکن "xorg" و "wayland" هستند و پیش‌فرض "xorg" است.
لوکال را برای کاربر واردشده مشخص می‌کند و اولویت بالاتری نسبت به LANG در پیکربندی سراسری دارد.
انتخاب میزکار را الزامی می‌کند؛ در واقع فایل emptty را به .xinitrc برای Xorg و Wayland تبدیل می‌نماید. در این حالت از Exec صرف‌نظر می‌شود. مقادیر ممکن عبارتند از "false" برای عدم استفاده از منوی انتخاب، "true" برای نمایش همیشگی منوی انتخاب یا "auto" برای نمایش منو یا انتخاب خودکار اولین گزینه در صورت نبود میزکار دیگر. مقدار پیش‌فرض false است.
شل سفارشی مورد استفاده برای شروع نشست را مشخص می‌کند. این گزینه امکان شروع نشست با شل غیرتعاملی مانند "/bin/bash --login" را فراهم می‌کند.
مقداری که به متغیر XDG_CURRENT_DESKTOP ارسال می‌شود.

فایل اسکریپت اختیاری ذخیره‌شده در ${HOME}/.config/emptty-exit که به عنوان اسکریپت شل مدیریت شده و هنگام پایان یافتن نشست اجرا می‌شود. این اسکریپت حتی در صورت خاتمه یافتن خود emptty نیز شروع به کار می‌کند. زمان پیش‌فرض برای اتمام اجرای اسکریپت ۳ ثانیه است، اما از درون خود اسکریپت نیز قابل پیکربندی است.

مهلت زمانی اختیاری و سفارشی برای اتمام کار اسکریپت به ثانیه. مقدار پیش‌فرض ۳ است.

پوشه‌های اختیاری برای نشست‌های سفارشی که می‌توانند در سطح سیستم (در مسیر /etc/emptty/custom-sessions/) یا مختص کاربر (در مسیر ${HOME}/.config/emptty-custom-sessions/) در دسترس باشند، اما فاقد فایل .desktop در مسیرهای استاندارد نشست‌های Xorg یا Wayland هستند. پسوند مورد انتظار هر فایل ".desktop" است.

نام محیط میزکار یا مدیر پنجره را مشخص می‌کند.
دستور شروع محیط میزکار یا مدیر پنجره را مشخص می‌کند. می‌تواند مانند فایل‌های ‎*.desktop شامل چندین آرگومان باشد.
مشخص می‌کند چه محیطی باید برای دستور بعدی تعریف شود. مقادیر ممکن "xorg" و "wayland" هستند و "xorg" پیش‌فرض است.
مقداری که به متغیر محیطی XDG_CURRENT_DESKTOP ارسال می‌شود.
مقدار بولی که نمایش یا پنهان بودن نشست میزکار را کنترل می‌کند.

آخرین نشست انتخاب‌شده توسط کاربر در ~/.cache/emptty/last-session ذخیره می‌شود.

همان‌طور که در بخش پیکربندی ذکر شد، سه گزینه برای مدیریت ثبت گزارش‌های emptty وجود دارد. گزارش‌ها نه‌تنها حاوی لاگ‌های خود emptty هستند، بلکه در صورت استفاده، لاگ‌های Xorg و WM/DE کاربر را نیز شامل می‌شوند. محل ذخیره فایل گزارش توصیف‌شده ممکن است بر اساس تنظیمات LOGGING_FILE در /etc/emptty/conf متفاوت باشد.

این گزینه راهکار ساده‌ای ارائه می‌دهد که در آن، نمونه جاری emptty در فایل /var/log/emptty/[TTY_NUMBER].log گزارش‌ها را ثبت می‌کند و نسخه قبلی به عنوان /var/log/emptty/[TTY_NUMBER].log.old ذخیره می‌شود.

نکته: نمونه جاری همواره گزارش قبلی را به فایل old منتقل می‌کند؛ اگر emptty متوقف شود یا کرش کند و مجدداً راه‌اندازی شود، گزارش قبلی در /var/log/emptty/[TTY_NUMBER].log.old قرار دارد.

این گزینه قابلیتی را فراهم می‌کند که همه چیز را در /var/log/emptty/[TTY_NUMBER].log ثبت می‌کند و خودش چرخش گزارش‌ها (log rotation) را انجام نمی‌دهد؛ این کار را بر عهده خود کاربر می‌گذارد (مثلاً با logrotate).

نکته: افزودن مداوم به فایل بدون چرخش می‌تواند باعث حجیم شدن بیش از حد فایل گزارش شود؛ اطمینان حاصل کنید که فایل‌های گزارش چرخش داده می‌شوند.

این گزینه تمام گزارش‌ها را به /dev/null هدایت می‌کند، بنابراین هیچ گزارشی ثبت نخواهد شد.

نکته: اگر مشکلی پیش آمد و قصد گزارش آن را دارید، مطمئن شوید که از این گزینه استفاده نکرده‌اید.

لطفاً توجه داشته باشید که ممکن است رنگ‌های دارای پیشوند LIGHT_ به عنوان رنگ پس‌زمینه در دسترس نباشند.

BLACK, RED, GREEN, YELLOW, BLUE, PURPLE, CYAN, WHITE
LIGHT_BLACK, LIGHT_RED, LIGHT_GREEN, LIGHT_YELLOW, LIGHT_BLUE, LIGHT_PURPLE, LIGHT_CYAN, LIGHT_WHITE
March 2026 emptty 0.16.1