"Neredeyse" aynı soru burada soruldu:
Ubuntu Dağıtım sunucusunu veya masaüstünü bilin
Cevabımı buraya da göndermek istiyorum çünkü bir masaüstü veya sunucu sürümünde olup olmadığınızı kontrol etmeniz için birkaç yeni ipucu var.
Önceki yayınlarda belirtildiği gibi, tüm paketler yüklenip kaldırılabildiğinden bir masaüstü veya sunucu sürümü kullanıp kullanmadığınızı belirlemek kolay değildir.
Tutarlı ve tahmin edilebilir bir ortamdaysanız, masaüstü veya sunucu olup olmadığını belirlemek çok zor olmamalıdır.
Sadece ubuntu-desktop (vanilya) veya ubuntu server kullanıyorum. Benim için dpkg -l ubuntu-desktop
bir masaüstü veya sunucu olup olmadığını belirlemek için çok güvenilir bir yöntemdir.
Bağlantılı gönderide belirtildiği gibi, tüm paketler yüklenip kaldırılabildiğinden bir masaüstü veya sunucu sürümü kullanıp kullanmadığınızı belirlemek kolay değildir.
İşte benim senaryom için kullandığım fonksiyonum. Temel olarak, xserver-common veya xwayland kurulu olup olmadığını kontrol eder. Bunlardan biri kurulu ise, onun bir masaüstü sistemi anlamına gelir.
#!/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
}
İşte kontrol etmeniz gereken birkaç şey:
Varsayılan olarak sunucu baskısı klasik /etc/network/interfaces
, masaüstü baskısı Network Manager ile çalışırken, bu yüzden Network Manager'in kurulu olup olmadığını kontrol edin.
dpkg -l network-manager
Veya şöyle bir mesaj alırsanız komut nmcli'yi (NM için komut satırı aracı) çalıştırın:
The program 'nmcli' is currently not installed. You can install it by typing:
sudo apt-get install network-manager
olasılık, bir sunucu baskısında olmanızın yüksek olması. Ancak unutmayın, NM ile çalışacak bir sunucuyu değiştirebilirsiniz.
Masaüstü bileşenlerinin yüklü olup olmadığını belirlemek için aşağıdaki komutu kullanın
dpkg -l ubuntu-desktop
Bir sunucuda şöyle bir mesaj alacaksınız:
dpkg-query: no packages found matching ubuntu-desktop
Masaüstünde, hangi sürümün yüklü olduğunu bildiren bir mesaj alacaksınız
Genellikle masaüstünde bulunan diğer paketleri kontrol edin:
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
veya kullan:
dpkg-query --show --showformat='${Status}\n' *packagename* 2> /dev/null | grep "install ok installed"
X sunucusunun çalışıp çalışmadığını kontrol edin:
ps -e | grep X
sudo netstat -lp | grep -i Xorg
Yalnızca masaüstünde kullanılabilen hizmetleri kontrol edin:
Hizmetleri nasıl kontrol edeceğiniz Ubuntu sürümünüze bağlıdır:
sudo service *servicename* status # on SysVinit
sudo status *servicename* # on Upstart
systemctl status *servicename*.service # on systemd
tipik hizmetler:
- lightdm
- x11-ortak
- gnome-kabuk
ve bazı türevlerle ilişkili bazı
Uygulamam sunucu dağıtımına bağlı
Bir sunucu uygulamasını bir masaüstü sürümünde çalıştırmak hiç mantıklı gelmese bile, uygulamanızın tüm bağımlılıklarını masaüstü sürümüne yüklemek ve onu çalıştırmak için herhangi bir sorun olmamalıdır.
Bunun neden sunucu dağıtımına bağlı olduğunu açıklayabilir misiniz?