Как проверить, установлен ли Ubuntu Desktop или сервер?

Вы должны получить аналогичный результат, проще, включив опцию скрытой конфигурации (about: config).

В адресной строке Firefox введите about:config и примите предупреждение, которое оно даст. Теперь перед вами появляется длинный список опций конфигурации. Отфильтруйте его, набрав ключевое слово quit в панели фильтров (вверху). После этого фильтр действует, у вас будет всего несколько строк. Нажмите на browser.showQuitWarning и установите его true, щелкнув по нему. Вы можете использовать этот фильтр снова с ключевым словом warnon и посмотреть, установлены ли опции «предупреждать при закрытых вкладках» и т. Д. True. В настройках / настройках Firefox (или Edit / preferences зависит от системы и версии) перейдите в раздел «Вкладки» и установите флажок «Предупреждать меня при закрытии нескольких вкладок». Это позволит вам закрыть окно с несколькими вкладками.

Вы не сможете полностью отключить CTRL-Q, но по крайней мере вы сделаете его безвредным.

1
задан 6 July 2017 в 15:18

9 ответов

dpkg -l ubuntu-desktop 

сообщит вам, установлены ли предлагаемые компоненты рабочего стола.

uname -a

сообщит вам, используется ли сервер или общее ядро.

«Рабочий стол или сервер "не является бинарной вещью - возможно, некоторые компоненты рабочего стола установлены на компьютере, который первоначально был установлен как сервер, и т. д.

Вы должны решить, какой пакет вы хотите использовать в качестве ключевого различия между" сервер "или" рабочий стол ". Возможно, xserver-xorg - хороший выбор, хотя даже некоторые серверы будут иметь это для зависимостей пакетов или для поддержки удаленных рабочих столов.

26
ответ дан 26 May 2018 в 00:29
  • 1
    dpkg -i ubuntu-desktop не делает то, что вы описываете для меня. – 8128 11 November 2010 в 00:57
  • 2
    Извините, я имел в виду dpkg -l. (Обновлено). – poolie 11 November 2010 в 01:01
  • 3
    Возможно иметь совершенно рабочий стол без пакета ubuntu-desktop. Это всего лишь метапакет, чтобы обеспечить определенный стандартный набор поддерживающих приложений, таких как панели управления, вещи, специфичные для Debian, и т. Д., Вместе с вашим рабочим столом. Если вы удалите любой из них, тогда рабочий стол ubuntu будет эффективно удаляться ». но вы все равно будете иметь рабочий стол. Вместо этого было бы лучше проверить пакет xserver-xorg-core. Хотя существование этого пакета не гарантирует его использования, нет никаких оснований для его установки на не-настольном компьютере. – thomasrutter 23 April 2012 в 11:27
  • 4
    Да, тот факт, что между настольным компьютером и сервером нет четкой линии, широко обсуждается большинством ответов, в том числе и моих. Но ubuntu-desktop является разумным тестом для того, есть ли у вас рабочий стол Ubuntu. Если вы установите с CD / ISO на рабочем столе, у вас будет этот пакет. – poolie 5 August 2013 в 07:42

его можно проверить, набрав cat /etc/motd.

Рабочий стол:

Ubuntu 10.10

Welcome to Ubuntu!
 * Documentation:  https://help.ubuntu.com/

Сервер:

Ubuntu 10.10

Welcome to Ubuntu!
 * Documentation:  https://help.ubuntu.com/

  System information as of Wed Nov 10 20:54:11 UTC 2010

  System load:  0.07               Processes:           78
  Usage of /:   30.4% of 14.76GB   Users logged in:     1
  Memory usage: 38%                IP address for eth0: XXXXXXXX
  Swap usage:   0%

  Graph this data and manage this system at https://landscape.canonical.com/
---------------------------------------------------------------------
At the moment, only the core of the system is installed. To tune the 
system to your needs, you can choose to install one or more          
predefined collections of software by running the following          
command:                                                             

   sudo tasksel --section server  

Также стоит отметить, что этот файл легко редактируется sudo, что делается очень часто, потому что это сообщение, которое пользователь видит, когда он регистрируется через ssh.

10
ответ дан 26 May 2018 в 00:29
  • 1
    Это в основном говорит вам, установлен ли landscape-client. На серверах это может случиться, но на самом деле это действительно не связано с тем, используете ли вы серверную ОС или нет. – poolie 11 November 2010 в 05:04

Это может быть не самый быстрый или чистый способ сказать, но запустите:

dpkg --get-selections | grep linux-image | grep -v deinstall

Если установленный в настоящее время пакет linux-image содержит в нем слово «сервер», то вы запускаете Сервер Ubuntu.

Например, текущий последний пакет ядра для рабочего стола Ubuntu 10.10:

linux-image-2.6.35-22-generic

И сервер:

linux-image-2.6.35-22-server

