| SYSTEMD-SLEEP.CONF(5) | systemd-sleep.conf | SYSTEMD-SLEEP.CONF(5) |
نام (NAME)
systemd-sleep.conf - پیکربندی حالتهای تعلیق، خواب و هایبرنیت در systemd
خلاصه دستور (SYNOPSIS)
توضیحات (DESCRIPTION)
systemd از چهار حالت عمومی ذخیره انرژی (power-saving) پشتیبانی میکند:
suspend
اضافهشده در نسخه 203.
hibernate
اضافهشده در نسخه 203.
hybrid-sleep
اضافهشده در نسخه 203.
suspend-then-hibernate
اگر سیستم باتری نداشته باشد، پس از سپری شدن HibernateDelaySec= هایبرنیت خواهد شد. اگر تنظیم نشده باشد، مقدار پیشفرض آن "2h" است.
اگر سیستم دارای باتری باشد، هشدارهای باتری کم (ACPI _BTP) ابتدا برای تشخیص درصد باتری و بیدار کردن سیستم جهت هایبرنیت امتحان میشوند. اگر HibernateDelaySec= نیز تنظیم شده باشد، یک تایمر اضافی پیکربندی میشود تا سیستم بر اساس هرکدام که زودتر اتفاق بیفتد هایبرنیت شود: باتری کم یا تاخیر پیکربندیشده. اگر ACPI _BTP در دسترس نباشد، سیستم بهطور منظم بیدار میشود تا زمان را بررسی کرده و درصد باتری/نرخ تخلیه را تشخیص دهد. این نرخ برای زمانبندی تشخیص بعدی استفاده میشود. اگر آن نیز در دسترس نباشد، SuspendEstimationSec= به عنوان آخرین راهکار استفاده میشود.
اضافهشده در نسخه 239.
تنظیمات موجود در این فایلها تعیین میکنند که چه رشتههایی در /sys/power/disk و /sys/power/state توسط systemd-sleep(8) نوشته خواهد شد، هنگامی که systemd(1) تلاش میکند ماشین را به حالت تعلیق یا هایبرنیت ببرد. برای توضیحات کلی درباره نحو به systemd.syntax(7) مراجعه کنید.
دایرکتوریهای پیکربندی و اولویت (CONFIGURATION DIRECTORIES AND PRECEDENCE)
پیکربندی پیشفرض در زمان کامپایل تعیین میشود، بنابراین پیکربندی تنها زمانی مورد نیاز است که انحراف از آن مقادیر پیشفرض ضروری باشد. فایل پیکربندی اصلی از یکی از دایرکتوریهای فهرستشده به ترتیب اولویت بارگذاری میشود، و تنها اولین فایل یافتشده استفاده میگردد: /etc/systemd/, /run/systemd/, /usr/local/lib/systemd/ [1], /usr/lib/systemd/. نسخه ارائهشده توسط توزیعکننده شامل مدخلهای کامنتشده است که مقادیر پیشفرض را به عنوان راهنمایی برای مدیر سیستم نشان میدهند. همچنین میتوان با ایجاد فایلهای دراپاین (drop-ins)، همانطور که در ادامه شرح داده شده است، بازنویسیهای محلی ایجاد کرد. فایل پیکربندی اصلی را نیز میتوان برای این منظور ویرایش کرد (یا یک نسخه کپی در /etc/ اگر فایل تحت /usr/ عرضه شده باشد)، با این حال استفاده از دراپاینها برای پیکربندی محلی نسبت به ایجاد تغییرات در فایل پیکربندی اصلی توصیه میشود.
علاوه بر فایل پیکربندی اصلی، قطعهکدهای پیکربندی دراپاین از مسیرهای زیر خوانده میشوند: /usr/lib/systemd/*.conf.d/, /usr/local/lib/systemd/*.conf.d/, و /etc/systemd/*.conf.d/. این دراپاینها اولویت بالاتری دارند و فایل پیکربندی اصلی را بازنویسی (override) میکنند. فایلها در زیرشاخههای پیکربندی *.conf.d/ بر اساس نام فایل خود به ترتیب لغتنگاری مرتب میشوند، بدون توجه به اینکه در کدامیک از زیرشاخهها قرار دارند. هنگامی که چندین فایل یک گزینه مشابه را مشخص کنند، برای گزینههایی که تنها یک مقدار واحد میپذیرند، مدخل موجود در فایلی که در آخر مرتب شده است اولویت دارد؛ و برای گزینههایی که فهرستی از مقادیر را میپذیرند، مدخلها به همان ترتیبی که در فایلهای مرتبشده ظاهر میشوند جمعآوری میگردند.
هنگامی که بستهها نیاز به سفارشیسازی پیکربندی دارند، میتوانند دراپاینها را در زیر /usr/ نصب کنند. فایلهای موجود در /etc/ برای مدیر محلی سیستم رزرو شدهاند، که میتواند از این منطق برای بازنویسی فایلهای پیکربندی نصبشده توسط بستههای توزیعکننده استفاده کند. برای بازنویسی دراپاینهای بسته، باید از دراپاینها استفاده شود، زیرا فایل پیکربندی اصلی اولویت پایینتری دارد. توصیه میشود نام تمام فایلها در این زیرشاخهها با یک عدد دورقمی و یک خط تیره شروع شود تا مرتبسازی سادهتر گردد. این امر همچنین مفهوم اولویتهای دراپاین را تعریف میکند تا به ارائهدهندگان سیستمعامل امکان دهد دراپاینها را در یک محدوده خاص، پایینتر از محدوده مورداستفاده کاربران عرضه کنند. این کار باید خطر بازنویسی تصادفی دراپاینهای تعریفشده توسط کاربران را توسط دراپاینهای بستهها کاهش دهد. توصیه میشود از محدوده 10-40 برای دراپاینهای واقع در /usr/ و از محدوده 60-90 برای دراپاینهای واقع در /etc/ و /run/ استفاده شود تا اطمینان حاصل گردد که دراپاینهای محلی و گذرا بر دراپاینهای ارائهشده توسط توزیعکننده سیستمعامل اولویت دارند.
برای غیرفعال کردن یک فایل پیکربندی ارائهشده توسط توزیعکننده، روش توصیهشده قرار دادن یک پیوند نمادین (symlink) به /dev/null در دایرکتوری پیکربندی در /etc/، با همان نام فایل پیکربندی توزیعکننده است.
گزینهها (OPTIONS)
گزینههای زیر را میتوان در بخش [Sleep] فایل /etc/systemd/sleep.conf یا یک فایل sleep.conf.d پیکربندی کرد:
AllowSuspend=, AllowHibernation=, AllowHybridSleep=, AllowSuspendThenHibernate=
اگر AllowHibernation=no یا AllowSuspend=no استفاده شود، این به معنای AllowSuspendThenHibernate=no و AllowHybridSleep=no خواهد بود، زیرا این روشها در داخل از هر دو حالت تعلیق و هایبرنیت استفاده میکنند. AllowSuspendThenHibernate=yes و AllowHybridSleep=yes میتوانند برای بازنویسی و فعالسازی آن حالتهای خاص استفاده شوند.
اضافهشده در نسخه 240.
SuspendState=
مجموعه مقادیر مجاز توسط هسته تعیین میشود و در خود فایل نشان داده شده است (برای نمایش از cat /sys/power/state استفاده کنید). برای جزئیات بیشتر به Basic sysfs Interfaces for System Suspend and Hibernation[2] مراجعه کنید.
systemd-suspend-then-hibernate.service(8) هنگام تعلیق از این مقدار استفاده میکند.
اضافهشده در نسخه 203.
HibernateMode=
مجموعه مقادیر مجاز توسط هسته تعیین میشود و در خود فایل نشان داده شده است (برای نمایش از cat /sys/power/disk استفاده کنید). برای جزئیات بیشتر به صفحه مستندات هسته Basic sysfs Interfaces for System Suspend and Hibernation[2] مراجعه کنید.
systemd-suspend-then-hibernate.service(8) هنگام هایبرنیت از مقدار HibernateMode= استفاده میکند.
اضافهشده در نسخه 203.
MemorySleepMode=
مجموعه مقادیر مجاز توسط هسته تعیین میشود و در خود فایل نشان داده شده است (برای نمایش از cat /sys/power/mem_sleep استفاده کنید). برای جزئیات بیشتر به صفحه مستندات هسته Basic sysfs Interfaces for System Suspend and Hibernation[2] مراجعه کنید.
اضافهشده در نسخه 256.
HibernateDelaySec=
اضافهشده در نسخه 239.
HibernateOnACPower=
اگر این گزینه غیرفعال باشد، شمارش معکوس HibernateDelaySec= فقط پس از قطع برق AC شروع میشود، و در غیر این صورت سیستم در حالت تعلیق نگه داشته میشود.
این گزینه فقط در سیستمهای دارای باتری مؤثر است.
اضافهشده در نسخه 257.
SuspendEstimationSec=
اضافهشده در نسخه 253.
مثال: انجماد (EXAMPLE: FREEZE)
مثال: برای بهرهبرداری از حالت “freeze” اضافهشده در لینوکس 3.9، میتوان از systemctl suspend همراه با پیکربندی زیر استفاده کرد:
[Sleep] SuspendState=freeze
همچنین ببینید (SEE ALSO)
systemd-sleep(8), systemd-suspend.service(8), systemd-hibernate.service(8), systemd-hybrid-sleep.service(8), systemd-suspend-then-hibernate.service(8), systemd(1), systemd.directives(7)
نکات (NOTES)
- 1.
- 💣💥🧨💥💥💣 لطفاً توجه داشته باشید که این فایلهای پیکربندی باید در تمام زمانها در دسترس باشند. اگر /usr/local/ یک پارتیشن جداگانه باشد، ممکن است در مراحل اولیه بوت در دسترس نباشد و نباید برای پیکربندی استفاده شود.
- 2.
- Basic sysfs Interfaces for System Suspend and Hibernation
| systemd 261.2 |