„Prawie” zostało zadane to samo pytanie:
poznaj serwer dystrybucyjny Ubuntu lub komputer stacjonarny
Chciałbym również zamieścić tutaj swoją odpowiedź, ponieważ zawiera ona kilka nowych wskazówek, jak sprawdzić, czy masz wersję na komputer czy serwer.
Jak wspomniano w poprzednich postach, nie jest łatwo ustalić, czy korzystasz z wersji stacjonarnej, czy serwerowej, ponieważ cały pakiet można zainstalować lub usunąć.
Jeśli jesteś w spójnym i przewidywalnym środowisku, ustalenie, czy komputer, czy serwer, nie powinno być trudne.
Używam tylko serwera ubuntu-desktop (waniliowego) lub ubuntu. Dla mnie dpkg -l ubuntu-desktopjest to bardzo niezawodna metoda ustalenia, czy jest to komputer stacjonarny czy serwer.
Jak wspomniano w łączonym poście, nie jest łatwo ustalić, czy korzystasz z wersji stacjonarnej czy serwerowej, ponieważ wszystkie pakiety można zainstalować lub usunąć.
Oto moja funkcja, której używam w swoich skryptach. Zasadniczo sprawdza, czy zainstalowany jest xserver-common czy xwayland. Jeśli jeden z nich jest zainstalowany, oznacza to, że jest to system stacjonarny.
#!/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
}
Oto kilka innych rzeczy do sprawdzenia:
Domyślnie wersja serwerowa używa klasycznej wersji /etc/network/interfaces, podczas gdy wersja biurkowa działa z Network Managerem, więc sprawdź, czy Network Manager jest zainstalowany
dpkg -l network-manager
Lub uruchom polecenie nmcli (narzędzie wiersza poleceń dla NM), jeśli pojawi się taki komunikat:
The program 'nmcli' is currently not installed. You can install it by typing:
sudo apt-get install network-manager
prawdopodobieństwo, że jesteś na serwerze, jest wysokie. Pamiętaj jednak, że możesz zmodyfikować serwer, aby działał z NM.
Użyj następującego polecenia, aby ustalić, czy składniki pulpitu są zainstalowane
dpkg -l ubuntu-desktop
Na serwerze otrzymasz następujący komunikat:
dpkg-query: no packages found matching ubuntu-desktop
Na pulpicie pojawi się komunikat informujący, która wersja jest zainstalowana
Sprawdź inne pakiety, które zwykle znajdują się na pulpicie:
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
albo użyj:
dpkg-query --show --showformat='${Status}\n' *packagename* 2> /dev/null | grep "install ok installed"
sprawdź, czy serwer X działa:
ps -e | grep X
sudo netstat -lp | grep -i Xorg
Sprawdź usługi dostępne tylko na komputerze:
W zależności od wersji Ubuntu sposób sprawdzania usług:
sudo service *servicename* status # on SysVinit
sudo status *servicename* # on Upstart
systemctl status *servicename*.service # on systemd
typowe usługi to:
- lightdm
- x11-wspólne
- gnome-shell
i niektóre inne, które są powiązane z niektórymi instrumentami pochodnymi
Moja aplikacja zależy od dystrybucji serwerów
Nawet jeśli nie ma sensu uruchamiać aplikacji serwerowej w wersji na komputery, nie powinno być żadnych problemów z instalacją wszystkich zależności dla aplikacji w wersji na komputery i sprawić, by działała.
Czy możesz wyjaśnić, dlaczego zależy to od dystrybucji serwera?