- Introduction
- Arguments Against a GUI
- Byobu, Tmux, and Screen: terminal-based windowing
- Server configuration management
- GUI Alternatives
- X11 Client Installation
- X11 Server Installation
- Full Desktop Environments
- Установка и подключение к графической оболочке на Linux-сервере
- Установка графической оболочки
- Подключение к графической оболочке
- Заключение
Introduction
This guide discusses the use of a Graphical User Interface (GUI) and/or desktop environment on Ubuntu servers. Conventional wisdom states that in most cases it is better to not install a GUI on a production server. Several preferable user interface alternatives for managing servers are presented.
Arguments Against a GUI
Most Ubuntu Server developers recommend not installing a GUI on a server. There are multiple reasons for not installing a GUI.
- You’ll have more code subject to security vulnerabilities, more packages that need updating, and more server downtime.
- Performance may suffer because resources (memory, hard disk space, CPU, etc.) will be consumed by the GUI.
- It is best practice to only install needed software on a production server.
- The GUI may include other network services that are inappropriate for a server.
- One of the goals of Ubuntu Desktop Edition is to make it easier for users to use Linux. When installing some desktop environments, services that you may not specifically want will be installed. For example avahi-daemon, which is used to help configure networking, adds another open port and may introduce unwanted DNS conflicts with a .local domain.
So for the most secure server it is best to not install a GUI.
But there are many good alternatives for effective server management.
Byobu, Tmux, and Screen: terminal-based windowing
Note that Ubuntu server’s command line interface comes with a powerful window manager: the Byobu package which makes it easy to manage multiple terminal sessions. Byobu adds support for status bars, clocks, notifiers (reboot-required, updates-available) etc. The screen program underneath byobu has been in all versions of Ubuntu. Tmux is a nice replacement for screen, and is now used by default in byobu. Screen-profiles (the previous name for byobu) is in Jaunty by default, though the binary package will install and work in Hardy and Intrepid as well.
Server configuration management
Juju, Puppet, Chef, Landscape, Cassandra, Fabric, and a host of other remote configuration and management tools are very helpful for servers and can automate lots of tasks.
GUI Alternatives
Instead of installing a full GUI on an Ubuntu server, you might consider using a web based administration package such as Zentyal (formerly named eBox), ISPConfig or Webmin (although not supported any more, see why webmin is not supported).
X11 Client Installation
You may find it preferable to only run specific X11 clients on the server, and forward the X11 connections over ssh to display them on your desktop of choice. This way you avoid the need for an X11 server or desktop environment on the server itself. But note on the other hand that this opens up different vulnerabilities if the remote desktop can be compromised.
To do this, install the xauth pachage, then simply install the applications you need, and apt-get will bring in other packages as needed to satisfy the dependencies.
sudo apt-get install xauth
X11 Server Installation
To install a minimal X11 on Ubuntu Server Edition enter the following:
Next install a Window Manager:
sudo apt-get install openbox
Note: you can replace openbox with fluxbox, blackbox, etc.
Full Desktop Environments
To install the Gnome desktop on Ubuntu server Edition enter:
For Ubuntu 9.10 (Karmic Koala) and newer:
sudo apt-get install ubuntu-desktop
For Ubuntu 6.06 (Dapper Drake) and Ubuntu 8.04 (Hardy Heron):
sudo apt-get install gnome-desktop-environment
- For KDE change gnome-desktop-environment to kubuntu-desktop.
- For XFCE enter xubuntu-desktop.
The end result will be very very similar to what you would get if you installed from the ubuntu, kubuntu or xubuntu CD and added server-related packages to it. But the kernel on the server CD is tuned better for the workloads you get when running as a server, e.g. by using the «Deadline» scheduler and less frequent clock interrupts.
Alternative:
If the above is giving you trouble, try the tasksel way.
(Warning: the following can remove packages that have been manually installed via apt-get.)
Then choose which package (e.g. Ubuntu Desktop) to install. Downloading the package will take a while (no progress bar for the download portion) so be patient.
ServerGUI (последним исправлял пользователь nealmcb 2012-09-09 18:05:52)
The material on this wiki is available under a free license, see Copyright / License for details
You can contribute to this wiki, see Wiki Guide for detailsУстановка и подключение к графической оболочке на Linux-сервере
В данной статье рассмотрим процесс установки графической оболочки на Linux-сервере, и в качестве примера будем использовать VPS, работающий под управлением операционной системы Ubuntu 20.04. При выборе окружения рабочего стола мы остановились на варианте с XFCE. Это обусловлено относительно низкими требованиями к вычислительным ресурсам со стороны данной среды, хотя во многом, всё зависит от персональных предпочтений и потребностей. После установки и настройки оболочки на сервере мы будем подключаться к нашему VPS используя протокол RDP (Remote Desktop Protocol).
Конфигурация, заказанного на RUVDS виртуального сервера, выглядит следующим образом:
Естественно, на сервере должны быть произведены работы по его первоначальной настройке. А именно, в систему должен быть добавлен пользователь, имеющий привилегии sudo . Зарегистрировавшись именно под этой учётной записью, мы будем производить действия по установке и настройке графической оболочки. Также, предварительно необходимо произвести запуск брандмауэра, минимальную настройку которого мы сделаем ниже.
Установка графической оболочки
Итак, первым делом необходимо произвести обновление списка пакетов:
Теперь, можно запустить установку окружения рабочего стола, вместе с которой должны быть проинсталлированы и все основные зависимости:
$ sudo apt install xfce4 xfce4-goodies xorg dbus-x11 x11-xserver-utils
В данном случае установка занимает довольно значительное время, в ходе которой инсталлятор предлагает выбрать менеджер экрана. Мы выбрали, предлагаемый по умолчанию:
По окончании установки графической оболочки следует проинсталлировать сервер Xrdp :
$ sudo apt install xrdp xorgxrdp
Для запуска сервера Xrdp необходимо наличие учётной записи xrdp . Данный пользователь должен быть добавлен в группу ssl-cert :
$ sudo adduser xrdp ssl-cert
При инициализации пользовательской сессии исполняется скрипт startwm.sh , находящийся в директории /etc/xrdp . Содержимое скрипта подлежит редактированию, поэтому предварительно необходимо сделать его резервную копию:
$ cd /etc/xrdp $ sudo mv startwm.sh startwm.sh.bak
Далее, нужно будет внести в скрипт изменения:
Сценарий для запуска XFCE, который необходимо внести в файл вместо существующего содержимого, выглядит следующим образом:
#!/bin/sh if [ -r /etc/default/locale ]; then . /etc/default/locale export LANG LANGUAGE fi exec /usr/bin/startxfce4
После сохранения изменений нужно сделать файл исполняемым:
Теперь сервер Xrdp необходимо перезапустить:
$ sudo systemctl restart xrdp
Статус Xrdp не должен показывать ошибок:
$ sudo systemctl status xrdp
Сервер Xrdp по умолчанию прослушивает порт 3389. И поскольку на сервере с Ubuntu используется брандмауэр UFW, необходимо в нём разрешить подключение к порту 3389. Команда, разрешающая доступ к порту с любого IP-адреса, выглядит следующим образом:
Если есть необходимость ограничить доступ каким-то определённым IP-адресом, нужно использовать такую инструкцию:
$ sudo ufw allow from XXX.XXX.XXX.XXX to any port 3389
где XXX.XXX.XXX.XXX – IP-адрес рабочей станции, с которой будет осуществляться подключение к VPS.
Следующим шагом необходимо добавить в систему специальную учётную запись. Она будет использоваться при работе с окружением рабочего стола. Такой учётной записью в нашем случае будет пользователь rdp-user :
Если есть необходимость в использовании данного пользователя в задачах, связанных с администрированием системы, то имеет смысл добавить пользователя в группу sudo :
$ sudo usermod -aG sudo rdp-user
На этом настройка сервера завершена.
Подключение к графической оболочке
Теперь можно подключиться к нашему виртуальному серверу по протоколу RDP. На компьютере, работающем под Windows, запуск rdp-подключения осуществляется при помощи утилиты mstsc . В строке поиска введите mstsc и после открытия окна подключения введите IP-адрес своего VPS, после чего нажмите подключить:
Для авторизации на сервере понадобится ввести имя пользователя и пароль специально созданной учётной записи. У нас это – rdp-user :
В случае успешной авторизации откроется доступ к рабочему столу нашего сервера:
Подобным же образом можно подключиться к нашему серверу с компьютера, работающего под управлением операционной системы семейства Linux. В нашем примере мы используем рабочую станцию с установленной Ubuntu 21.10, где для подключения по RDP используется клиент удалённого рабочего стола Remmina . Запустив это приложение, необходимо ввести IP-адрес VPS и нажать Enter :
Далее, необходимо авторизоваться на сервере. Для этого в нашем примере мы использовали учётную запись rdp-user :
После чего должен открыться рабочий стол нашего сервера:
Заключение
Таким образом, мы развернули графическую оболочку XFCE на сервере, работающем под управлением Ubuntu 20.04. После настройки рабочего стола мы подключились к графическому интерфейсу нашего VPS при помощи протокола RDP с рабочих станций, работающих как под Windows, так и под управлением операционной системы семейства Linux.