วิธีการอัตโนมัติ (โดยไม่ต้องป้อนชื่อผู้ใช้และรหัสผ่าน) (ในโหมดข้อความ)


11

ฉันได้ติดตั้ง Ubuntu 12.04 & และแก้ไขไฟล์ / etc / default / grub เพื่อบูตอัตโนมัติในโหมดข้อความ แต่ทุกครั้งที่ฉันเปิดคอมพิวเตอร์เครื่องจะขอชื่อผู้ใช้และรหัสผ่าน (ในโหมดข้อความ) ฉันต้องการให้ลงชื่อเข้าใช้โดยอัตโนมัติโดยไม่ต้องขอชื่อผู้ใช้และรหัสผ่านดังนั้นในโหมดกราฟิกฉันไปที่ "การตั้งค่าระบบ -> บัญชีผู้ใช้" "การเข้าสู่ระบบอัตโนมัติ" แต่มันไม่ทำงาน ดังนั้นฉันควรทำอย่างไรเพื่อเข้าสู่ระบบโดยอัตโนมัติแม้ในโหมดข้อความ?



คำถามนี้เพิ่มเงื่อนไขที่ไม่ได้ป้อนรหัสผู้ใช้และรหัสผ่านในโหมดข้อความเพื่อลงชื่อเข้าใช้
John S Gruber

คำตอบ:


10

เพื่อบูตเข้าสู่โหมดข้อความ

sudo vim / etc / default / grub

และเปลี่ยนบรรทัดต่อไปนี้:

GRUB_CMDLINE_LINUX_DEFAULT="text"

ออกและป้อน:

 sudo update-grub

ล็อกอินโดยอัตโนมัติในโหมดข้อความโดยไม่ต้องระบุหมายเลขผู้ใช้หรือรหัสผ่าน

พุ่งพรวดเวอร์ชั่นของ Ubuntu

เพิ่ม-a <your-user-name>ในบรรทัด:

exec /sbin/getty -8 38400 tty1

ในไฟล์ /etc/init/tty1.conf

ชอบมาก:

exec /sbin/getty -8 38400 tty6 -a gruber

/etc/init/tty1.conf เป็นงานพุ่งพรวดที่ทำงานในเวลาที่เหมาะสมเพื่อเริ่มต้นเทอร์มินัลเซสชันบน tty1 การเพิ่ม-aตัวเลือกจะบอก getty ให้เรียกโปรแกรมเข้าสู่ระบบด้วยตัวเลือก -f เพื่อลงชื่อผู้ใช้นั้นโดยข้ามการแจ้งจากผู้ใช้จาก getty และการขอรหัสผ่านจากการเข้าสู่ระบบ

พุ่งพรวดเป็นระบบ Ubuntu ที่ทำงานเป็นกระบวนการเริ่มต้นเคอร์เนล (กระบวนการ 1)

ฉันทดสอบสิ่งนี้ใน tty6 ของฉันและใช้งานได้ดี เนื่องจากบรรทัดการเกิดใหม่เริ่มต้นถ้าคุณออกจากเชลล์มันจะเริ่มการสำรองข้อมูลอีกครั้งโดยอัตโนมัติ

อูบุนตูเวอร์ชัน Systemd

Ubuntu รุ่นใหม่กว่าส่วนใหญ่ใช้ systemd เพื่อจัดการกระบวนการของระบบ ดังนั้นจึงมีวิธีการใหม่ในการทำสิ่งต่าง ๆ

การใช้ systemd tty นั้นแตกต่างกันเล็กน้อยกับกราฟิกเทอร์มินัลที่อาจทำงานบนเทอร์มินัลเสมือนสองสามตัวแรก tty6 ถูกสงวนไว้ให้เป็นเทอร์มินัลเสมือนข้อความที่มี systemd และอาจจะมีคนอื่นเช่นกัน

หากต้องการให้ลงชื่อเข้าใช้ tty6 เมื่อคุณป้อน:

sudo systemctl edit getty@tty6

เครื่องมือแก้ไขนาโนจะปรากฏขึ้นในไฟล์ชั่วคราว ป้อนสิ่งต่อไปนี้ในโปรแกรมแก้ไขนั้น:

 [Service]
 ExecStart=
 ExecStart=-/sbin/agetty -o '-p -f gruber' -a gruber --noclear %I $TERM

ออกจากตัวแก้ไข

การใส่ในบรรทัด ExecStart = พิเศษไม่ใช่การพิมพ์ผิด มันสำคัญมากที่จะบอกให้ systemd ลืมพารามิเตอร์ ExecStart ดั้งเดิมที่ทราบแล้ว (จาก /lib/systemd/system/getty@.service) เพื่อให้คุณสามารถแทนที่ ExecStart ได้

