पाठ कंसोल पर स्क्रीन को अक्षम करना


75

मैं लिनक्स क्लस्टर चला रहा हूं, ज्यादातर SLES10 पर। सर्वर ज्यादातर ब्लेड होते हैं, जिन्हें रिमोट कंसोल के जरिए एक्सेस किया जाता है। सर्वर रूम में एक वास्तविक कंसोल है, लेकिन स्विच ऑफ है।

मैं स्क्रीन ब्लैंकिंग को निष्क्रिय करना चाहूंगा क्योंकि यह बिना किसी उद्देश्य के कार्य करता है और एक उपद्रव है। आपको यह देखने के लिए कुंजी दबानी होगी कि क्या आप जुड़े हुए हैं जो एक दर्द है। हम रनलेवल 3 में चल रहे हैं, इसलिए कंसोल टेक्स्ट मोड में है, इसमें कोई X11 शामिल नहीं है।



डेबियन के लिए, unix.stackexchange.com/questions/238846 देखें ।
JDBP

जवाबों:


85

आप यह सत्यापित कर सकते हैं कि वर्चुअल कंसोल को खाली करने के लिए कर्नेल किस समय उपयोग करता है:

$ cat /sys/module/kernel/parameters/consoleblank
600

यह फ़ाइल केवल-पढ़ने के लिए है और टाइमआउट सेकंड में निर्दिष्ट किया गया है। वर्तमान डिफ़ॉल्ट 10 मिनट का लगता है।

आप नीचे दिए गए आदेश दर्ज उस मान को बदल सकते हैं एक आभासी कंसोल पर (यदि आप एक xterm आप जैसे मार के माध्यम से एक आभासी कंसोल के लिए बदलने के लिए अंदर हैं Ctrl+ Alt+ F1)।

$ setterm -blank VALUE

जहां नया VALUE मिनटों में निर्दिष्ट किया गया है । रिक्त मान 0 अक्षम करता है:

$ cat /sys/module/kernel/parameters/consoleblank
600
$ setterm -blank 0
$ cat /sys/module/kernel/parameters/consoleblank
0

सेटरम में अन्य शक्तियां संबंधित विकल्प हैं, सबसे उपयोगी संयोजन लगता है:

$ setterm -blank 0 -powersave off

इस प्रकार स्टार्टअप पर वर्चुअल कंसोल को स्थायी रूप से / स्वचालित रूप से अक्षम कर सकते हैं:

  1. consoleblank=0कर्नेल पैरामीटर में जोड़ें (ग्रब कॉन्फ़िगरेशन संपादित करें)
  2. setterm -blank 0एक rc-localया बराबर स्टार्टअप स्क्रिप्ट में कमांड जोड़ें
  3. हर वर्चुअल कंसोल पर settermआउटपुट के /etc/issueबाद /etc/issueसे आउटपुट जोड़ें :

    # setterm -blank 0 >> /etc/issue

ऊपर से एक विकल्प चुनें।


2
पुनश्च: उबंटू 11.10 सिस्टम (थिंकपैड एक्स 200) पर मैंने एक बग पर ध्यान दिया जहां कर्नेल द्वारा सांत्वना को कम करने के लिए एक चल रहे एक्स 11 सत्र के साथ हस्तक्षेप होता है। इसका मतलब है कि अंतिम कुंजी X11 डिस्प्ले ब्लैंक को दबाने के 10 मिनट बाद और आपको X11 स्क्रीन को वापस लाने के लिए वर्चुअल कंसोल पर जाना होगा (जैसे वीडियो प्लेबैक के दौरान बहुत कष्टप्रद)। यह X11 (थिंक xsetआदि) के तहत DPMS / स्क्रीनसेवर से संबंधित सेटिंग्स से स्वतंत्र है । इस प्रकार, ऊपर वर्णित की तरह वायरल कंसोल को अक्षम करना प्रभावित प्रणालियों के लिए एक त्वरित समाधान है।
मैक्सक्लेपजिग

