Boot Ubuntu 16.04 ใน command line / ห้ามเริ่ม GUI


30

ฉันต้องการให้ Ubuntu 16.04 ของฉันไม่เริ่ม GUI ในการบู๊ตและแสดงคอนโซลบรรทัดคำสั่งเท่านั้น ฉันลองผู้รับต่อไปนี้แล้ว แต่ก็ไม่มีเลยสำหรับรุ่น 16.04 และดูเหมือนว่าพวกเขาจะไม่ทำงาน - GUI เริ่มทำงานแล้ว:

  1. GRUB_CMDLINE_LINUX =” text”

  2. เปลี่ยน runlevel เริ่มต้น

เป็นการดีที่ฉันยังต้องการที่จะสามารถเริ่ม GUI โดยพิมพ์คำสั่ง

คำตอบ:


27

systemctlคุณสามารถปิดการใช้บริการผู้จัดการการแสดงผลด้วย ตัวอย่างเช่นถ้าผู้จัดการการแสดงผลของคุณlightdmทำงานแล้ว:

sudo systemctl disable lightdm.service

สิ่งนี้จะป้องกันไม่ให้บริการเริ่มต้นเมื่อบู๊ตเครื่อง

แก้ไข :

ฉันลืมที่จะพูดถึงวิธีการเริ่ม GUI มันง่ายเหมือนการเริ่มบริการ systemd:

sudo systemctl start lightdm.service

1
สิ่งนี้ใช้ได้กับฉันเมื่อวันที่ 16.04 บนกระดานแขน ขอบคุณ :)
wojci

สิ่งนี้ไม่ทำงานในระบบของฉัน (16.04 LTS บนเครื่อง PC) มันจะแสดงหน้าจอเริ่มต้นพร้อมกับข้อความ [OK] ทั้งหมดเมื่อเริ่มให้บริการแล้วค้าง
พอลวิลเลียมส์

BTW เพื่อเปิดใช้บริการอีกครั้งคำสั่งเป็นจริง sudo systemctl เปิดใช้งาน lightdm.service
พอลวิลเลียมส์

16

แทนที่จะtextใช้ runlevel 3:

GRUB_CMDLINE_LINUX="3"

# To remove all the fancy graphics you need to get rid of `splash`.
GRUB_CMDLINE_LINUX_DEFAULT=”quiet”

# Uncomment to disable graphical terminal (grub-pc only) 
GRUB_TERMINAL=console

จากนั้นupdate-grubและรีบูต


GRUB_CMDLINE_LINUX="3"แต่คุณต้องการจริงๆเท่านั้น สำหรับการทดสอบอย่างรวดเร็วESCในระหว่างการบูตเพื่อเข้าสู่เมนูการบูตด้วง จากนั้นกดeและค้นหาบรรทัดที่ระบุเคอร์เนลและเพิ่ม3ที่ส่วนท้าย:

 linux /vmlinuz root=/dev/mapper/ubuntu ro 3

บูตด้วยCTRL+x


เป็นการดีที่ฉันยังต้องการที่จะสามารถเริ่ม GUI โดยพิมพ์คำสั่ง

หนึ่งในเหล่านี้:

$ sudo telinit 5
$ sudo service lightdm restart
$ sudo systemctl start lightdm

ทดสอบบน Ubuntu 16.04.1 LTS


2
การแทนที่ "ข้อความ" โดย "3" ได้ผลสำหรับฉัน! มีประสิทธิภาพมาก! ขอบคุณ
ThomasGuenet

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

1
@nyxee คำตอบของฉันมี 3 ส่วน ทำตามที่สอง: "สำหรับการทดสอบการตีอย่างรวดเร็ว ... "
โฆษณา

ฉันขอขอบคุณข้อมูลในโพสต์ของคุณ เมื่อถึงเวลาที่ผู้คนมองหาข้อมูลนี้พวกเขาก็มักจะหมดไปกับตัวเลือกอื่น ๆ ฉันให้ตัวอย่างของคำตอบง่ายๆด้านล่าง
nyxee

1
คำตอบที่ดี ฉันเพิ่งโพสต์คำตอบที่ยาวขึ้นด้วยข้อมูลจำนวนมากเพื่อให้เราทุกคนสามารถเรียนรู้เพิ่มเติม และฉันก็คุ้นเคยกับตัวเลือกเส้นด้วง cmd ดังนั้นมันจึงเร็วสำหรับฉันที่จะเพิ่ม3และฉันดีที่จะไป + มันเป็นทางออกที่หลาย distro :)
โฆษณา

10
  • เมื่ออยู่ในโหมด GUI สิ่งนี้จะนำคุณไปสู่โหมดข้อความ (runlevel 2,3,4) เมื่อทำการรีบูท คุณอาจได้รับหน้าจอว่างเปล่า (ไม่มี GUI) ซึ่งเป็นการแจ้งเตือนว่าไม่มี GUI :-) ป้อนctrlalt( F1, F2... ) เพื่อใช้ runlevels

systemctl set-default multi-user.target

  • สิ่งนี้จะนำคุณกลับไปสู่การบูต GUI เมื่อคุณอยู่ในโหมดข้อความ

systemctl set-default graphical.target


9

หนึ่งในสิ่งต่อไปนี้ซึ่งเป็นส่วนหนึ่งของบรรทัดคำสั่งเคอร์เนล (แก้ไขได้ผ่าน GRUB) ควรทำงาน:

  • systemd.unit=multi-user.targetจะแทนที่ค่าเริ่มต้นของ " graphics.target " - สิ่งนี้พร้อมกับsystemctl set-defaultเทียบเท่ากับ "runlevel เริ่มต้น";
  • systemd.mask=lightdm.serviceจะห้ามบริการเฉพาะจากการเริ่มต้นจนกระทั่งsystemctl unmask 'd ในภายหลังด้วยตนเอง
  • systemd.mask=display-manager.service - เหมือนกัน;
  • rescueอาคาsystemd.unit=rescue.targetเทียบเท่ากับ "runlevel ผู้ใช้คนเดียว"; ไม่ใช่สำหรับใช้ประจำวัน แต่มีประโยชน์เมื่อแก้ไข GUI ที่ใช้งานไม่ได้

มันจะมีประโยชน์ที่จะกล่าวถึงวิธีที่คุณกลับสู่ภาวะปกติจาก "การตั้งค่าฉุกเฉิน"
nyxee

1
เพื่อประโยชน์ของผู้อื่นคำสั่ง CLI ที่แท้จริงที่คุณต้องการคือsystemctl set-default multi-user.target(และฉันเชื่อว่าsystemctl set-default graphical.targetจะรีเซ็ต)
Andrea

นั่นก็ต่อเมื่อคุณต้องการให้มันกึ่งถาวรและสามารถเข้าถึงกระสุนได้ตั้งแต่แรก โพสต์หลักไม่มีส่วนเกี่ยวข้องกับคำสั่ง CLI
grawity

3

สำหรับ ubuntu 18.04 เปิดใช้งานผู้ใช้รูท

 sudo passwd

แล้ว

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