คุณสามารถตรวจสอบผลลัพธ์ด้วยคำสั่งต่อไปนี้:

 systemd-analyze verify getty@tty6.service

ฉันเห็นคำเตือนบางอย่างที่นั่นเมื่อฉันลองทำสิ่งนี้ แต่ไม่เกี่ยวกับสิ่งที่เรากำลังทำอยู่ที่นี่

หากมีกระบวนการ tty เกิดขึ้นแล้ว tty6 คุณจะต้องรีสตาร์ทเพื่อดูผลลัพธ์


ที่จะคิดออกนี้ผมเรียกว่าเป็นคำตอบที่ดีเยี่ยมใน/ubuntu//a/659268/63886 มี Muru เกิดขึ้นเพื่อใช้เป้าหมายเดียวกันเป็นตัวอย่างในการปรับแต่ง systemd สาย ExecStart ของเขาคือ:

 ExecStart=-/sbin/agetty -a muru --noclear %I $TERM

ความแตกต่างนั้นดูเหมือนจะเป็นตัวแปรทางสิ่งแวดล้อมที่เกี่ยวข้องกับ systemd อีกสองสามอย่างที่ปรากฏในเวอร์ชั่นของฉัน

ผลลัพธ์สุดท้ายของการแก้ไขข้างต้นคือการสร้างไฟล์ชื่อ override.conf ใน /etc/systemd/system/getty@tty6.service.d/ ซึ่งบรรจุสิ่งที่คุณพิมพ์ด้านบน หากคุณต้องการสร้างไฟล์ดังกล่าวด้วยตัวเองคุณจะต้องเรียกใช้systemctl daemon-reloadคำสั่งเพื่อให้ systemd จดจำและอีกครั้งจากนั้นอาจเริ่มกระบวนการ agetty ที่มีอยู่บนคอนโซลเสมือนนั้นอีกครั้ง systemctl --edit ดูแล daemon-reload ให้คุณ


1
tty1ทำงานได้ดีสำหรับฉัน
razzak

1
ไม่มีไฟล์ / etc / init / tty * ในระบบของฉัน
ka3ak

@ ka3ak ขอบคุณที่นำสิ่งนั้นมา ใหม่กว่าการใช้งาน systemd ของ Ubuntu และไฟล์กำหนดค่าเริ่มต้นจะแตกต่างกันในเนื้อหาและตำแหน่ง ฉันได้อัปเดตคำตอบด้วยส่วน systemd แล้ว หากคุณตัดสินใจที่จะลองโปรดอ่านคำตอบของ Muru ด้วย
John S Gruber

+1 สำหรับโซลูชันที่อิงกับ systemd
Paul Grinberg

3

เปิดเทอร์มินัลแล้วทำตาม

sudo kate /etc/default/grub

จากนั้นค้นหาบรรทัดนี้และเปลี่ยนตามที่แสดงด้านล่าง

GRUB_CMDLINE_LINUX_DEFAULT="text"

ตอนนี้ปิดตัวแก้ไขและทำตาม

sudo update-grub 

และทำการรีสตาร์ททันที


ผมชอบคำตอบนี้ แต่คุณอาจต้องการที่จะเพิ่มจาก: เป็น: ส่วนสำหรับหาเส้นและการเปลี่ยนแปลงนี้เป็นส่วนหนึ่ง
RobotHumans

ฉันทำตามคำแนะนำแล้ว แต่ยังคงบู๊ตกับ GUI อาจเป็นเพราะฉันใช้กล่องเสมือนจริงหรือ
errorhandler

1

sudo gedit etc/default/grub

และแทนที่

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

ถึง

GRUB_CMDLINE_LINUX_DEFAULT="text"

นอกจากนี้ยังแสดงความคิดเห็น GRUB_HIDDEN_TIMEOUT = 0 บรรทัดนี้สำหรับการซ่อนเมนู GRUB (ความคิดเห็นคือการใส่ "#" ในบรรทัด)

sudo update-grub

และเพื่อเริ่มต้น x เพียงแค่พิมพ์ startx


1
ไม่ฉันทำสิ่งนี้มาก่อนฉันแค่ต้องการให้โหมดข้อความไม่ถามชื่อผู้ใช้และรหัสผ่าน
Navid777

0
sudo update-rc.d -f gdm remove

หากคุณใช้ Kubuntu ให้แทนที่ gdm ด้วย kdm ในคำสั่งด้านบน

หากยังคงเป็นการบูต / ปิดระบบกราฟิก แต่จะทำให้คุณอยู่ที่บรรทัดคำสั่งหลังจากบูต คุณควรตรวจสอบการกำหนดค่าด้วง สำหรับคลิกที่นี่


ฉันลองมัน แต่มันยังบูทเข้าไปใน GUI
errorhandler

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