हममम। किसी कारण के लिए, मैं /sys/module/kernel/parameters/consoleblankअपने CentOS 5.x सर्वर पर नहीं देखता । क्या इसे एक अलग नाम के तहत सेट किया जा सकता है?
माइक बी

1
आरएचईएल 5 और 6 पर, मैंने पाया कि डालने /bin/setterm -blank 0 -powerdown 0 -powersave offसे /etc/rc.localबहुत काम आएगा। आरएचईएल 7 पर, हालांकि यह विफल होगा। consoleblank=0ते कर्नेल मापदंडों को जोड़ना उस प्लेटफ़ॉर्म पर काम करता है।
डेविड सी।

7
कृपया ध्यान दें कि आपको वास्तव settermमें वर्चुअल कंसोल में नहीं चलना है। आप इसे भी पुनर्निर्देशित कर सकते हैं: setterm -blank 0 > /dev/tty1ठीक काम करता है। या आप setterm -blank < /dev/tty1tty1 से वर्तमान मूल्य को क्वेरी करने या setterm -blank force < /dev/tty1ब्लैंकिंग को मजबूर करने के लिए उपयोग कर सकते हैं ।
अलेक्जेंडर एमेलकिन

@AlexanderAmelkin - रीडायरेक्ट में / से / देव / tty1 आरएचईएल 7 में काम नहीं करता है। जो डिस्ट्रो आप ऐसा करने के लिए उपयोग कर रहे थे? / dev / tty1 वास्तव में स्थानीय कंसोल है, लेकिन न तो वह और न ही / dev / कंसोल कुछ भी करने के लिए लग रहा था।
पॉल

15

इसका उपयोग करके देखें:

setterm -blank

1
@markus_b: तो एक init स्क्रिप्ट के इस आदेश को जोड़ें (जैसे कुछ /etc/init/markus-console.confअगर आप कल का नवाब, या का उपयोग /etc/init.d/markus-console.shमें प्लस सिमलिंक /etc/rd?.dSysVinit के लिए, मैं वास्तविक SuSE स्थानों पता नहीं है)।
गिल्स

2
@mattdm, सच नहीं है - systemdआमतौर पर एक rc-localसंगतता सेवा के साथ आता है - या आप आसानी से कस्टम सेवाओं को जोड़ सकते हैं ...
अधिकतम

3
@mattdm आप केवल एक इकाई क्यों नहीं लिख पाएंगे जो उस कमांड को चलाता है?
कियारास

1
सुझाव: पहले tmux से बाहर निकलें , या यह काम नहीं करेगा।
कोड़ी हेस


14

इसके अनुसार: https://wiki.archlinux.org/index.php/Display_Power_Management_Signaling#DPMS_Interaction_in_a_console_with_setterm

स्क्रीन को बंद करने से रोकें (कंसोल में)

$ setterm -blank 0 -powerdown 0

वैकल्पिक रूप से आप निम्न कमांड का उपयोग करके कंसोल को स्थायी रूप से अक्षम कर सकते हैं:

# echo -ne "\033[9;0]" >> /etc/issue


3
दूसरा समाधान Marvell ARM Debian पर एक आकर्षण की तरह काम करता है। अन्य सभी समाधान कुछ नहीं करते हैं।
एलेक्सी Sviridov

13

मैंने निम्नलिखित कॉन्फ़िगरेशन को लागू किया है और परीक्षण किया है, जो sles10 पर ठीक काम करता है, फिलहाल मेरा वर्कहॉर्स।

में

/etc/init.d/boot.local

जोड़ना

setterm -blank

ऐसा लगता है कि यह सब लगता है। सही दिशा में धकेलने के लिए उकु लॉसकिट और गिल्स का धन्यवाद।


