ฉันคิดว่า/usr/bin/startx
สคริปต์ใช้เพื่อเริ่มเซิร์ฟเวอร์ X แต่ดูเหมือนว่าจะไม่เป็นจริง กระบวนการหรือสคริปต์ใดที่เริ่มต้นเซิร์ฟเวอร์ X ต้องเริ่มต้นเซิร์ฟเวอร์ X ก่อนที่จะมองเห็น lightdm ได้ แต่เมื่อใด
ฉันคิดว่า/usr/bin/startx
สคริปต์ใช้เพื่อเริ่มเซิร์ฟเวอร์ X แต่ดูเหมือนว่าจะไม่เป็นจริง กระบวนการหรือสคริปต์ใดที่เริ่มต้นเซิร์ฟเวอร์ X ต้องเริ่มต้นเซิร์ฟเวอร์ X ก่อนที่จะมองเห็น lightdm ได้ แต่เมื่อใด
คำตอบ:
/etc/init.d/lightdmเริ่มต้น Xserver Lightdm เริ่มต้นใช้งานก่อนจากนั้นจึงเริ่ม Xserver กระบวนการหลักของ Xserver (Xorg) คือ lightdm (PID 25600 ดังแสดงในตัวอย่างด้านล่าง) คุณสามารถเห็นสิ่งนี้ได้โดยดำเนินการ:
ps -ef | grep lightdm.
root 25600 1 0 00:50 ? 00:00:00 /usr/sbin/lightdm
root 25608 25600 2 00:50 tty7 00:00:35 /usr/lib/xorg/Xorg -core :0 -seat seat0 -auth /var/run/lightdm/root/:0 -nolisten tcp vt7 -novtswitch
root 25686 25600 0 00:50 ? 00:00:00 lightdm --session-child 12 19
การรันคำสั่งต่อไปนี้จะหยุดและเริ่ม lightdm และ Xserver ตามลำดับ:
sudo /etc/init.d/lightdm stop
sudo /etc/init.d/lightdm start
startx
หากระบบ Ubuntu ของคุณบูทเข้าสู่หน้าจอข้อความตัวอย่างเช่นระบบขั้นต่ำหรือระบบเซิร์ฟเวอร์คุณสามารถใช้ startx เพื่อเริ่ม xserver (และตัวจัดการหน้าต่างอย่างง่ายเช่น openbox หรือ fluxbox หรือสภาพแวดล้อมเดสก์ทอปเช่น gnome, kde, lxde, .. . xfce)
ตัวอย่างเช่นมันเพียงพอที่จะเริ่มและใช้เดสก์ท็อปแบบกราฟิกอย่างง่าย (ในระบบขั้นต่ำหรือระบบเซิร์ฟเวอร์) หลังจากติดตั้งแพคเกจโปรแกรมสามชุด
sudo apt update
sudo apt install fluxbox xinit xterm
ด้วยคำสั่ง
startx
หากคุณมีระบบเดสก์ท็อป Ubuntu (Ubuntu มาตรฐานหรือหนึ่งในชุมชนรสชาติ Kubuntu, Lubuntu, ... Xubuntu) คุณไม่จำเป็นต้องใช้ startx สภาพแวดล้อมเดสก์ทอปแบบกราฟิกจะเริ่มต้นโดยอัตโนมัติ (และคุณไม่จำเป็นต้องเรียกใช้startx
) systemd
ถ้าผมเข้าใจอย่างถูกต้องก็จะเริ่มต้นผ่าน ดูตัวอย่างลิงค์ต่อไปนี้
wiki.archlinux.org/index.php/Systemd/User#Xorg_and_systemd
wiki.archlinux.org/index.php/xorg
การสลับระหว่างโหมดข้อความและโหมดกราฟิกอธิบายไว้ในคำตอบที่ยอมรับของลิงก์ต่อไปนี้
การบูตเข้าสู่โหมดข้อความใน 16.04
หากต้องการบูต Ubuntu 16.04 Desktop โดยไม่มี X หนึ่งครั้งให้เพิ่ม systemd.unit = multi-user.target ไปยังบรรทัดคำสั่ง linux ใน GRUB
ในการทำให้เป็นค่าเริ่มต้นให้ใช้
sudo systemctl set-default multi-user.target
เพื่อกลับไปเริ่มต้นการบูตเป็น X ให้ใช้
sudo systemctl set-default graphical.target
หากต้องการดูเป้าหมายเริ่มต้นในปัจจุบัน
sudo systemctl get-default
คุณสามารถอ่านเกี่ยวกับกระบวนการบูทขึ้นได้ที่นี่: http://manpages.ubuntu.com/manpages/xenial/man7/boot.7.html
แม้ว่าคู่มือไม่ได้พูดถึง Xserver (หรือ X11) แต่กระบวนการเริ่มต้นมีหน้าที่รับผิดชอบในการเริ่มต้น Xserver
Init proccess (PID = 1) วางไข่ทุกอย่างโดยปกติรวมถึง x11
ใน 16.04 เป็น/sbin/init
ของ systemd-sysv