Linux как тонкий клиент

Тонкие клиенты (linux) из устаревших компьютеров

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

В наличии имеется следующее «железо»:

  • Мощный системный блок (двухядерный Athlon, 3Гб оперативной памяти, большой жесткий диск)
  • Несколько списанный системников уровня Pentium III, порядка 256 Мб оперативки, жесткие диски убитые/отсутствуют, есть CD-приводы

Необходимо из них собрать офисную сеть, чтобы все могли комфортно работать. Единственное решение в такой ситуации — сделать из списанных компьютеров тонких клиентов, которые могут работать на мощном компьютере (сервере). Загрузка тонких клиентов будет выполняться со специально сделанных LiveCD. Желательно использовать безопасный протокол, так как в будущем хотелось бы иметь возможность работать и удаленно (через интернет).

В качестве серверной ОС взята Linux (Ubuntu).

Для того, чтобы сделать тонких клиентов, воспользуемся thinstation. С официального сайта можно скачать как универсальный LiveCD, так и архив, из которого можно дальше сделать собственный iso-образ. LiveCD подходит для первого знакомства и содержит в себе различные клиенты для подключения к Windows и Unix серверам по разнообразным протоколам (RDP, VNC, SSH и т. д.) Мы будем работать с архивом и сделаем с его помощью свой iso-образ, «заточенный» под наши нужды.

Перед началом сборки определимся, какой сервер терминалов мы будем использовать. Так как у нас линукс, то, по идее, достаточно туннелировать графику через SSH, однако все это танцы с бубном — как на стороне клиента, так и на стороне сервера. Возьмем готовое решение — NX Server. Для Ubuntu уже существуют deb-пакеты. С другой стороны, NX client есть и в составе thinstation. Таким образом, нам остается только настроить сервер и сделать загрузочные CD-диски.

Читайте также:  Узнать скорость порта линукс

Делаем iso-образы клиентов

Примерная последовательность выглядит так:

1. Скачиваем с официального сайта пакет ThinStation. tar.gz

2. Распаковываем: tar xzvf Thinstation-2.2.2.tar.gz

3. В корневой папке редактируем build.conf и thinstation.conf.buildtime (эти файлы используются во время сборки образа)

  • В файле build.conf оставляем только нужные модули и пакеты (модули отвечают за драйверы, пакеты — за программы).
  • В блоке, где идет активация клиентов, оставляем только package nx — это наш NX клиент.
  • param nxurl должен указывать на пакет nxclient. tar.gz (этот пакет подгружается во время сборки iso-образа). Можно указать внешнюю ссылку, можно скачать и положить на localhost. Ссылки на образы других клиентов, естественно, комментируем.
  • param keyfile — берем с сервера (файл ssh_host_rsa_key.pub). Рекомендую прописать полный путь до этого файла во избежание путаницы.
  • param knownhosts — проще всего сгенерировать с помощью любого LiveCD. Загружаемся, по ssh выполняем вход на наш сервер, после этого в профиле должен появиться файл known_hosts. Копируем его. Также необходимо прописать полный путь до этого файла.
  • В файл thinstation.conf.buildtime копируем содержимое из /conf/nx.conf.sample и /conf/x-common.conf.sample. Настраиваем, исходя из своей сети. Проще всего прописывать статические ip-адреса.

Образец файла thinstation.conf.buildtime:

NET_USE_DHCP=Off
NET_IP_ADDRESS=10.0.0.3
NET_MASK=255.255.255.0

SESSION_0_TYPE=nx
SESSION_0_TITLE=»Gnome»
SESSION_0_NX_ADVANCED_ENABLE_SSL_ENCRYPTION=»true»
SESSION_0_NX_GENERAL_DESKTOP=»Gnome»
SESSION_0_NX_GENERAL_SERVER_HOST=»10.0.0.1″
SESSION_0_NX_GENERAL_REMEMBER_PASSWORD=»true»
SESSION_0_NX_GENERAL_RESOLUTION=»fullscreen»
SESSION_0_NX_GENERAL_SESSION=»Unix»

SCREEN_RESOLUTION=»1280×1024″
SCREEN_COLOR_DEPTH=»24″
SCREEN_BLANK_TIME=10
SCREEN_STANDBY_TIME=20
SCREEN_SUSPEND_TIME=30
SCREEN_OFF_TIME=60

4. Выполняем сборку образа: ./build

5. Смотрим на лог сборки. Если все ОК — готовый образ появится в /boot-images/iso/. Записываем его на болванку.

Устанавливаем сервер терминалов

Делаем так, как указано на официальном сайте:

sudo dpkg -i nxclient…
sudo dpkg -i nxnode…
sudo dpkg -i nxserver…

Все должно заработать «из коробки».

Чтобы убедиться в работоспособности, можно быстро загрузиться с любой другой машины через LiveCD (Ubuntu/Xubuntu), прописать у нее сеть, поставить на нее только NX клиента, и подключиться к нашему серверу.

Читайте также:  Alt linux mail server

Все работает бодро. В нашей системе почему-то не активируется смена языка, пришлось в автозагрузку профиля добавить вот такой скрипт:

setxkbmap -model pc105 -layout us,ru\(winkeys\) -option -option grp:alt_shift_toggle -option compose:ralt

Еще наблюдаются какие-то глюки в firefox (черные прямоугольники вместо некоторых изображений). Судя по записям в интернете, это застарелая проблема, нужно ковырять в профиле.

Наконец, бесплатная версия NX сервера допускает одновременную работу только двух клиентов (итого — 3 человека: один на самом сервере, 2 — через тонких клиентов). Если хотим больше — либо приобретаем платную версию, либо ставим виртуальные системы (например, на proxmox). Но это уже, как говорится, совсем другая статья…

Источник

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