ฉันจะปิดการใช้งานข้อความหรือการบันทึกจากการพิมพ์บนคอนโซล / เทอร์มินัลเสมือนได้อย่างไร?


34

ไดรเวอร์ไร้สายของฉันมีเสียงดัง มันพิมพ์ข้อความไปยังคอนโซลทุก 10-30 วินาที ดังนั้นถ้าฉันกำลังทำงานกับ VT1 หรือบางอย่างฉันจะได้รับข้อความเลื่อนตลอดเวลา มีวิธีปิดฟีเจอร์นี้หรือไม่? ฉันชอบทำงานกับเทอร์มินัลเสมือนจริง แต่สิ่งนี้ทำให้ยากที่จะจัดการ :)

ความคิดใด ๆ

คำตอบ:


45

คุณสามารถใช้คำสั่ง

sudo dmesg -n 1

เพื่อระงับข้อความทั้งหมดจากเคอร์เนล (และไดรเวอร์) ยกเว้นข้อความตื่นตระหนกไม่ให้ปรากฏบนคอนโซล

ในการแก้ไขที่บูตแต่ละครั้งให้เพิ่มคำสั่งไปที่:

/etc/rc.local

1
เยี่ยมมากนั่นเป็นเพียงสิ่งที่ฉันกำลังมองหา :)
dpb

1
จะต้องทำงานเป็นรากเช่นdmesg -n 1 sudo dmesg -n 1
ntc2

30

dmesg มาพร้อมกับสองตัวเลือกที่มีประโยชน์สำหรับการที่:

-D, --console-off           disable printing messages to console
-E, --console-on            enable printing messages to console

dmesg -Dเป็นเพียงทางลัดสำหรับdmesg -n 1ยกเว้นว่าจะเก็บระดับการบันทึกปัจจุบันเพื่อให้คุณสามารถกู้คืนได้อย่างง่ายดายdmesg -Eยกเว้นว่ามันเก็บบันทึกปัจจุบันระดับเพื่อให้คุณสามารถเรียกคืนได้ด้วยdmesg -nดังนั้นมันเป็นบิตที่สะดวกมากขึ้นกว่าการเปลี่ยนระดับการบันทึกด้วย

นอกจากนี้คุณสามารถตรวจสอบระดับการบันทึกปัจจุบันด้วย:

$ cat /proc/sys/kernel/printk
7       4       1       7

man klogctl สำหรับคำอธิบายเพิ่มเติมเกี่ยวกับตัวเลขเหล่านี้ ...


5

/proc/sys/kernel/printk

คุณยังสามารถตั้งค่าระดับบันทึกได้โดยตรงด้วย

echo 1 > /proc/sys/kernel/printk

ซึ่งโดยทั่วไปสิ่งที่dmesgกำลังทำ

รูปแบบของไฟล์ดังกล่าวมีการอธิบายไว้ที่: https://superuser.com/a/793692/128124

loglevel พารามิเตอร์การบูตบรรทัดคำสั่ง

ตั้งค่าเริ่มต้น ณ เวลาบูตซึ่งช่วยให้คุณเห็นข้อความก่อนเริ่มต้น

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.