บนเซิร์ฟเวอร์อูบุนตูฉันจะหลีกเลี่ยงการล้างหน้าจอก่อนที่หน้าจอเข้าระบบจะปรากฏขึ้นได้อย่างไร
ฉันพยายามอ่านข้อความแสดงข้อผิดพลาดที่หนึ่งในบริการและฉันได้รับหน้าจอที่น่ารำคาญนี้และฉันไม่สามารถเลื่อนขึ้นด้วย shift-pageUp
บนเซิร์ฟเวอร์อูบุนตูฉันจะหลีกเลี่ยงการล้างหน้าจอก่อนที่หน้าจอเข้าระบบจะปรากฏขึ้นได้อย่างไร
ฉันพยายามอ่านข้อความแสดงข้อผิดพลาดที่หนึ่งในบริการและฉันได้รับหน้าจอที่น่ารำคาญนี้และฉันไม่สามารถเลื่อนขึ้นด้วย shift-pageUp
คำตอบ:
สำหรับ systemd ตั้งค่าTTYVTDisallocate
เป็น no
เพื่อให้บรรลุนี้เรียกใช้systemctl edit getty@tty1
และป้อนรหัสด้านล่าง
[Service]
TTYVTDisallocate=no
systemctl edit
Unknown operation 'edit'.
ขอบคุณสำหรับลิงค์
การดูหน้าจอสุดท้ายของข้อความที่ปรากฏขึ้นระหว่างการบู๊ต
เมื่อ Ubuntu Server บู๊ตข้อความที่คุณเห็นมักจะเขียนไปยัง tty7 (คอนโซลเสมือนที่เจ็ด) เมื่อการบูทเสร็จสิ้นคุณจะถูกเปลี่ยนเป็น tty1 ซึ่งคุณจะได้รับพร้อมท์ให้ล็อกออน ดังนั้นข้อความบูตจะไม่ถูกล้างจริง คุณเพียงแค่เปลี่ยนไปใช้คอนโซลอื่นจากคอนโซลที่มีอยู่
หากต้องการดูอีกครั้งคุณสามารถสลับไปที่ tty7 ได้โดยกด Alt + F7 คุณสามารถเปลี่ยนกลับเป็น tty1 ด้วย Alt + F1 (และไปที่สองด้วย Alt + F2 และอื่น ๆ ) สิ่งนี้ไม่ได้ (และไม่ควรใช้) กับระบบ Ubuntu Server ส่วนใหญ่ แต่เมื่อ GUI ทำงานอยู่จะต้องใช้ Ctrl + Alt + F1 เพื่อเปลี่ยนเป็น tty1 (และ Ctrl + Alt + F2 สำหรับ tty2 เป็นต้น)
การป้องกันไม่ให้หน้าจอถูกล้างหลังจากผู้ใช้ล็อกเอาต์ดังนั้นข้อความจากเซสชันของพวกเขาจะปรากฏในเซสชันถัดไป
ในโฮมไดเร็กตอรี่ของคุณมีไฟล์ชื่อ. bash_logout ซึ่งมีบางสิ่งดังนี้:
if [ "$SHLVL" = 1 ]; then
[ -x /usr/bin/clear_console ] && /usr/bin/clear_console -q
fi
นั่นคือสิ่งที่ทำให้หน้าจอถูกล้างออกจากระบบ หากต้องการหยุดสิ่งนั้นไม่ให้เกิดขึ้นให้ใส่เครื่องหมายความคิดเห็นไว้ในบรรทัดทั้งหมด
#if [ "$SHLVL" = 1 ]; then
# [ -x /usr/bin/clear_console ] && /usr/bin/clear_console -q
#fi
หลังจากผ่านไปหลายชั่วโมงของ Google ฉันพบวิธีแก้ปัญหาในหัวข้อนี้และคำถามนี้
ก่อนอื่นเพิ่มลงconsole=tty1
ในของคุณGRUB_CMDLINE_LINUX
(ฉันขอแนะนำให้เพิ่มnoplymouth
การยับยั้งplymouth
และ splashscreen ที่ไร้ประโยชน์)
#> 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
นั่นคือทั้งหมดทำงานsudo update-grub
และตอนนี้ระบบของคุณควรบูตในหนึ่งเดียวtty
โดยไม่ต้องล้างมัน
update-grub
หลังจากแก้ไข/etc/default/grub
sudo update-grub
ต้องจำเป็นต้องสร้างใหม่grub.cfg
ขอบคุณสำหรับการแก้ไข
/var/log/
มากกว่า ฉันจะเริ่มมองหาที่และboot.log
syslog