Для более общего пакета, который должен быть одинаковым для разных версий Ubuntu, linux-image-generic является стандартным пакетом для рабочего стола Ubuntu, а linux-image-server является стандартным для серверной версии.

4
ответ дан 26 May 2018 в 00:29
  • 1
    он говорит generic. благодаря – Naveed 11 November 2010 в 00:56
  • 2
    Вы можете запустить ядро ​​сервера на настольной установке так же, как вы можете запустить ядро ​​рабочего стола на сервере. Это не окончательный ответ ничем. – Oli♦ 11 November 2010 в 02:18
  • 3
    @ Oli: как вы уже указывали, кажется, что нет определенного ответа;) – 0xC0000022L 9 March 2011 в 03:39

Для этого вопроса нет четко определенного, просто сформулированного ответа.

Можно загрузить функции рабочего стола на сервер и удалить их с рабочего стола. Корневая проблема заключается в том, какие пакеты являются частью функциональности сервера и получат дополнительный период поддержки и обновлений.

Какие пакеты являются частью функциональности сервера (IMHO), могут быть найденный в вопросе Launchpad (с 2008 года):

в чем разница между версией сервера и настольного компьютера?

https://answers.launchpad.net/ubuntu/+question/40114 [ ! d9]

4
ответ дан 26 May 2018 в 00:29
  • 1
    Вы можете суммировать результат вопроса Launchpad здесь? – Peter Mortensen 19 July 2016 в 19:44

Вы должны помнить, что нет принципиальной разницы между версиями Desktop и Server.

Очень вероятно, что ваш хостинг-провайдер не имеет всех графических элементов, таких как GNOME в верхней части стека, потому что им не нужно. Установленные пакеты делают это сервером.

Вам может быть интересен сценарий ubuntu-maintenance-check, который сообщает вам цикл обслуживания каждого установленного пакета - те, которые имеют более длительный период, являются серверными пакетами.

2
ответ дан 26 May 2018 в 00:29

Я запускаю обнаружение в большой сети, и я пытаюсь отличить LINUX от рабочей станции от сервера (потому что мы будем относиться к ним по-другому).

Я надеялся, что атрибут или файл с Ubuntu-сервером вместо Ubuntu.

Я нахожу интересные файлы в / var / log / installer:

media-info говорит «Ubuntu-Server» для сервер и просто «Ubuntu» для рабочего стола. syslog показывает ту же информацию для «cdrom»

. Оба они полезны, и я могу использовать их в сочетании с информацией об оборудовании. Это должно сказать вам, по крайней мере, какая версия была установлена ​​изначально.

2
ответ дан 26 May 2018 в 00:29

Ни одно из вышеперечисленных решений не очень хорошо работало для меня. Иногда система не имеет motd, или, возможно, администратор ее изменил и т. Д. Я даже не уверен, почему ответ, приведенный выше, был «правильным» ответом. Вот что я использовал.

#!/bin/bash
__check_desktop() {
  if [ `(dpkg-query -W -f='${Status}' ubuntu-desktop 2>/dev/null | grep -c "ok installed")` -eq 1 ]; then
    err "Ubuntu Server is required, but it appears that you are running Ubuntu Desktop"
    exit 1
  fi
}

# Now just call the function:
__check_desktop
0
ответ дан 26 May 2018 в 00:29

«Почти» здесь задан один и тот же вопрос: узнайте сервер или рабочий стол Ubuntu Distribution

. Я также хотел бы разместить здесь свой ответ, потому что у него есть несколько новых советов, как проверить, настольная или серверная версия.

Как уже упоминалось в предыдущих сообщениях, определить, используете ли вы настольную или серверную версию, не все просто, потому что весь пакет можно установить или удалить.

Если вы находятся в последовательной и предсказуемой среде, поэтому определить рабочий стол или сервер не обязательно.

Я использую только ubuntu-desktop (vanilla) или 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, поэтому проверьте, установлен ли 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-common gnome-shell

и некоторые другие, которые связаны с некоторыми производными

Мое приложение зависит от дистрибутива сервера

Даже если нет смысла запускать серверное приложение на настольной версии, не должно быть никаких проблем с установкой все зависимости для вашего приложения на настольной версии и заставить его работать.

Можете ли вы рассказать об этом, почему это зависит от серверного дистрибутива?

0
ответ дан 26 May 2018 в 00:29

Использование образца из сценария motd:

#!/bin/bash
if uname -r | grep -qs "\-server"; then
        echo "Server"
else
        echo "Desktop"
fi
-1
ответ дан 26 May 2018 в 00:29
  • 1
    Это, похоже, полагается на устаревшее установленное на сервере ядро. За последние 5 лет не было ни одного поддерживаемого выпуска: askubuntu.com/q/122493/158442 – muru 27 December 2017 в 07:41

Другие вопросы по тегам:

Похожие вопросы: