ฉันจะทำให้ Ubuntu เริ่ม fbterm ใน tty เมื่อเริ่มต้นได้อย่างไร


11

เมื่อฉันทดสอบ openSUSE เมื่อประมาณหนึ่งสัปดาห์ที่แล้วฉันสังเกตเห็นว่า tty1 (ใช่แค่ tty1) มีพื้นหลัง openSUSE ฉันต้องการทำเช่นเดียวกันใน Ubuntu

ฉันพบวิธีการใช้ fbsplash ฉันไม่กระตือรือร้นกับมันมากนักเนื่องจากมันเกี่ยวข้องกับการแก้ไขเคอร์เนล

จากนั้นฉันก็พบ fbterm ซึ่งอนุญาตให้คุณใช้พื้นหลังของคุณเองและไม่เกี่ยวข้องกับการปรับเปลี่ยนเคอร์เนล

ดังนั้นฉันจึงได้ทำงาน fbterm; ฉันตั้งค่าและตอนนี้ฉันสามารถเรียกใช้เป็นตัวเอง (ไม่เหมือนรูท) และใช้งานได้ดี

ตอนนี้สิ่งที่ฉันต้องการคือวิธีที่จะทำให้มันเริ่มใน tty เมื่อฉันเริ่ม Ubuntu

แก้ไข: มันต้องทำบางสิ่งบางอย่างเช่น getty เมื่อฉันเริ่มต้น; มิฉะนั้นฉันจะไม่สามารถเข้าสู่ระบบได้

คำตอบ:


7

ก่อนอื่นคุณต้องแก้ไขไฟล์ inittab ของคุณ บน Debian มันอยู่ใน/etc/inittabและฉันเดาว่ามันอาจจะคล้ายกับ Ubuntu พรอมต์ TTY ปกติได้รับการจัดการด้วยโปรแกรมที่เรียกว่าgettyดังนั้นคุณจะต้องเลื่อนลงไปยังตำแหน่งที่ตั้งค่าโปรแกรมนั้น คุณควรเห็นบรรทัดจำนวนมากคล้ายกับสิ่งนี้:

# Note that on most Debian systems tty7 is used by the X Window System,
# so if you want to add more getty's go ahead but skip tty7 if you run X.
#
1:2345:respawn:/sbin/getty 38400 tty1
2:23:respawn:/sbin/getty 38400 tty2
3:23:respawn:/sbin/getty 38400 tty3
4:23:respawn:/sbin/getty 38400 tty4
5:23:respawn:/sbin/getty 38400 tty5
6:23:respawn:/sbin/getty 38400 tty6

rungettyต่อไปเราจะต้องใช้โปรแกรมที่เรียกว่า สิ่งนี้อนุญาตให้คุณรันโปรแกรมบน TTY ในฐานะผู้ใช้เฉพาะ fbtermคุณต้องเป็นรูทเพื่อเข้าถึง framebuffer โดย by ดังนั้นคุณสามารถเรียกใช้fbtermบน TTY2 ได้เช่นกัน (เครื่องหมายขีดคั่นคู่หมายถึงจุดสิ้นสุดของสวิตช์rungetty)

2:23:respawn:/sbin/rungetty -u root tty2 -- fbterm

ปัญหาเดียวเท่านั้น คุณมีเทอร์มินัลตาม framebuffer ที่สวยงาม แต่คุณเข้าสู่ระบบในฐานะ root! การมีรูทพรอมต์ที่ไม่ผ่านการตรวจสอบสิทธิ์นั้นไม่ดีต่อความปลอดภัยเท่าที่ควร นั่นไม่ได้ทำ

เราสามารถใช้โปรแกรมที่เรียกว่าloginรับรอบนี้โดยการยอมรับชุดข้อมูลรับรองผู้ใช้อีกชุดจากนั้นเริ่ม bash หรือ zsh หรือสิ่งที่เปลือกล็อกอินของคุณเกิดขึ้น โชคดีที่fbtermสามารถยอมรับคำสั่งเป็นอาร์กิวเมนต์สุดท้าย (อีกครั้งเครื่องหมายขีดกลางสองครั้งป้องกันfbtermและrungettyจากการรับอาร์กิวเมนต์ที่ผสมกัน:

2:23:respawn:/sbin/rungetty -u root tty2 -- fbterm -- login

ด้วยสิ่งนี้คุณควรfbtermใช้หนึ่งใน TTY ของคุณ


ในระบบที่ยูทิลิตี "rungetty" ไม่พร้อมใช้งาน มีวิธีอื่นในการทำเช่นเดียวกันหรือไม่?
dtmland

@dtland ดูเหมือน agetty และ mingetty มีตัวเลือก (-l และ --login ‐ prog ตามลำดับ) ที่อาจเป็นประโยชน์ แต่ฉันไม่ได้ลองด้วยตนเอง คุณยังสามารถลองดึงแหล่ง rungetty จากไฟล์เก็บถาวรแพ็คเกจเดเบียนและสร้างบนระบบของคุณ
Jacob Hume

ยังไงก็ตามฉันมีปัญหากับ fbterm โดยทั่วไป - บางทีความเชี่ยวชาญของคุณอาจมีประโยชน์ไหม? superuser.com/questions/892028/…
dtmland

1

คุณควรจะสามารถเปลี่ยนเทอร์มินัล tty ได้โดยการแก้ไข:

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