Linux and terminal server

Linux and terminal server

Search Menu Expand

Community resources

Linux Terminal Server Project helps in netbooting LAN clients from a single template installation that resides in a virtual machine image or a chroot on the LTSP server, or the server root (/, chrootless). This way maintaining tens or hundreds of diskless clients is as easy as maintaining a single PC.

LTSP has been redesigned and rewritten from scratch in 2019 by alkisg in order to support new technologies like systemd, updated desktop environments, Wayland, UEFI etc. Only the new version is actively developed, while the old one is now called LTSP5 and is in minimal maintenance mode.

LTSP automatically configures and uses the following tools:

  • iPXE: network boot loader that shows the initial client boot menu and loads the kernel/initrd.
  • dnsmasq or isc-dhcp-server: DHCP server that assigns IPs to the clients, or ProxyDHCP server when another DHCP server is used, e.g. a router.
  • dnsmasq or tftpd-hpa: TFTP server that sends ipxe/kernel/initrd to the clients.
  • dnsmasq: optional DNS server for DNS caching or blacklisting.
  • mksquashfs: creates a compressed copy of the template image/chroot/VM to be used as the client root /.
  • NFS or NBD: serve the squashfs image to the network.
  • tmpfs and overlayfs: make the squashfs image temporarily writable for each client, similiarly to live CDs.
  • NFS or SSHFS: access the user’s /home directory which resides on the server.
  • SSH or SSHFS or LDAP: authenticate users against the server.

What are you waiting for? Continue to the installation page!

Источник

LTSP: Терминальный сервер на Linux

LTSP — Это терминальное решение на Linux.

В частности, LTSP — это совокупность преднастроенных программ и скриптов которые позволят вам без особого труда превратить вашу свеже установленную Ubuntu, или другой дистрибутив, в полностью готовое к работе терминальное окружение. Которое будет загружаться на любых компьютерах в вашей сети и предоставлять пользователю полноценный интерфейс.
У LTSP есть несколько режимов работы:

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

Принцип работы

Допустим, у вас есть сервер и множество компьютеров (терминальных станций), которые вы раздаете пользователям, чтобы те за ними работали. Терминальные станции эти почти ничем не отличаются от обычных компьютеров, за исключением того, что их размеры обычно достаточно малы, для работы им не нужен жесткий диск и, кроме того, они могут быть довольно слабыми и дешевыми, на работе пользователей это не отражается (в режиме тонкого клиента). Стоит отметить, что в роли терминальной станции может выступать любой компьютер, который умеет загружаться по сети.
Как я уже сказал, на терминальных станциях вполне может и не быть жесткого диска, а соответственно никакой операционной системы на них не установленно, вся загрузка происходит c LTSP-сервера прямо по сети.
На терминальном сервере у вас установлена система, в ней же и хранятся все данные пользователей, конфиги, и ПО.
Когда пользователь включает свой компьютер, у него загружается операционная система с терминально сервера, он может в нее войти, поработать, отключиться. При этом все данные всегда остаются на терминальном сервере.
Теперь о режимах работы:

  • тонкий клиент — Приложения выполняются на терминальном сервере и просто выводятся на дисплей терминального клиента.
  • толстый клиент — Приложения выполняются непосредственно на терминальном клиенте, а сервер просто предоставляет доступ к пользовательским файлам и программам.

Итак, какой же режим нам выбрать? — все зависит от того, что вы хотите получить. Вы можете немного сэкономить используя на клиентах слабые станции вкупе с мощным сервером в режиме тонких клиентов. Или разгрузить терминальный сервер и локальную сеть, купив терминальные станции помощнее, переложив ответсвенность за выполнение программ на клиентов, заставив их, тем самым, работать в режиме толстого клиента.
Кроме того, режимы можно комбинировать и некоторые приложения можно заставлять работать иначе, чем все остальные. Например запускать “тяжелый” браузер с flash локально на клиентах, а офисные приложения запускать на самом сервере.

Плюсы и минусы

Давайте рассмотрим какие же плюсы мы имеем по сравнению со стандартными принципами построения ит инфраструктуры:

  • Централизованное управление — У вас есть одна единая конфигурация, которой вы управляете из одного места.
  • Резервирование и бэкапирование — Все пользовательские данные у вас хранятся на одном сервере, а соотвественно настроив резервирование этого сервера, вы никогда не потеряете пользовательские данные.
  • Экономия на компьютерах — Бездисковые терминальные станции стоят заметно дешевле, чем полноценные компьютеры.
  • Быстрое развертывание — Вам больше не нужно устанавливать ОС. Прикупив очередную пачку терминалов их можно смело втыкать в сеть, они сразу подтянут операционку с сервера и они будут полностью готовы к работе. Точно так же нерабочий терминал можно быстро заменить другим.
  • Независимость от рабочего места — Пользователи могут работать под своей учетной записью независимо с любого компьютера в сети, всегда будет подгружаться именно их личный профиль.
  • OpenSource — Прежде всего, LTSP — это открытый и свободный проект. Вам не надо покупать лицензии для его использования. Кроме того, вы всегда можете посмотреть исходники, в основе которых лежат обычные bash-скрипты.
  • Требуется непрерывное подключение LAN — терминальные станции грузятся и работают по сети, поэтому требуется стабильное проводное подключение к сети.
  • Зависимость от сервера — понятное дело, без сервера все терминальные клиенты становятся бесполезными и превращяются в тыкву.

Устройство

Первое, что мы должны знать, это компоненты из которых состоит сервер:

  • DHCP-сервер — используется для выдачи клиентам IP-адресов и информации о tftp-сервере и пути к загрузчику pxelinux. Вы так же можете использовать ваш собственный DHCP-сервер.
  • TFTP-сервер — отдает по tftp-протоколу загрузчик, ядро и главный конфиг lts.conf .
  • NBD-сервер — используется ядром для загрузки базовой системы по сети. Так же, при желании, может быть заменен на NFS
  • SSH-сервер — используется для авторизации пользователей и передачи их домашних каталогов на терминальные станции.
Читайте также:  Установить хром альт линукс

Во вторых разберемся в том как он работает:
Когда вы установите на ваш сервер пакет ltsp-server-standalone , вы, к полностью настроенным сервисам, получите еще несколько ltsp-скриптов:

  • ltsp-build-client — собирает для нас образ системы, который мы будем отдавать на клиентские машины.
  • ltsp-chroot — chroot’ит нас в клиентскую систему, например для установки дополнительных пакетов и изменения конфигов.
  • ltsp-config — генерит дефолтные конфиги для LTSP.
  • ltsp-info — выводит информацию о текущей установке.
  • ltsp-update-image — обновляет nbd-образ базовой системы.
  • ltsp-update-kernels — копирует ядро и загрузчик из клиентского образа, в директорию tftp-сервера
  • ltsp-update-sshkeys — добавляет ssh publickey вашего сервера, в known_hosts клиентского образа.

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

Как устроена загрузка по сети?

Так же предельно важно понимать как устроена загрузка по сети, процесс загрузки выглядит примерно следующим образом:

  • Рабочая станция включается и опрашивает DHCP-сервер, как ей грузиться дальше:
    А точнее происходит запрос двух опций: next server — адрес TFTP-сервера и boot file — путь к загрузчику.
  • DHCP-сервер, выдает ответ с адресом сервера и путем к pxelinux.
  • Рабочая станция загружает загрузчик pxelinux по TFTP
  • pxelinux загружает ядро.
    В конфиге pxelinux в опциях ядра указанно откуда грузить основную систему по NBD
  • Когда ядро запускается, оно маунтит с сервера nbd-образ в корень системы и загружает процесс init, который в свою очередь и загружает все остальное обычным способом.
  • Так же в этот момент ltsp-читает главный конфиг lts.conf с сервера и запускает LDM, после чего пользователь видит приглашение к вводу логина и пароля.

LDM — это логон менеджер LXDE, который отвечает за авторизацию пользователей и начальный запуск окружения.

