Наконец мы добрались до новой статьи из серии «Будни техпода», где мы просим кого-то из специалистов поддержки рассказать о наиболее популярных кейсах, а также предложить то или иное решение для реализации поставленной задачи. В первой части мы рассмотрели вопрос проброса USB-накопителя на VDS-сервер. Во второй части мы попробовали развернуть чистый Android на виртуальном сервере Hyper-V. В этой статье мы поговорим о терминальном Linux, попробуем поднять на нём графическую оболочку, настроить RDP-соединение и установить базовое ПО, необходимое для комфортного взаимодействия с VDS. Не будем больше тянуть и передаём слово нашему специалисту поддержки.

Несмотря на популярность первых двух вопросов, они и рядом не стоят с вопросами про графический интерфейс на Linux. Очень много клиентов просто-напросто незнакомы с данной операционной системой и при заказе думают, что получат что-то аналогичное рабочему столу на Windows. Практически ежедневно встречаются вопросы вроде «Почему я не могу подключиться к серверу по RDP?», «Почему мой сервер не работает, а в аварийном режиме я вижу лишь чёрный экран?». Некоторые пользователи, кто знаком с этой системой, привыкли работать с её графической версией, и интересуются, предоставляем ли мы такие. Поэтому в данной статье хотелось бы рассмотреть установку графической оболочки и настройку системы для начала работы.

▍ Установка графической оболочки


Все основные настройки мы будем производить, подключившись к серверу по SSH. Для этого открываем командную строку (cmd) или терминал (в зависимости от вашей ОС) и вводим следующую команду:

  • ssh root@IP-адрес вашего сервера
  • пароль от сервера (во время ввода символы могут не отображаться — просто продолжаем вводить и жмём Enter).

В нашем случае root — это имя пользователя, по которому мы будем подключаться. Если вы заказываете сервер в нашей компании, то учётные данные для подключения вы сможете посмотреть во вкладке "Мои серверы" после авторизации на сайте.


После успешного подключения через SSH мы увидим примерно следующее:


Теперь можно приступить к установке графической оболочки. В этой статье мы не будем вдаваться в подробности по каждой вводимой нами команде (более подробно об этом рассказано в нашем справочнике), а лишь пошагово опишем действия, которые необходимо выполнить для установки интерфейса и подключению к нему по RDP (делая акцент лишь на самых важных моментах).

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

Для установки самой оболочки нам необходимо поочерёдно выполнить следующие команды:

  • sudo apt update
  • sudo apt install xfce4 xfce4-goodies xorg dbus-x11 x11-xserver-utils (в момент выполнения команды может потребоваться ввести «Y» для подтверждения установки).

Далее в открывшемся окне выбираем вариант gdm3, предложенный нам по умолчанию.


Процесс установки может занять длительное время (в нашем случае это около 10 минут).

Теперь нам необходимо настроить RDP-подключение к серверу. Для этого мы будем использовать Xrdp. Поочерёдно вводим следующие команды:

  • sudo apt install xrdp xorgxrdp
  • sudo adduser xrdp ssl-cert
  • cd /etc/xrdp
  • sudo mv startwm.sh startwm.sh.bak
  • sudo nano startwm.sh

У нас открылся файл startwn.sh, в который необходимо внести сценарий для запуска XFCE. Вносим следующие изменения, сохраняем и выходим из файла:

#!/bin/sh
if [ -r /etc/default/locale ]; then
. /etc/default/locale
export LANG LANGUAGE
fi
exec /usr/bin/startxfce4



Далее выполняем следующие команды:

  • sudo chmod 755 startwm.sh
  • sudo systemctl restart xrdp
  • sudo ufw allow 3389

Теперь нам необходимо создать специальную учётную запись, через которую мы будем осуществлять подключение по RDP. В нашем случае эта учётная запись будет под именем rdp-user. Выполняем следующие команды:

  • sudo adduser rdp-user(система запросит новый пароль для этого пользователя, а также информацию о нём. Всё, кроме пароля, можно пропустить, нажав Enter. Заполняем и переходим далее)
  • sudo usermod -aG sudo rdp-user

