Ubuntu 16.04 LTS - เซิร์ฟเวอร์ X เริ่มอย่างไร


20

ฉันคิดว่า/usr/bin/startxสคริปต์ใช้เพื่อเริ่มเซิร์ฟเวอร์ X แต่ดูเหมือนว่าจะไม่เป็นจริง กระบวนการหรือสคริปต์ใดที่เริ่มต้นเซิร์ฟเวอร์ X ต้องเริ่มต้นเซิร์ฟเวอร์ X ก่อนที่จะมองเห็น lightdm ได้ แต่เมื่อใด

คำตอบ:


11

/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

9

บูตเข้าสู่หน้าจอข้อความและใช้งาน 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

3

คุณสามารถอ่านเกี่ยวกับกระบวนการบูทขึ้นได้ที่นี่: http://manpages.ubuntu.com/manpages/xenial/man7/boot.7.html

แม้ว่าคู่มือไม่ได้พูดถึง Xserver (หรือ X11) แต่กระบวนการเริ่มต้นมีหน้าที่รับผิดชอบในการเริ่มต้น Xserver


1
ไม่ตอบคำถามของฉัน
Irbis

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