Когда пользователь логинится проиходит следующее:

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

Установка

Я опишу установку LTSP в режиме толстого клиента, как наиболее сложную и интересную.
Настройка в режиме тонкого клиента мало чем будет оличаться, за исключением того, что необходимое ПО вам придется устанавливать не в chroot, а в основную систему, и после этого вам не нужно будет пересобирать nbd-образ.
Маленькая оговорочка, для сервера лучше брать дистрибутивы посвежее, т.к. LTSP находится среди стандартных пакетов и обновляется вместе с дистрибутивом.
UPD: Проверенно, с последней Ubuntu 16.04 LTS таких проблем не возникает.
Итак, приступим. Сначала устанавливаем ltsp-server-standalone :

Теперь с помощью ltsp-build-client мы установим клиентскую систему. LTSP поддерживает различные DE, но больше всего мне понравилось как работает LXDE. В отличии от Unity он потребляет совсем мало ресурсов и так-как работает на голых иксах, он почти полностью конфигурируется с помощью переменных среды, это очень удобно, так-как их можно указать в главном конфиге lts.conf.

Все эти опции можно указать в конфиге /etc/ltsp/ltsp-build-client.conf , что бы не прописывать их вручную:

В случае если опция не указана, будет использоваться тот же дистрибутив и/или архитектура, что и на серверной системе.
После запуска комманды, у вас в полностью автоматическом режиме, с помощью debootstrap , развернется система в каталог /opt/ltsp/i386 .
Эта же система и будет использоваться в дальнейшем всеми командами LTSP, в нее будет устанавливаться дополнительное ПО, из нее будут генериться загрузчик с ядром и nbd-образ системы. В принципе, ее, так же можно отдавать по nfs при должной настройке загрузчика.
После установки LTSP автоматически сгенерит из нее nbd-образ. Этот образ и будут загружить наши клиенты.
Для того, чтобы внести какие-нибудь изменения в гостевую ОС, например устанавливать дополнительное ПО, используется команда ltsp-chroot .
Если вы хотите что-то поменять или добавить в гостевую систему, выполните ltsp-choot и вы окажетесь внутри нее.
Затем произведите нужные вам действия, и выйдите командой exit.
Чтобы изменения применились, нужно перегенерить nbd-образ командой ltsp-update-image

DHCP-сервер:

Вместе с метапакетом ltsp-server-standalone у нас установился и isc-dhcp-server .
В принципе он уже из коробки работает как надо, но при желании вы можете поправить его конфиг /etc/default/isc-dhcp-server .
Но, так как я предполагаю, что у вас уже есть DHCP-сервер, предлагаю настроить его.
Удалим isc-dhcp-server :

Теперь вам нужно добавить к вашему dhcp-серверу 2 опции:

Как это сделать, смотрите инструкции к вашему DHCP-серверу.

Установка ПО

  • Давайте же войдем в нашу гостевую систему:
  • Теперь установим vim:
  • Поддержку русского языка:
  • Последнюю версию Remmina:
  • Skype:
  • Браузер Chromium c плагином PepperFlash (свежий flash от google)
  • Кстати, PepperFlash можно установить и запустить без Chromium, в Firefox:
  • Чтобы администратор мог удаленно подключиться к сессии пользователя установим x11vnc:
  • И ssh-сервер:
  • Еще в Ubuntu 16.04 есть некая проблема, если не настроить xscreensaver, то через определенное время клиент покажет черный экран, из которого никак не выйти. Исправим это:
    Установим xscreenasver, если он еще не установлен:

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

Не забываем выйти из chroot и обновить наш nbd-образ:

Создание пользователей

  • Обычных пользователей терминального сервера можно создать стандартным способом:

Или через GUI если он установлен у вас на сервере

  • Также при желании можно создать локального администратора в клиентском образе:
  • Конфиг lts.conf

    Вот мы и подобрались к самому главному конфигу
    Находится он по адресу /var/lib/tftpboot/ltsp/i386/lts.conf и представляет ссобой нечто иное как описание глобальных переменных.
    Конфиг поделен на секции, в секции Default описываются настройки общие для всех клиентов:

    Также можно добавить секции для отдельных клиентов, на основе hostname, IP или MAC-адреса:

    Читайте также:  Получит windows 10 что это

    Вообще полный список опций вы можете найти на этой странице, или в

    Итоги

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

    Источник

    Ubuntu + XRDP + x11RDP терминальный сервер, с поддержкой звука, для серфинга в интернете — пошаговое руководство

    Особенно нетерпеливых отсылаю сразу в конец статьи где будет ссылка на готовый .deb-пакет для установки.

    А для всех остальных…

    Что это такое и для чего это нужно

    В первую очередь данное решение можно использовать как очень бюджетный вариант реализации безопасного доступа к интернет сотрудникам небольшой фирмы.

    История номер один. (основано на реальных событиях)

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

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

    История номер два. (основано на реальных событиях)

    Предположим один из сотрудников принес на флешке взломанную лицензионную программу которую поставил к себе на компьютер, в данном случае не рассматриваем доменные структуры AD, речь идет о небольших фирмах где не содержат штат сетевиков. После установки данной программы она спокойно может пожаловаться разработчикам через интернет что на компьютере по такому то IP кто то поставил взломанную версию и спокойно пользуется.
    Дальше дело техники. Причем разборки могут быть очень серьёзные.
    При реализации варианта терминал сервера данный вариант так же не проходит так как у локального компьютера просто нет доступа к сети и любая программа шпион не сможет вынести сор из избы.

    Предисловие

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

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

    Сборка и тестирование производилось на виртуальной машине от virtualbox. При использовании чистого железа так же могут возникнуть проблемы с настройками драйверов. Из программного обеспечения были использованы Ubuntu 16.04 LTS server / x11RDP 7.6 / xRPD 0.9.2. На других версиях данное решение не тестировалось и не проверялось.

    XRDP является специальным прокси-сервером который прослушивает RDP port 3389 на предмет внешних запросов. Принимает на него подключения и далее, в зависимости от настроек, переадресовывает их на внутренние порты OS.

    Для установки скомпилируем необходимые пакеты:

    По умолчанию в репозиториях UBUNTU 16.04 находится пакет xRDP v0.6.0 в котором я не смог найти решения для рализации передачи звука. Поэтому собирать новую версию xRDP будем из исходников.

    На многих сайтах советуют клонировать свежую версию при помощи git:

    Но, в данном случае, возникает риск того что, на момент тестирования, вы можете столкнуться с совершенно новой версией имеющей значительные отличия от v0.9.2 и что то может пойти не так. Поэтому скачиваем и распаковываем фиксированный пакет XRDP v0.9.2 с сайта разработчиков.

    Перейдем в каталог с XRPD и начнем компиляцию:

    На данном этапе необходимо указать компилятору что в готовую сборку необходимо добавить модуль поддержки звука. Более подробно об этом можно прочесть в файле который теперь находится на вашем диске в каталоге с исходниками XRDP.

    Установим библиотеки необходимые для переадресации звука.

    Добавляем ключ активирующий звук —enable-load_pulse_modules при конфигурации пакета, собираем и устанавливаем.

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

    Добавляем XRDP в автозагрузку. Для автозагрузки будем использовать systemd:

    Проверим прошла ли установка:

    $ xrdp: A Remote Desktop Protocol server.
    Copyright © Jay Sorg 2004-2014
    See www.xrdp.org for more information.
    Version 0.9.2

    Если все сделано верно то теперь можно попробовать подключиться к серверу при помощи любого RDP клиента с другого компьютера. Или установить на этой же тестовой машине клиент freerdp:

    И подключится локально внутри системы.

    Дальше стартовой заставки дело не пойдет потому что у нас пока не установлена серверная часть ПО которой прокси сервер XRDP был бы должен передать управление.

    x11RDP

    В качестве серверной части могут быть использованы серверные модули поддерживающие разные протоколы передачи данных. В данном варианте будем использовать x11RDP v7.6.

    Небольшое отступление

    Все дело в том, что установленный нами ранее прокси XRDP 0.9.2 не может, без доработок, перебрасывать подключения к предыдущей версии сервера x11RDP v7.1 на котором, в свою очередь, отсутствует известная проблема с переключением раскладок клавиатуры ru/en как при создании нового сеанса так и при переподключении к старой сессии.

    Читайте также:  Windows license number check

    А при использовании старой версии прокси XRDP 0.6.0 с которой работает сервер x11RDP v7.1 мы не сможем осуществить переброс звука так как XRDP 0.6.0 не поддерживает ключ —enable-load_pulse_modules.

    Для установки x11RDP v 7.6 вернемся в каталог:

    Создадим каталог для установки пакета и произведем сборку.

    Сборка происходит достаточно долго 15-30 мин. Команда time позволит нам увидеть, по окончании процесса процесса, сколько было затрачено времени.

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

    Для дальнейшего тестирования, чтобы убедиться что все установки прошли успешно, установим графический эмулятор терминала xterm.

    И попробуем подключиться к серверу со стороны, или локально если ранее установили freerdp.

    Теперь из меню необходимо выбрать x11RDP чтобы указать прокси какому именно серверу должно быть передано управление и ввести логин и пароль к ubuntu серверу.

    Если все верно то на экране мы увидим графический интерфейс терминала xterm.

    Настройка языковой консоли и режима переключения языков

    Почти все основные настройки клавиатуры в ubuntu осуществляются при прмощи пакета setxkbmap.

    Для начала закроем терминальную сессию и вернемся в консоль нашего ubuntu сервера
    посмотрим что творится с клавиатурой.

    Теперь подключимся к серверу терминалов и в терминале xterm выполним ту же команду:

    $ Trying to build keymap using the following components:
    keycodes: xfree86+aliases(qwerty)
    types: complete
    compat: complete
    symbols: pc+us+inet(pc105)
    geometry: pc(pc105)
    xkb_keymap <
    xkb_keycodes < include «xfree86+aliases(qwerty)» >;
    xkb_types < include «complete» >;
    xkb_compat < include «complete» >;
    xkb_symbols < include «pc+us+inet(pc105)» >;
    xkb_geometry < include «pc(pc105)» >;
    >;

    Есть русская консоль и определены клавиши переключения языка alt_shift. На сервере терминалов противоположность:

    Есть только английский язык и клавиши переключения языка не определены.

    Есть еще одна странность. Локально, на сервере ubuntu, модель клавиатуры определилась как pc104:

    А на сервере терминалов как pc105:

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

    Вернемся к ubuntu серверу и посмотрим что установлено в конфигурационных файлах системы
    по умолчанию

    $ # KEYBOARD CONFIGURATION FILE
    # Consult the keyboard(5) manual page.
    XKBMODEL=«pc105»
    XKBLAYOUT=«us,ru»
    XKBVARIANT=»,»
    XKBOPTIONS=«grp:alt_shift_toggle,grp_led:scroll»
    BACKSPACE=«guess»

    Установим hwinfo (сборщик информации об аппаратной части системы) и посмотрим информацию о железе:

    В итоге аппаратно модель клавиатуры, в нашем случае определяется как pc104, в файлах конфигурации системы прописано обращение к устройству pc105. На локальном сервере определяется pc104, на сервере терминалов pc105. Из за данного несоответствия, в частности, возникает несколько глюков. Многие пишут что не могут справиться с настройкой локали на терминальном сервере. У некоторых пропадает русификация после переподключении к отвалившейся сессии и те пе.

    Откроем в любом текстовом редакторе (я использую в примере редактор nano) файл конфигурации системы и исправим тип клавиатуры по умолчанию в соответствии с данными полученными от hwinfo:

    Файл клавиатурных настроек программы XRDP 0.9.2 находится в файле
    /etc/xrdp/xrdp_keyboard.ini. Эти данные прокси передает xRDP серверу как данные клиента который производит подключение. Откроем его и добавим в конец данного файла блок поддержки русской локали.

    Предварительно исправив модель клавиатуры на верную model=pc104 (в оригнальной версии установлена pc105):

    Добавляем в конец файла:

    [rdp_keyboard_ru]
    keyboard_type=4
    keyboard_subtype=1
    model=pc104
    options=grp:alt_shift_toggle
    rdp_layouts=default_rdp_layouts
    layouts_map=layouts_map_ru

    [layouts_map_ru]
    rdp_layout_us=us,ru
    rdp_layout_ru=us,ru

    Подключаемся к терминальному серверу. Проверяем клавиатурные настройки:

    $ Trying to build keymap using the following components:
    keycodes: xfree86+aliases(qwerty)
    types: complete
    compat: complete
    symbols: pc+us+ru:2+group(alt_shift_toggle)
    geometry: pc(pc104)
    xkb_keymap <
    xkb_keycodes < include «xfree86+aliases(qwerty)» >;
    xkb_types < include «complete» >;
    xkb_compat < include «complete» >;
    xkb_symbols < include «pc+us+ru:2+group(alt_shift_toggle)» >;
    xkb_geometry < include «pc(pc104)» >;

    Все в порядке, клавиатура определяется верно:

    и появился русский язык с переключением по alt_shift. Закрываем сеанс оставляя его работать в фоне и переподключаемся к нему же снова чтобы проверить что не возникает известной проблемы при которой локаль пропадает при переподключении к уже открытому ранее сеансу.

    В ubuntu старше 10.10, по умолчанию, за вывод звука отвечает сервер pulseaudio. В десктопных дистрибутивах он уже установлен. В серверных нет. Поэтому установим его.

    Посмотрим и запишем номер версии пакета который по умолчанию установился в нашу систему:

    Для начала скачаем исходники pulseaudio. Сделать это можно двумя способами.

    1. Скачать общую версию с сайта разработчиков (freedesktop.org/software/pulseaudio/releases/) скачивать надо именно ту версию которую мы определили ранее. В нашем случае pulseaudio 8.0

    2. Более правильно — подключить deb-src репозитории системы и получить исходники которые использовали авторы данного ubuntu дистрибутива.

    По умолчаню ссылки на исходники в ubuntu отключены. Для подключения отредактируем файл списка репозиториев:

    Необходимо удалить значки # перед всеми списками deb-src репозиториев.

    $ E: Вы должны заполнить sources.list, поместив туда URI источников пакетов

    Переходим в установочный каталог XRDP:

    Исправляем make файл.

    /pulseaudio* в данном случае не проходят. Необходимо точно прописать адрес каталога.

    Замените admin на имя пользователя в Вашей системе. Сохраняем исправленный файл и делаем:

    Если все выполнено верно в каталоге будут скомпилированы 2 новых библиотеки
    module-xrdp-sink.so и module-xrdp-source.so.

    Осталось только скопировать их в рабочий каталог с библиотеками сервера pulseaudio:

    После перезапуска звук будет активирован.

    Осталось установить любую удобную графическую оболочку. Для терминального сервера желательно что то не ресурсоемкое.

    XFCE
    Минимальный набор элементов:

    Полный набор элементов:

    LXDE
    Минимальный набор элементов:

    Полный набор элементов:

    В зависимости от версии установленной графической оболочки, для её запуска возможно понадобится настроить файл .xsession

    Готовый пакет для установки

    XRDP v0.9.2 + скомпилированные библиотеки pulseaudio 8.0 + исправленный keyboard.ini файл для поддержки русификации. Те же кто не хочет сам собирать бакенд x11RDP v7.6 по этой же ссылке могут скачать готовый deb пакет бакенда xorg v.0.2.0. Порядок установки для совсем ленивых

    Повторюсь что пакеты собирались практически на коленках и работа протестирована только
    на ubuntu 16.04 server. Работоспособность данных .deb-пакетов на других системах не гарантирована.

    Источник

    Оцените статью