Готово. Графический интерфейс успешно настроен, и мы уже можем подключиться к серверу по RDP, но этого всё ещё недостаточно для полноценной работы. К сожалению, встроенные браузер и терминал не работают при подключении через RDP. Поэтому, прежде чем подключиться к серверу, мы произведём установку некоторого дополнительного ПО, а также некоторые настройки сервера (Устанавливать представленное ниже ПО вы можете по желанию, но я настоятельно рекомендую установить браузер и терминал).

▍ Настройка ПО на сервере


Теперь нам необходимо подключиться через SSH под пользователем, которого мы ранее создали, чтобы произвести настройку и установку ПО под него. Для этого вводим следующую команду:

  • su - имя нового пользователя

▍ Установка браузера на сервер


Первым делом скачаем и установим браузер. Здесь я приведу примеры установки браузеров Chrome и Firefox. Для установки Firefox вводим следующую команду:

  • sudo apt install firefox

В отличие от Firefox, для установки Chrome сначала нужно скачать установочный файл, а после запустить его. Для этого вводим следующие команды:

  • wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
  • sudo dpkg -i --force-depends google-chrome-stable_current_amd64.deb

▍ Установка альтернативного терминала


По какой-то причине при подключении к серверу по RDP встроенный терминал не работает. Не уверен, особенность ли это конкретно нашего образа системы, или xrdp, но, посоветовавшись со специалистом, я пришёл к варианту установки альтернативной версии терминала. Мой выбор пал на терминал Guake. Для его установки вводим следующие команды:

  • sudo apt-get update
  • sudo apt-get install guake

Если во время установки возникнет ошибка, необходимо будет обновить список пакетов и затем установить те, что были повреждены. Для этого выполняем следующие команды:

  • sudo apt update --fix-missing
  • sudo apt install -f

После их выполнения возвращаемся к предыдущему шагу и производим установку терминала.

▍ Установка офисного ПО


Также помимо браузера и терминала для полноценной работы с документами на сервере необходимо офисное ПО. Наиболее популярным решением является Microsoft Office, но его лицензионная версия требует оплаты. Поэтому мы установим бесплатный аналог: WPS Office. Мы, конечно, можем использовать бесплатные облачные решения (например, Google Docs), но иногда это может быть не совсем удобным из-за необходимости выгрузки своих файлов в облако. Установка WPS Office потребует скачивание deb-пакета с официального сайта программы. Поэтому все последующие действия мы будем производить на сервере через RDP-соединение. Отключаемся от SSH-соединения и входим на сервер по RDP, указав в качестве пользователя rdp-user.


После подключения к серверу нам необходимо найти ранее установленные браузеры и терминал. Жмём на кнопку с изображением лупы (Application Finder) и с помощью поиска находим Firefox / Chrome и Guake. Для удобства можем перетянуть их на рабочий стол.


Открываем браузер, переходим по ссылке www.wps.com/ru-RU и скачиваем deb-пакет.


Далее открываем ранее скачанный терминал (первый запуск может занять некоторое время — после запуска иконка терминала будет отображаться в правом верхнем углу) и вводим следующие команды:

  • cd Downloads/
  • $ sudo dpkg -i wps-office_11.1.0.11664.XA_amd64.deb

Имя файла может отличаться и, как правило, зависит от версии, которую вы скачиваете с сайта.



После завершения установки ярлык WPS Office должен автоматически появиться на рабочем столе. Если этого не произошло, выполняем те же действия, что мы выполняли ранее для поиска браузера и терминала.

▍ Установка терминала МТ4


Кроме базового ПО, очень часто клиенты интересуются о возможности установки МТ4 на сервер с ОС Linux. Поэтому сразу хотелось бы сказать — да, это возможно, и делается это также в пару кликов. Для установки терминала вводим команду:

  • wget https://download.mql5.com/cdn/web/metaquotes.software.corp/mt4/mt4ubuntu.sh ; chmod +x mt4ubuntu.sh ; ./mt4ubuntu.sh

▍ Смена языка системы


Некоторым пользователям может быть некомфортно работать с системой на английском языке. Для включения русского языка необходимо подключиться через SSH к пользователю root и выполнить следующие команды:

  • apt-get install locales
  • dpkg-reconfigure locales

В открывшемся окне находим ru_RU.UTF-8 UTF-8, жмём пробел для выбора и Enter.


Далее выбираем ru_RU.UTF-8.


Затем перезагружаем сервер.

Теперь, после подключения к серверу через RDP, мы сможем увидеть, что основные элементы интерфейса переведены на русский.

Пара слов в заключение. Как мы смогли убедиться, настроить Linux-сервер для работы через RDP совсем несложно. К сожалению, при работе с системой будет присутствовать некоторая задержка в выполнении тех или иных действий, т. к. система в принципе плохо адаптирована для работы через протокол RDP, и тот же Windows ощущается куда шустрее, но если необходим именно Linux для работы, то можно смело использовать этот вариант.

Играй в нашу новую игру прямо в Telegram!

Комментарии (12)


  1. 13werwolf13
    17.01.2023 12:45
    +5

    sudo mv startwm.sh startwm.sh.bak

    за троганье руками файлов поставляемых пакетами нужно премии лишать.. НАВСЕГДА.

    ну что за костылизм нуёмаё.......


    1. oldadmin Автор
      17.01.2023 19:32
      +1

      Привет!

      Сразу оговорюсь, что серией статей «будни техпода» занимается наш сотрудник отдела технической поддержки. Возможно, он выбрал не самые оптимальные решения, но все они были опробованы им на практике, и в большинстве случаев, клиентам самых разных технических знаний они были наиболее понятны. Его целью при написании статьи было показать, что сервером под управлением ОС LInux, можно в принципе пользоваться привычным многим способом, подключаясь через RDP, и не нужно прилагать особых усилий для его настройки.

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


    1. mihmig
      19.01.2023 12:40

      Подскажите - как правильно?


  1. aik
    17.01.2023 12:57
    +1

    это возможно, и делается это также в пару кликов. Для установки терминала вводим команду:
    wget download.mql5.com/cdn/web/metaquotes.software.corp/mt4/mt4ubuntu.sh; chmod +x mt4ubuntu.sh; ./mt4ubuntu.sh

    По-моему, это «парой кликов» может только особо одарённый линуксоид назвать.
    Для включения русского языка необходимо подключиться через SSH к пользователю root и выполнить следующие команды:

    А может просто конкретному пользователю русскую локаль выставить, а не в системе?
    «Одной командой» — ещё можно. Но парок кликов — это когда в GUI выбрал и запустил. ;)


    1. 13werwolf13
      17.01.2023 19:43

      А может просто конкретному пользователю русскую локаль выставить, а не в системе?

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


      1. aik
        17.01.2023 22:43

        А ещё восемьсот, допустим, английскую хотят. Или вообще китайскую.
        Там же написано «некоторым пользователям» — это обычно подразумевает небольшую их часть.


        1. avacha
          19.01.2023 10:23

          Это небольшая боль. Боль побольше обычно была, когда Linux хотели вместо сервера терминального использовать, но именно через RDP - и непременно, чтобы печать пробрасывалась!


  1. Arsmerk_true
    17.01.2023 13:53
    -1

    RDP на UNIX = redirect tcp/3389 на tcp/22


  1. garwall
    17.01.2023 14:57
    +4

    выставлять любое rdp голым кое-чем в интернет - идея так себе. учитывая, что в том же xrdp нашли недавно баги с большими severity.


  1. ZardoZAntony
    18.01.2023 15:52

    Самое важное из-за чего невозможно было использовать RDP под линуксом вне корпоративной сети - принтеры не пробрасывались с компов пользователей. Не увидел тут инфы об этом. Все так же?


    1. avacha
      19.01.2023 10:24

      Все также. Зато звук пробрасывается - очень нужная вещь, как без нее жили...


    1. mihmig
      19.01.2023 12:27

      Да фиг с ними. с принтерами - сейчас всё больше электронный документооборот идёт (мы же за "зелёных", да?)

      Но вот неработающий буфер обмена и периодические косяки с переключением раскладки -да, хоронят всю идею замены Windows-сервера...