הרדימו את המסכים משורת הפקודה

זמן ההמתנה של שומר המסך הוא הכלי הלא נכון למצב נפוץ. אתם עוזבים את השולחן לשעה, אתם יודעים זאת, ואינכם רוצים לחכות שקוצב הזמן של חוסר הפעילות ישים לב. אתם גם לא רוצים לנעול את המסך, מפני שרץ קומפילציה או הורדה ואתם רוצים להעיף מבט כשתחזרו בלי להקליד סיסמה. אתם רק רוצים שהמסכים יחשיכו, עכשיו.

ל-X יש את התשובה כבר זמן רב מאוד, והיא שורה אחת.

הפקודה

xset dpms force suspend

זה כל הטריק. DPMS הוא תקן ניהול ההספק של התצוגה, xset הוא כלי ההגדרות של שרת ה-X, ו-force אומר לשרת להיכנס למצב הספק מיד במקום לחכות לקוצב חוסר הפעילות. המסכים מחשיכים בתוך שנייה או שתיים. הזיזו את העכבר או געו במקש והם חוזרים.

יש שלושה מצבי הספק שאפשר לכפות, ואיזה מהם תרצו תלוי במסך:

xset dpms force standby
xset dpms force suspend
xset dpms force off

standby הוא הקל ביותר: המסך מתרוקן אבל שומר על האלקטרוניקה שלו חמה ומתעורר מיד. suspend יורד עמוק יותר וחוסך יותר הספק. off הוא מה שהשם אומר, ולכמה מסכים לוקח כמה שניות לחזור ממנו, לעיתים עם ריצוד סנכרון מעצבן. בפאנלים שטוחים מודרניים השלושה כמעט בלתי ניתנים להבחנה, ולכן אני משתמש ב-suspend כדרך האמצע ומפסיק לחשוב על זה.

לראות מה מוגדר

xset q מדפיס את המצב הנוכחי של כל מה ש-xset שולט בו, כולל קוצבי הזמן של DPMS:

xset q | grep -A 3 DPMS

תראו שלושה מספרים: זמני חוסר הפעילות, בשניות, שאחריהם השרת נכנס בעצמו ל-standby, ל-suspend ול-off. אם DPMS מופיע כמושבת, פקודת הכפייה עדיין עובדת, אבל דבר לא יקרה אוטומטית. כדי להפעיל את ההתנהגות האוטומטית עם קוצבי זמן לבחירתכם:

xset dpms 600 900 1200
xset +dpms

זה standby אחרי עשר דקות, suspend אחרי חמש-עשרה, off אחרי עשרים. xset -dpms משבית זאת שוב, וזה מה שתרצו בזמן צפייה בסרט.

קמט קטן

אם אתם מריצים את הפקודה ממסוף והמסך אינו מחשיך, הסיבה הסבירה ביותר היא ששחרור מקש ה-Enter נחשב לפעילות והעיר את המסך שוב כמה אלפיות שנייה אחרי שנרדם. התיקון הוא לתת לעצמכם רגע לעזוב את המקלדת:

sleep 1; xset dpms force suspend

תמצאו את הלחש המדויק הזה בקיצורי המעטפת של אנשים רבים, ועכשיו אתם יודעים למה.

לקשור אותה למקש

להקליד את הפקודה זה בסדר, אבל הרעיון היה לא לחשוב על זה. לכל סביבת שולחן עבודה יש דרך לקשור פקודת מעטפת למקש. ב-GNOME זה תחת קיצורי מקלדת, קיצורים מותאמים אישית; ב-KDE זה קיצור מותאם תחת פעולות קלט; בכל מנהל חלונות שקורא קובץ הגדרות זו שורה אחת באותו קובץ. קשרו את זה:

sh -c 'sleep 1; xset dpms force suspend'

אני משתמש במקש שאיני לוחץ עליו אף פעם אחרת, אחד ממקשי הפונקציה הפנויים שרוב המקלדות נושאות. הקשה אחת, המסכים נרדמים, המכונה ממשיכה לעבוד, ודבר אינו נעול.

למה לטרוח

שתי סיבות, ואף אחת מהן אינה צדקנות.

הראשונה היא כסף וחום. זוג מסכים גדולים צורך כמות ניכרת של הספק ומחמם את החדר, ואין סיבה לשלם על אור שאיש אינו מביט בו.

השנייה היא שזה בדיוק סוג הדבר שממשק גרפי גרוע בו. יש חלון של שומר מסך, וחלון של הגדרות הספק, ומסך נעילה, ואף אחד מהם אינו עושה את הדבר הפשוט של כיבוי המסכים ברגע זה. שורת הפקודה עושה, בשורה אחת, ועשתה זאת הרבה לפני שהחלונות האלה היו קיימים. הכלים הישנים לא הפכו מיושנים כשלוחות ההגדרות הופיעו; הם רק הפסיקו להיות מפורסמים.