1
मैंने आपके उत्तर को निर्दयता से संपादित किया है, इसलिए यदि आप इसे पसंद नहीं करते हैं तो रोलबैक करने में संकोच न करें। इसके अलावा, कृपया अपना उत्तर स्वीकार करें क्योंकि यह वास्तविक समाधान है। आपको उत्तर को सिर्फ इसलिए स्वीकार नहीं करना चाहिए क्योंकि आप आभारी हैं कि यह आपको वास्तविक उत्तर की ओर ले गया, यदि वास्तव में एक बेहतर उत्तर है।
tshepang

क्षमा करें, मूल संस्करण की तरह बेहतर है।
markus_b 19

मुझे शीर्ष वोट किए गए उत्तरों को जोड़ना पड़ा, क्योंकि मेरे सिस्टमबोर्ड पर ipmi बेवकूफ था अगर इसके दोनों हिस्से नहीं थे। दुख की बात है कि यह उपयोगों के बीच सेटिंग नहीं रखता है और जब ये विशेषताएं विंडो में किक करती हैं, तो अग्रभूमि में पॉप हो जाती है और विंडो को लगभग 4 अलग-अलग आकारों के माध्यम से साइकल चलाना शुरू कर देती है, हर दूसरे या 2 बार खिड़की को पकड़ने के लिए असंभव के करीब बना देती है और मैन्युअल रूप से इसका आकार बदल देती है / पावर सेव से टर्म को किक करें :(
केंड्रिक

13

एकमात्र स्थायी समाधान consoleblank=0कर्नेल कमांड-लाइन में जोड़ना है। आप मान देख सकते हैं (जिसमें 600 सेकंड के लिए चूक):

/sys/module/kernel/parameters/consoleblank

(ध्यान दें कि फ़ाइल केवल पढ़ने के लिए है)। कंसोलब्लैंक के मान को बदलने का एकमात्र तरीका नए कर्नेल कमांड-लाइन विकल्प के साथ रिबूट करना है।


3
अंतिम वाक्य गलत है - आपको मान बदलने के लिए रिबूट करने की आवश्यकता नहीं है consoleblank। मेरा जवाब देखिए।
मैक्सक्लेपजिग

मुझे मज़बूती से काम करने के लिए सेटटर -ब्लांक नहीं मिला है। यह कभी-कभी लॉगआउट करने या अन्य वर्चुअल टर्मिनलों पर स्विच करने के बाद रीसेट हो जाता है।
amnnabb

इस स्थाई सेटिंग को ग्रब के साथ जोड़ने के लिए, / koot /grub/grub.conf को एडिट करें और कंसोलब्लैंक = 0 को "कर्नेल / बूट / vmlinuz ..." से शुरू होने वाली लाइनों में जोड़ें। फिर रिबूट करें।
होयलेन

1
"केवल" यहां एक स्ट्रिंग शब्द की तरह लगता है ...
19

5

यदि आप केवल उपयोगकर्ता लॉगिन के बाद स्क्रीन खाली को रोकना चाहते हैं, तो बस संबंधित उपयोगकर्ताओं को संलग्न setterm -powersave off -blank 0करने $HOME/.bash_profileकी आवश्यकता है ।


5

मैं वास्तव में इस समस्या से त्रस्त था। सेटरम का उपयोग करने और / से / देव / tty0 तक के सभी ट्रिक्स मेरे ssh से काम नहीं किए।

तब मुझे इसे निष्क्रिय करने का एक तरीका महसूस हुआ:

TERM=linux setterm -blank 0 -powerdown 0  -powersave off >/dev/tty0 </dev/tty0

TERM = linux डिफ़ॉल्ट TERM (जो कि मेरी मशीन पर xterm-256color है) को बदल देता है, और tter0 से उचित मापदंडों को क्वेरी करने में सेटरम की मदद करता है।

आप परिणाम की जाँच कर सकते हैं

cat /sys/module/kernel/parameters/consoleblank

यह 0. होना चाहिए। यदि यह 600 है, तो चाल ने काम नहीं किया है।


3

/usr/bin/setterm -powerdown 0 मदद भी कर सकते हैं

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.