"Hampir" pertanyaan yang sama telah diajukan di sini:
Ketahui server atau desktop Distribusi Ubuntu
Saya ingin mengirim jawaban saya di sini juga karena ia memiliki beberapa petunjuk baru cara memeriksa apakah Anda di desktop atau edisi server.
Seperti disebutkan dalam posting sebelumnya, tidak mudah untuk menentukan apakah Anda menggunakan edisi desktop atau server karena semua paket dapat diinstal atau dihapus.
Jika Anda berada dalam lingkungan yang konsisten dan dapat diprediksi, seharusnya tidak terlalu sulit untuk menentukan apakah desktop atau server.
Saya hanya menggunakan ubuntu-desktop (vanilla) atau server ubuntu. Bagi saya dpkg -l ubuntu-desktop
itu adalah metode yang sangat andal untuk menentukan apakah itu desktop atau server.
Seperti disebutkan dalam posting yang ditautkan, tidak mudah untuk menentukan apakah Anda menggunakan edisi desktop atau server karena semua paket dapat diinstal atau dihapus.
Inilah fungsi yang saya gunakan untuk skrip saya. Pada dasarnya ia memeriksa apakah xserver-common atau xwayland diinstal. Jika salah satu dari mereka diinstal itu berarti sistem desktop.
#!/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
}
Berikut beberapa hal lain yang perlu diperiksa:
Secara default edisi server menggunakan klasik /etc/network/interfaces
, sedangkan edisi desktop beroperasi dengan Network Manager, jadi periksa apakah Network Manager diinstal
dpkg -l network-manager
Atau jalankan perintah nmcli (alat baris perintah untuk NM) jika Anda mendapatkan pesan seperti ini:
The program 'nmcli' is currently not installed. You can install it by typing:
sudo apt-get install network-manager
probabilitasnya tinggi bahwa Anda berada pada edisi server. Namun perlu diingat, Anda dapat memodifikasi server untuk beroperasi dengan NM.
Gunakan perintah berikut untuk menentukan apakah komponen desktop diinstal
dpkg -l ubuntu-desktop
Di Server Anda akan mendapatkan pesan seperti ini:
dpkg-query: no packages found matching ubuntu-desktop
Di Desktop, Anda akan mendapatkan pesan yang memberi tahu Anda versi mana yang diinstal
Periksa paket lain yang biasanya ditemukan di 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
atau gunakan:
dpkg-query --show --showformat='${Status}\n' *packagename* 2> /dev/null | grep "install ok installed"
periksa apakah server X sedang berjalan:
ps -e | grep X
sudo netstat -lp | grep -i Xorg
Periksa layanan yang hanya tersedia di desktop:
Tergantung pada versi Ubuntu Anda cara memeriksa layanan:
sudo service *servicename* status # on SysVinit
sudo status *servicename* # on Upstart
systemctl status *servicename*.service # on systemd
layanan khas adalah:
- lightdm
- x11-umum
- gnome-shell
dan beberapa lainnya yang terkait dengan turunan tertentu
Aplikasi saya tergantung pada distribusi server
Bahkan jika tidak masuk akal untuk menjalankan aplikasi server pada edisi desktop, seharusnya tidak ada masalah dengan menginstal semua dependensi untuk aplikasi Anda pada edisi desktop dan membuatnya berfungsi.
Bisakah Anda menjelaskan mengapa ini tergantung pada distro server?