گزینههای
زیر
پشتیبانی
میشوند:
--what=
فهرستی
از یک یا چند
عملیات
جداشده با
دونقطه (:) را
برای
بازداری
دریافت
میکند: "shutdown"،
"sleep"، "idle"،
"handle-power-key"، "handle-reboot-key"،
"handle-suspend-key"،
"handle-hibernate-key"، "handle-lid-switch"،
که به ترتیب
برای
بازداری از
راهاندازی
مجدد/خاموش
کردن/توقف/kexec/راهاندازی
مجدد نرم
(soft-reboot)،
تعلیق/خواب
زمستانی،
تشخیص
خودکار
بیکاری،
یا مدیریت
سطح پایین
کلیدهای
پاور/راهاندازی
مجدد/خواب و
سوییچ درب
لپتاپ به
کار
میروند. در
صورت حذف،
مقدار
پیشفرض آن
"idle:sleep:shutdown" است.
--who=
یک رشته
توصیفی
کوتاه و
خوانا برای
انسان برای
برنامهای
که قفل را
میگیرد
دریافت
میکند. اگر
ارسال
نشود، به
طور
پیشفرض
روی رشته خط
فرمان
تنظیم
میشود.
--why=
یک رشته
توصیفی
کوتاه و
خوانا برای
انسان به
عنوان دلیل
گرفتن قفل
دریافت
میکند.
مقدار
پیشفرض آن
"Unknown reason" (دلیل
نامشخص)
است.
--mode=
یکی از
مقادیر "block"،
"delay" یا "block-weak" را
میپذیرد و
نحوه اعمال
قفل را
توصیف
میکند. اگر
از "block"
استفاده
شود
(پیشفرض)،
قفل از هر یک
از عملیات
درخواستشده
بدون
محدودیت
زمانی
جلوگیری
میکند، و
تنها
کاربران
دارای
امتیاز
میتوانند
آن را
نادیده
بگیرند (لغو
کنند). نوع
قفل
بازدارنده
"block-weak" مشابه
"block" است اما
در برابر
عملیات
آغازشده
توسط
کلاینتهای
دارای
امتیاز یا
عملیات
متعلق به
همان
کاربری که
مالک قفل
بازدارنده
است اعمال
نمیشود.
اگر از "delay"
استفاده
شود، قفل
تنها
میتواند
عملیات
درخواستی
را برای مدت
محدودی به
تاخیر
بیندازد.
اگر زمان به
پایان
برسد، قفل
نادیده
گرفته شده و
عملیات
اجرا
میشود. این
محدودیت
زمانی را
میتوان در
logind.conf(5) تعیین
کرد. توجه
داشته
باشید که "delay"
تنها برای
"sleep" و "shutdown" در
دسترس است.
--list
به جای
گرفتن قفل،
تمام
قفلهای
بازدارنده
فعال را
فهرست
میکند. این
فهرست
میتواند
با استفاده
از --what=، --who=، --why=
یا --mode= فیلتر
شود.
--no-ask-password
از کاربر
برای احراز
هویت در
عملیات
دارای
امتیاز
سوال
نمیپرسد.
--no-pager
خروجی را
به یک
صفحهبند (pager)
منتقل (پایپ)
نمیکند.
--no-legend
راهنما
(legend)، یعنی
سرستونها
و پاورقی
همراه با
نکات را چاپ
نمیکند.
--json=MODE
خروجی را
با
قالببندی JSON
نمایش
میدهد. یکی
از مقادیر
"short" (برای
کوتاهترین
خروجی ممکن
بدون
هیچگونه
فاصله خالی
اضافی یا
شکست خط)، "pretty"
(برای نسخه
زیبای همان
خروجی،
همراه با
تورفتگی و
شکست خط) یا
"off" (برای
خاموش کردن
خروجی JSON،
مقدار
پیشفرض) را
میپذیرد.
-h, --help
یک متن
راهنمای
کوتاه را
چاپ کرده و
خارج
میشود.
--version
یک رشته
کوتاه نسخه
را چاپ کرده
و خارج
میشود.
$SYSTEMD_LOG_LEVEL
حداکثر
سطح ثبت
وقایع (لاگ)
برای
پیامهای
منتشرشده
(پیامهای
با سطح لاگ
بالاتر،
یعنی با
اهمیت
کمتر،
نادیده
گرفته
خواهند شد).
فهرستی از
مقادیر
جداشده با
کاما را
میپذیرد.
یک مقدار
میتواند
یکی از
موارد زیر
باشد (به
ترتیب کاهش
اهمیت):
emerg،
alert،
crit،
err،
warning،
notice،
info،
debug
یا یک عدد
صحیح در
محدوده 0...7.
برای
اطلاعات
بیشتر به
syslog(3)
مراجعه
کنید. هر
مقدار
میتواند
به صورت
اختیاری با
یکی از
پیشوندهای
console،
syslog،
kmsg یا
journal همراه با
یک دو نقطه (:)
مشخص شود تا
حداکثر سطح
لاگ را برای
آن مقصد لاگ
خاص تعیین
کند (برای
مثال
SYSTEMD_LOG_LEVEL=debug,console:info
مشخص
میکند که
لاگ در سطح debug
باشد مگر
هنگام ثبت
در کنسول که
باید در سطح
info باشد). توجه
داشته
باشید که
حداکثر سطح
لاگ سراسری
بر حداکثر
سطوح لاگِ
هر مقصد
اولویت
دارد.
$SYSTEMD_LOG_COLOR
یک مقدار
بولی. اگر
درست باشد،
پیامهای
نوشتهشده
در tty بر اساس
اولویت
رنگی
خواهند شد.
این تنظیم
تنها زمانی
مفید است که
پیامها
مستقیماً
در ترمینال
نوشته
شوند، زیرا
journalctl(1) و سایر
ابزارهایی
که لاگها
را نمایش
میدهند،
خودشان
پیامها را
بر اساس سطح
لاگ رنگی
میکنند.
$SYSTEMD_LOG_TIME
یک مقدار
بولی. اگر
درست باشد،
پیامهای
لاگ کنسول
با یک برچسب
زمانی
پیشوند
میشوند.
این تنظیم
تنها زمانی
مفید است که
پیامها
مستقیماً
در ترمینال
یا یک فایل
نوشته
شوند، زیرا
journalctl(1) و سایر
ابزارهایی
که لاگها
را نمایش
میدهند،
خودشان
برچسبهای
زمانی را بر
اساس
متادیتای
ورودی
پیوست
میکنند.
$SYSTEMD_LOG_LOCATION
یک مقدار
بولی. اگر
درست باشد،
پیامها با
نام فایل و
شماره خط در
کد منبع که
پیام از
آنجا
سرچشمه
گرفته است
پیشوند
میشوند.
توجه
داشته
باشید که
مکان لاگ
اغلب به
عنوان
متادیتا به
ورودیهای
ژورنال
ضمیمه
میشود. با
این حال،
درج مستقیم
آن در متن
پیام
میتواند
هنگام
اشکالزدایی
برنامهها
راحت باشد.
$SYSTEMD_LOG_TID
یک مقدار
بولی. اگر
درست باشد،
پیامها با
شناسه عددی
ریسه جاری (TID)
پیشوند
میشوند.
توجه
داشته
باشید که
این
اطلاعات به
هر حال به
عنوان
متادیتا به
ورودیهای
ژورنال
پیوست
میشود. با
این حال،
درج مستقیم
آن در متن
پیام
میتواند
هنگام
اشکالزدایی
برنامهها
راحت باشد.
$SYSTEMD_LOG_TARGET
مقصد
پیامهای
لاگ. یکی از
مقادیر
console
(ثبت در tty
متصلشده)،
console-prefixed (ثبت در tty
متصلشده
اما با
پیشوندهایی
که سطح لاگ و
"facility" را مشخص
میکنند،
به
syslog(3)
مراجعه
کنید)،
kmsg
(ثبت در بافر
لاگ چرخشی
هسته)،
journal
(ثبت در
ژورنال)،
journal-or-kmsg (ثبت در
ژورنال در
صورت در
دسترس
بودن، و در
غیر این
صورت در kmsg)،
auto
(تعیین
خودکار
مقصد لاگ
مناسب،
پیشفرض)،
null
(غیرفعال
کردن خروجی
لاگ).
$SYSTEMD_LOG_RATELIMIT_KMSG
آیا
محدودیت
نرخ (ratelimit) روی kmsg
اعمال شود
یا خیر. یک
مقدار بولی
میپذیرد.
پیشفرض "true"
است. در صورت
غیرفعال
شدن، systemd
پیامهای
نوشتهشده
در kmsg را
محدود
نمیکند.
$SYSTEMD_PAGER, $PAGER
صفحهبندی
که هنگام
مشخص نشدن
--no-pager استفاده
میشود. در
صورت تنظیم
بودن
$SYSTEMD_PAGER از
آن استفاده
میشود؛ در
غیر این
صورت از
$PAGER
استفاده
خواهد شد.
اگر نه
$SYSTEMD_PAGER و
نه
$PAGER تنظیم
نشده
باشند،
مجموعهای
از
پیادهسازیهای
شناختهشده
صفحهبند
به نوبت
امتحان
میشوند،
از جمله
less(1) و
more(1)، تا
زمانی که
یکی پیدا
شود. اگر هیچ
پیادهسازی
صفحهبندی
پیدا نشود،
هیچ
صفحهبندی
فراخوانی
نمیشود.
تنظیم این
متغیرهای
محیطی روی
یک رشته
خالی یا
مقدار "cat"
معادل
ارسال
--no-pager
است.
نکته: اگر
$SYSTEMD_PAGERSECURE تنظیم
نشده باشد،
$SYSTEMD_PAGER و $PAGER فقط
برای
غیرفعال
کردن
صفحهبند
(با "cat" یا "")
میتوانند
استفاده
شوند، و در
غیر این
صورت
نادیده
گرفته
میشوند.
$SYSTEMD_LESS
لغو
گزینههای
ارسالی به
less
(به طور
پیشفرض "FRSXMK").
کاربران
ممکن است
بخواهند دو
گزینه را به
ویژه تغییر
دهند:
K
این
گزینه به
صفحهبند
دستور
میدهد
هنگام
فشرده شدن Ctrl+C
فوراً خارج
شود. برای
اینکه به
less
اجازه دهید
خودش Ctrl+C را
برای
بازگشت به
خط فرمان
صفحهبند
مدیریت
کند، این
گزینه را
لغو کنید.
اگر مقدار
$SYSTEMD_LESS شامل "K"
نباشد، و
صفحهبند
فراخوانیشده
less باشد، Ctrl+C
توسط فایل
اجرایی
نادیده
گرفته شده و
باید توسط
صفحهبند
مدیریت
شود.
X
این
گزینه به
صفحهبند
دستور
میدهد که
رشتههای
مقداردهی
اولیه و
پایاندهی
termcap را به
ترمینال
ارسال نکند.
این گزینه
به طور
پیشفرض
تنظیم شده
است تا
خروجی
دستور حتی
پس از خروج
صفحهبند
در ترمینال
قابل
مشاهده
باقی بماند.
با این حال،
این امر
مانع از
عملکرد
برخی
قابلیتهای
صفحهبند
میشود، به
ویژه خروجی
صفحهبندیشده
را
نمیتوان
با ماوس
پیمایش
(اسکرول)
کرد.
توجه
داشته
باشید که
تنظیم
متغیر
محیطی
معمولی $LESS
هیچ تاثیری
برای
فراخوانیهای
less توسط
ابزارهای systemd
ندارد.
برای
توضیحات
بیشتر به less(1)
مراجعه
کنید.
$SYSTEMD_LESSCHARSET
لغو
مجموعه
نویسه (charset)
ارسالی به
less
(به طور
پیشفرض
"utf-8"، اگر
ترمینال
فراخواننده
به عنوان
سازگار با UTF-8
تشخیص داده
شود).
توجه
داشته
باشید که
تنظیم
متغیر
محیطی
معمولی $LESSCHARSET
هیچ تاثیری
برای
فراخوانیهای
less توسط
ابزارهای systemd
ندارد.
$SYSTEMD_PAGERSECURE
دستورات
رایج
صفحهبند
مانند
less(1)،
علاوه بر
«صفحهبندی»،
یعنی
پیمایش در
خروجی، از
باز کردن یا
نوشتن در
فایلهای
دیگر و
اجرای
دستورات
دلخواه شل
پشتیبانی
میکنند.
هنگامی که
دستورات با
امتیازات
بالا، به
عنوان مثال
تحت
sudo(8) یا
pkexec(1)
فراخوانی
میشوند،
صفحهبند
به یک مرز
امنیتی
تبدیل
میشود.
باید دقت
شود که تنها
برنامههایی
با
قابلیتهای
کاملاً
محدود به
عنوان
صفحهبند
استفاده
شوند، و
ویژگیهای
تعاملی
ناخواسته
مانند باز
کردن یا
ایجاد
فایلهای
جدید یا
شروع
زیرفرایندها
مجاز
نباشند.
«حالت امن»
برای
صفحهبند
ممکن است
همانطور
که در زیر
توضیح داده
شده فعال
شود،
اگر
صفحهبند
از آن
پشتیبانی
کند (بیشتر
صفحهبندها
به شیوهای
نوشته
نشدهاند
که این
موضوع را در
نظر بگیرند).
توصیه
میشود یا
صراحتاً
«حالت امن»
را فعال
کنید یا با
استفاده از
--no-pager یا
PAGER=cat
هنگام
اجازه دادن
به کاربران
غیرقابل
اعتماد
برای اجرای
دستورات با
امتیازات
بالا،
صفحهبند
را کاملاً
غیرفعال
نمایید.
این گزینه
یک آرگومان
بولی
میپذیرد.
هنگامی که
روی درست
تنظیم شود،
«حالت امن»
صفحهبند
فعال
میشود. در
«حالت
امن»،
هنگام
فراخوانی
صفحهبند
LESSSECURE=1 تنظیم
خواهد شد،
که به
صفحهبند
دستور
میدهد
دستوراتی
را که
فایلهای
جدید باز
میکنند یا
ایجاد
میکنند یا
زیرفرایندهای
جدید آغاز
میکنند
غیرفعال
کند. در حال
حاضر فقط less(1)
شناخته شده
است که این
متغیر را
درک میکند
و «حالت
امن» را
پیادهسازی
مینماید.
هنگامی که
روی نادرست
تنظیم شود،
هیچ
محدودیتی
بر
صفحهبند
اعمال
نمیشود.
تنظیم SYSTEMD_PAGERSECURE=0
یا حذف
نکردن آن از
متغیرهای
محیطی به
ارث رسیده
ممکن است به
کاربر
اجازه دهد
دستورات
دلخواه را
اجرا کند.
هنگامی که
$SYSTEMD_PAGERSECURE تنظیم
نشده باشد،
ابزارهای systemd
تلاش
میکنند تا
به طور
خودکار
تشخیص دهند
که آیا
«حالت امن»
باید فعال
شود و آیا
صفحهبند
از آن
پشتیبانی
میکند یا
خیر. اگر UID
مؤثر با
مالک نشست
ورود یکسان
نباشد، به
geteuid(2) و sd_pid_get_owner_uid(3)
مراجعه
کنید، یا
هنگام اجرا
تحت sudo(8) یا
ابزارهای
مشابه ($SUDO_UID
تنظیم شده
باشد [2]). در
این موارد،
SYSTEMD_PAGERSECURE=1 تنظیم
میشود و
صفحهبندهایی
که
پیادهسازی
«حالت امن»
در آنها
شناختهشده
نیست اصلاً
استفاده
نخواهند شد.
توجه داشته
باشید که
این تشخیص
خودکار فقط
متداولترین
سازوکارهای
ارتقای
امتیازات
را پوشش
میدهد و
برای راحتی
کار در نظر
گرفته شده
است. توصیه
میشود
صراحتاً
$SYSTEMD_PAGERSECURE را
تنظیم کرده
یا
صفحهبند
را غیرفعال
کنید.
توجه
داشته
باشید که
اگر
متغیرهای
$SYSTEMD_PAGER یا $PAGER
قرار است
رعایت
شوند، به جز
برای
غیرفعال
کردن
صفحهبند،
$SYSTEMD_PAGERSECURE نیز
باید تنظیم
شده باشد.
$SYSTEMD_COLORS
یک
آرگومان
بولی، یا یک
مقدار ویژه
میپذیرد.
به طور
پیشفرض
(تنظیمنشده)،
systemd و
ابزارهای
مرتبط در
صورت امکان
از رنگها
در خروجی
خود
استفاده
خواهند کرد.
اگر
$COLORTERM روی
"truecolor" یا "24bit"
تنظیم شده
باشد،
رنگهای 24
بیتی فعال
میشوند،
در غیر این
صورت 256 رنگ،
مگر اینکه
$NO_COLOR یا
$TERM
نشان دهد
رنگها
غیرفعال
هستند.
true
مشابه
تنظیمنشده،
با این
تفاوت که $NO_COLOR
نادیده
گرفته
میشود.
false
خروجی
تکرنگ
خواهد بود.
"16", "256", "24bit"
همیشه به
ترتیب از
رنگهای
پایه ۱۶
تایی ANSI، ۲۵۶
رنگ، یا رنگ
۲۴ بیتی
استفاده
میکند.
"auto-16", "auto-256",
"auto-24bit"
از تعداد
رنگهای
مشخصشده،
بر اساس $TERM و
اینکه
کنسول به چه
چیزی متصل
است،
استفاده
میکند.
$SYSTEMD_URLIFY
مقدار
باید یک
بولی باشد.
کنترل
میکند که
آیا
پیوندهای
قابل کلیک
در خروجی
برای
شبیهسازهای
ترمینالی
که از این
قابلیت
پشتیبانی
میکنند
تولید شود
یا خیر. این
گزینه را
میتوان
برای لغو
تصمیمی که
systemd بر اساس $TERM
و سایر
شرایط
میگیرد
تعیین کرد.