Настройка LTSP сервера на Ubuntu 18.04 | LinuxMint 19

Последнее изменение: 30.01.2020

Сегодня рассмотрим пример установки и настройки LTSP сервера на Ubuntu 18.04.

Linux Terminal Server Project (LTSP) — это свободно распространяемый дополнительный пакет для Linux с открытым исходным кодом, который позволяет нескольким людям с маломощными компьютерами (терминалами) использовать вычислительные мощности одного более производительного компьютера (сервера). При этом, все приложения запускаются на сервере, а терминалы, так же называемые тонкими клиентами (или X-терминалами), просто принимают видеоряд, посылаемый сервером, и кроме него ничего не обрабатывают. Как правило, терминал представляет собой маломощный компьютер, в нём даже может отсутствовать жесткий диск, вследствие чего он может работать тише, чем обычный настольный компьютер.

Я не буду приводить пример установки самой системы Ubuntu 18.04 или Linux Mint 19, благо материалов на эту тему в интернете куча. Будем считать, что система установлена и готова к использованию.

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

Обновляем систему

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

sudo apt update && sudo apt dist-upgrade -y

После обновления всех пакетов в актуальное состояние, нам необходимо установить два пакеты для запуска LTSP сервера.

Установка DNS

Устанавливаем bind9 и настраиваем вашу зону.

sudo apt install bind9

Как настроить зону для DNS на Ubuntu 18.04 смотрим статью — Установка и настройка DNS (bind9) на Ubuntu.

Установка DHCP

Далее устанавливаем пакет isc-dhcp-server

sudo apt install isc-dhcp-server -y

Как настроить DHCP на Ubuntu 18.04 смотрим статью — Установка и настройка DHCP (isc-dhcp-server) на Ubuntu.

После того как настроили DNS и DHCP приступаем к установке LTSP сервера и клиента:

Установка пакетов LTSP сервера

sudo apt install ltsp-server-standalone ltsp-client -y

Далее набираем следующую команду:

sudo ltsp-build-client

Приведенная выше команда установит по умолчанию 64-битный образ ubuntu. Если вы предпочитаете 32-разрядный образ, наберите такую команду:

sudo ltsp-build-client --arch i386

На этом этапе запасаемся терпением и ждем окончания процесса настройке клиента.

После запуска команды, у вас в полностью автоматическом режиме, с помощью debootstrap, развернется система в каталог /opt/ltsp/amd64 или /opt/ltsp/i386.

Эта же система и будет использоваться в дальнейшем всеми командами LTSP, в нее будет устанавливаться дополнительное ПО, из нее будут генерироваться загрузчик с ядром и nbd-образ системы. В принципе, ее, так же можно отдавать по nfs при должной настройке загрузчика.
После установки LTSP автоматически сгенерирует из нее nbd-образ. Этот образ и будут загружать наши клиенты.

Для того, чтобы внести какие-нибудь изменения в гостевую ОС, например установить дополнительное ПО, используется команда

ltsp-chroot

Набрав данну команду вы поподаете в систему ltsp под root пользователем.

Настройка LTSP сервера

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

root@ltsp apt install sudo ntfs-3g ntfsprogs

Добавляем пользователя который будет подключатся к системе.

root@ltsp:~/# adduser user1

Если хотим добавить пользователя в группу sudo, то пишем следующую команду:

root@ltsp:~/# usermod -a -G sudo user1

Выходим из режима chroot

exit

Чтобы изменения применились, нужно перегенерировать nbd-образ командой:

ltsp-update-image

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

cd /opt/ltsp/i386
cat /boot/pxelinux.cfg/default
TIMEOUT 60
PROMPT 0
DEFAULT menu.c32
MENU TITLE BOOT_MENU
MENU COLOR unsel 37;40
MENU COLOR sel 30;47
MENU COLOR border 37;40
MENU COLOR title 37;40
MENU COLOR hotkey 36;40
MENU COLOR tabmsg 36;40
MENU TABMSG Brought to you by Blue Light.
MENU AUTOBOOT
#
#
label WINDOWS 
localboot 0
#
label SYSTEM_RECOVERY
kernel vmlinuz
APPEND ro initrd=initrd.img quiet root=/dev/nfs ip=dhcp boot=nfs nfsroot=10.10.5.1:/ltsp/ ramdisk=8192

Для корректной работы загрузчика скопируем необходимую библиотеку..

cp /ltsp/usr/lib/syslinux/menu.c32 /ltsp/boot/menu.c32

Перезапускаем сервер tftp-hpa

sudo /etc/init.d/tftpd-hpa restart

Теперь можно попробывать загрузить «тонкий» клиен

Конфиг lts.conf

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

Конфиг поделен на секции, в секции Default описываются настройки общие для всех клиентов:

[Default]
# Сессия LXDE
LDM_XSESSION    = /usr/bin/dbus-launch --exit-with-session /usr/bin/lxsession -s Lubuntu -e LXDE
# Настройки локалей и системного языка
LOCALE      = Europe/Moscow
LC_ALL      = ru_RU.UTF-8
LANG        = ru_RU.UTF-8
LDM_LANGUAGE = ru_RU.UTF_8
# Настройка переключения клавиатуры и хоткеев
XKBLAYOUT   = "us,ru"
XKBOPTIONS  = "grp:ctrl_shift_toggle,terminate:ctrl_alt_bksp"
X_NUMLOCK   = true
KEYTABLE    = ru
LDM_NUMLOCK = true
# Разрешаем флешки
HOTPLUG     = True
# Разрешаем локальные диски
LOCALDEV    = true
# Настраиваем звук и микрофон
SOUND       = True
MIC_VOLUME      = 0
CAPTURE_VOLUME  = 100
CAPTURE_SWITCH  = toggle
# Включаем поддержку SSH
RCFILE_01       = "ssh-keygen -A ; /usr/sbin/sshd"
# Настраиваем сбор логов
SYSLOG_HOST     = server

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

# Настройка графики
[oldmachine]
X_COLOR_DEPTH=8
X_MODE_0=800x600

# Включить автологин
[10.5.5.10]
LDM_AUTOLOGIN = True
LDM_USERNAME  = user1
LDM_PASSWORD  = password

# Принт-сервер
[00:11:25:93:CF:00]
PRINTER_0_DEVICE=/dev/usblp0
SCREEN_07=shell

# FreeRDP, вместо стандартной оболочки
[00:11:25:93:CС:11]
SCREEN_07=xfreerdp
RDP_SERVER=10.5.5.11
RDP_OPTIONS="/f /sec:rdp /cert-ignore /multimon:force"

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

man lts.conf

Чтобы изменения применялись, нужно перегенерировать nbd-образ командой ltsp-update-image

Если есть вопросы, то пишем в комментариях.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

2
Отправить ответ

avatar
2 Цепочка комментария
0 Ответы по цепочке
0 Последователи
 
Популярнейший комментарий
Цепочка актуального комментария
1 Авторы комментариев
Андрей Авторы недавних комментариев

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.

  Подписаться  
Уведомление о
Андрей
Гость
Андрей

Начиная отсюда

Спойлер
root@debvbox:/ltsp# cat /ltsp/boot/pxelinux.cfg/default

— где это искать…? Затупил на этом шаге.

Андрей
Гость
Андрей

1) Настройка LTSP сервера — установка ntfsprogs… нет такого.
2) root@debvbox:/ltsp# cat /ltsp/boot/pxelinux.cfg/default — не смог найти это…
3) Конфиг lts.conf — так же не могу найти.
ПС — я две недели с линуксом в поисках истины =)

Меню
WhatsApp Задайте вопрос

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: