स्क्रीन को साफ़ करने से कंसोल को रोकें?


11

लिनक्स में बूट करते समय, कभी-कभी एक या दो लाइनें होती हैं जो जल्दी से साफ हो जाती हैं। मुझे लगता है कि उनमें से कुछ भी dmesg में दिखाई नहीं देते हैं। अगर और कुछ नहीं, मैं "लॉगिन:" संकेत से पहले स्पष्ट को दबाना चाहता हूं। क्या कोई कर्नेल कमांड या sysctl है जिसे मैं इसे रोकने के लिए सेट कर सकता हूं ताकि मैं उन्हें बूट करने के बाद कंसोल स्क्रीन पर पढ़ सकूं?


क्या /var/log/kern.log मदद नहीं करता है? या आपके पास नहीं है?
ह्यूब

जवाबों:


13

अधिकांश जानकारी जो आप चाहते हैं , वह सिस्टम बूट के बाद /var/log/dmesgऔर अंदर होगी /var/log/messages, आपको पहले उन फाइलों की जांच करनी चाहिए।

आमतौर पर लाइनक्स मशीनें वर्चुअल टर्मिनलों के लिए मिंगेटी चलाती हैं । यदि आपके पास पारंपरिक sysv init सिस्टम है, तो उन पर नियंत्रण किया जाता है /etc/inittab। आप --noclearस्क्रीन को साफ़ करने से रोकने के लिए मिंगट्टी में विकल्प जोड़ सकते हैं । ऐसा करने के लिए, /etc/inittabइस पंक्ति को संपादित करें और बदलें:

1:2345:respawn:/sbin/mingetty tty1

सेवा

1:2345:respawn:/sbin/mingetty --noclear tty1

फिर मशीन को रिबूट करें।

कुछ नए linux distros अपस्टार्ट (उदाहरण के लिए, Ubuntu) जैसे init रिप्लेसमेंट का उपयोग करते हैं। ये आमतौर पर / etc / inittab का उपयोग नहीं करते हैं और इसके बजाय कुछ अन्य कॉन्फ़िगर फ़ाइलों का उपयोग करते हैं। यहाँ इस बात की चर्चा है कि उबंटू पर कॉलिंग मिंगटी कैसे काम करता है


खैर, मैं यह उल्लेख करना भूल गया कि मैं वास्तव में उबंटू की परवाह करता हूं। उपरोक्त लिंक कुछ पुरानी जानकारी की ओर इशारा करता है, और मेरा पहला प्रयास (बस संपादित करें /etc/init/tty1.conf बिल्कुल भी सफल नहीं था।
पॉल हॉफमैन

वे उपयोग करते gettyहैं util-linux, नहीं mingetty, लेकिन यह डेबियन के साथ भी काम करता है। धन्यवाद!
mirabilos

10

सिस्टमड चीजों के साथ अलग हैं। देखें लेख मेरे भगवान शापित कंसोल को साफ करना बंद करो । संक्षेप में:

mkdir /etc/systemd/system/getty@.service.d
cat >/etc/systemd/system/getty@.service.d/noclear.conf <<EOF
[Service]
TTYVTDisallocate=no
EOF
systemctl daemon-reload

के साथ परिणाम सत्यापित करें systemctl cat getty@tty1.service


4

अगर कुछ और मदद नहीं मिली, तो आप अपने लैपटॉप को पकड़ सकते हैं और कर्नेल मापदंडों के साथ कुछ इस तरह जोड़कर सीरियल कंसोल के माध्यम से सभी कर्नेल लॉग पर कब्जा कर सकते हैं:

console=tty0 console=ttyS0,9600n8 console=tty0

यह सीरियल कंसोल (आपके टर्मिनल प्रोग्राम में) और मानक ट्टी पर एपियर को आउटपुट देगा। कभी-कभी SOL (सीरियल ओवर लैन) उपलब्ध है।


3

गुग्लिंग के घंटों के बाद, मुझे इस धागे और इस सवाल का हल मिला । यह प्रक्रिया यहांUbuntu 12.04.1 LTS वर्णित के रूप में भी काम करती है , लेकिन यह अन्य वितरणों के लिए बहुत अधिक भिन्न नहीं होनी चाहिए।

सबसे पहले, console=tty1अपने में जोड़ें GRUB_CMDLINE_LINUX(मैं भी noplymouthअवरोध plymouthऔर इसके बेकार छप को जोड़ने के लिए सुझाव देता हूं )।

#> sudo vi /etc/default/grub

GRUB_CMDLINE_LINUX="console=tty1 noplymouth"

यह कर्नेल लॉग को tty1इसके बजाय प्रिंट करने पर मजबूर करता है tty7और ttyलॉगिन प्रॉम्प्ट से पहले स्विच से बचें ।

तो बस में जाने /etc/initया और एक संपादन के और अधिक tty1.conf, tty2.conf, tty3.conf, tty4.conf, tty5.conf, tty6.confया console.conf। मैंने उन सभी --noclearको gettyकमांड में विकल्प जोड़कर संपादित किया । उदाहरण के लिए, संपादन tty1.conf:

#> sudo vi /etc/init/tty1.conf

आपको प्रतिस्थापित करना होगा:

respawn
exec /sbin/getty -8 38400 tty1

साथ में:

respawn
exec /sbin/getty -8 38400 --noclear tty1

बस इतना ही, अब आपके सिस्टम को ttyबिना क्लीयर किए एक ही बूट करना चाहिए ।


1

dmesg यहाँ कर्नेल की शुरुआत के साथ शुरू होता है

[    0.000000] Initializing cgroup subsys cpuset

शायद यह कुछ बायोस संदेश या आपके बूट लोडर का हिस्सा है? किसी भी तरह से, कई अलग-अलग चीजें हैं जो स्क्रीन को खाली कर सकती हैं, बिना यह जाने कि इस प्रक्रिया में वास्तव में कहां हुआ, यह कहना मुश्किल है कि इसके बारे में क्या करना है। क्या केवल एक ही चीज़ "लॉगिन:" स्क्रीन पर बची है? या इसके ऊपर कुछ अन्य बूट-अप सामान है? यदि यह लॉगिन प्रॉम्प्ट से तुरंत पहले है और स्क्रीन पर कुछ और नहीं है, तो शायद /etc/issueइसमें स्क्रीन-ब्लैंकिंग कमांड है? अन्यथा, आप किसी प्रकार के कंसोल फ़्रेम बफर का उपयोग कर सकते हैं जो वीडियो मोड को स्विच कर रहा है। मेरे कंप्यूटर पर, कंसोल फ़ॉन्ट लोड होने पर स्क्रीन खाली हो जाती है।


TL, DR /etc/issueएक अपराधी भी हो सकता है। अच्छा संकेत।
टीनो
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.