"Quase" a mesma pergunta foi feita aqui:
Conheça o servidor ou área de trabalho do Ubuntu Distribution
Eu gostaria de postar minha resposta aqui também, pois ela tem algumas dicas novas sobre como verificar se você está em uma edição para desktop ou servidor.
Como mencionado em postagens anteriores, não é fácil determinar se você usa uma edição de desktop ou servidor porque todos os pacotes podem ser instalados ou removidos.
Se você estiver em um ambiente consistente e previsível, não será muito difícil determinar se o desktop ou o servidor.
Eu uso apenas o ubuntu-desktop (vanilla) ou o servidor ubuntu. Para mim, o dpkg -l ubuntu-desktop
é um método muito confiável para determinar se é um desktop ou servidor.
Como mencionado no post vinculado, não é fácil determinar se você usa uma edição de desktop ou servidor porque todos os pacotes podem ser instalados ou removidos.
Aqui está minha função que uso para meus scripts.
Basicamente, verifica se xserver-common ou xwayland estão instalados. Se um deles estiver instalado, significa que é um sistema 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
}
Aqui estão algumas outras coisas para verificar:
Por padrão, a edição do servidor usa o clássico /etc/network/interfaces
, enquanto a edição para desktop opera com o Network Manager, portanto, verifique se o Network Manager está instalado
dpkg -l network-manager
Ou execute o comando nmcli (a ferramenta de linha de comando para NM)
se você receber uma mensagem como esta:
The program 'nmcli' is currently not installed. You can install it by typing:
sudo apt-get install network-manager
a probabilidade é alta de que você esteja em uma edição do servidor.
Mas lembre-se, você pode modificar um servidor para operar com NM.
Use o seguinte comando para determinar se os componentes da área de trabalho estão instalados
dpkg -l ubuntu-desktop
Em um servidor, você receberá uma mensagem como esta:
dpkg-query: no packages found matching ubuntu-desktop
Em um desktop, você receberá uma mensagem informando qual versão está instalada
Verifique se há outros pacotes normalmente encontrados em uma área de trabalho:
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
ou use:
dpkg-query --show --showformat='${Status}\n' *packagename* 2> /dev/null | grep "install ok installed"
verifique se o servidor X está sendo executado:
ps -e | grep X
sudo netstat -lp | grep -i Xorg
Verifique se há serviços disponíveis apenas em uma área de trabalho:
Depende da sua versão do Ubuntu como verificar os serviços:
sudo service *servicename* status # on SysVinit
sudo status *servicename* # on Upstart
systemctl status *servicename*.service # on systemd
serviços típicos são:
- lightdm
- x11-common
- gnome-shell
e alguns outros que estão associados a certos derivados
My application depends on server distribution
Mesmo que não faça qualquer sentido executar um aplicativo de servidor em uma edição de desktop, não deve haver problemas com a instalação de todas as dependências do seu aplicativo na edição de desktop e fazê-lo funcionar.
Você pode explicar por que isso depende da distribuição do servidor?