"เกือบ" คำถามเดียวกันได้ถูกถามที่นี่:
รู้จักเซิร์ฟเวอร์หรือเดสก์ท็อปของ Ubuntu
ฉันต้องการโพสต์คำตอบของฉันที่นี่เช่นกันเพราะมีคำแนะนำใหม่บางอย่างเกี่ยวกับวิธีตรวจสอบว่าคุณใช้งานบนเดสก์ท็อปหรือเซิร์ฟเวอร์
ดังที่กล่าวไว้ในโพสต์ก่อนหน้านี้ไม่ใช่เรื่องง่ายที่จะตรวจสอบว่าคุณใช้เดสก์ท็อปหรือเซิร์ฟเวอร์ฉบับเพราะแพคเกจทั้งหมดสามารถติดตั้งหรือลบออกได้
หากคุณอยู่ในสภาพแวดล้อมที่สอดคล้องและคาดการณ์ได้ไม่น่าจะยากที่จะตัดสินว่าเดสก์ท็อปหรือเซิร์ฟเวอร์
ฉันใช้เซิร์ฟเวอร์อูบุนตูเดสก์ท็อป (วานิลลา) หรืออูบุนตูเท่านั้น สำหรับฉันdpkg -l ubuntu-desktop
มันเป็นวิธีที่เชื่อถือได้มากในการตรวจสอบว่าเป็นเดสก์ท็อปหรือเซิร์ฟเวอร์
ดังที่กล่าวไว้ในโพสต์ที่เชื่อมโยงคุณไม่สามารถระบุได้อย่างง่ายดายว่าคุณใช้เดสก์ท็อปหรือรุ่นเซิร์ฟเวอร์เนื่องจากแพ็คเกจทั้งหมดสามารถติดตั้งหรือลบออกได้
นี่คือฟังก์ชั่นของฉันที่ฉันใช้กับสคริปต์ของฉัน โดยทั่วไปจะตรวจสอบว่ามีการติดตั้ง xserver-common หรือ xwayland หรือไม่ หากมีการติดตั้งหนึ่งในนั้นหมายถึงระบบเดสก์ท็อป
#!/usr/bin/env bash
check_if_desktop (){
IS_DESKTOP="false"
displayManager=(
'xserver-common' # X Window System (X.Org) infrastructure
'xwayland' # Xwayland X server
)
for i in "${displayManager[@]}"; do
dpkg-query --show --showformat='${Status}\n' $i 2> /dev/null | grep "install ok installed" &> /dev/null
if [[ $? -eq 0 ]]; then
IS_DESKTOP="true"
fi
done
}
ต่อไปนี้เป็นสิ่งอื่น ๆ ที่ควรตรวจสอบ:
ตามค่าเริ่มต้นรุ่นเซิร์ฟเวอร์จะใช้รุ่นคลาสสิค/etc/network/interfaces
ในขณะที่รุ่นเดสก์ท็อปทำงานกับ Network Manager ดังนั้นให้ตรวจสอบว่ามีการติดตั้งตัวจัดการเครือข่าย
dpkg -l network-manager
หรือเรียกใช้คำสั่ง nmcli (เครื่องมือบรรทัดคำสั่งสำหรับ NM) หากคุณได้รับข้อความเช่นนี้:
The program 'nmcli' is currently not installed. You can install it by typing:
sudo apt-get install network-manager
ความน่าจะเป็นสูงที่คุณใช้กับเซิร์ฟเวอร์ แต่โปรดทราบว่าคุณสามารถแก้ไขเซิร์ฟเวอร์เพื่อใช้งานกับ NM
ใช้คำสั่งต่อไปนี้เพื่อตรวจสอบว่ามีการติดตั้งส่วนประกอบเดสก์ท็อปหรือไม่
dpkg -l ubuntu-desktop
บนเซิร์ฟเวอร์คุณจะได้รับข้อความเช่นนี้:
dpkg-query: no packages found matching ubuntu-desktop
บนเดสก์ท็อปคุณจะได้รับข้อความแจ้งว่าติดตั้งเวอร์ชันใด
ตรวจสอบแพ็คเกจอื่น ๆ ที่มักพบบนเดสก์ท็อป:
dpkg -l unity (gnome, mate and so one) # Desktop environments
dpkg -l compiz (E17, fluxbox and so one) # Window manager
dpkg -l xorg # X window server
หรือใช้:
dpkg-query --show --showformat='${Status}\n' *packagename* 2> /dev/null | grep "install ok installed"
ตรวจสอบว่าเซิร์ฟเวอร์ X กำลังทำงานอยู่:
ps -e | grep X
sudo netstat -lp | grep -i Xorg
ตรวจสอบบริการที่มีเฉพาะบนเดสก์ท็อป:
มันขึ้นอยู่กับรุ่น Ubuntu ของคุณวิธีการตรวจสอบบริการ:
sudo service *servicename* status # on SysVinit
sudo status *servicename* # on Upstart
systemctl status *servicename*.service # on systemd
บริการทั่วไปคือ:
- lightdm
- x11 ทั่วไป
- gnome-เปลือก
และอื่น ๆ ที่เกี่ยวข้องกับอนุพันธ์บางอย่าง
แอปพลิเคชันของฉันขึ้นอยู่กับการแจกจ่ายเซิร์ฟเวอร์
แม้ว่ามันจะไม่สมเหตุสมผลเลยที่จะเรียกใช้แอปพลิเคชั่นเซิร์ฟเวอร์ในรุ่นเดสก์ท็อป แต่ก็ไม่ควรมีปัญหาใด ๆ กับการติดตั้งการพึ่งพาทั้งหมดสำหรับแอปพลิเคชันของคุณบนเดสก์ท็อปอิดิชัน
คุณสามารถอธิบายรายละเอียดเกี่ยวกับเรื่องนี้ได้อย่างไร