Тонкий клиент

Захотелось попробовать сделать тонкого клиента, для старой машины, которая дохнет от опенофиса, был вдохновлен Sun Ray 3 от оракла, очень понравилось. Вот решил попрообвать сам, на базе убунты. На самом деле ничего писать не буду, как это все настраивается и работает, все предельно просто.Берется убунту десктоп и при запуске с болванки нижний пункт. Дальше все делается автоматом.

Если на уже установленную машину то:

sudo apt-get install ltsp-server-standalone openssh-server
и потом sudo ltsp-build-client
Если все делалось на 64 битной машине. А клиенты настоько древние, что 64 для них недоступен, то делаем sudo ltsp-build-client —arch i386.

Что хотелось бы отметить.

Ставиться DHCP, который лично мне невперся. Но он необходим(как потом оказалось и он в общем не нужен), точнее необходим только 66 и 67 параметры. 66 параметр это сервер tftp, 67 параметр это путь до файла(/ltsp/amd64/pxelinux.0). Если нет никакой возможности прописать в dhcp эти параметры, это как у меня, то есть способ.

Способ кстати и для машин которые незнают, что такое PXE. Есть утилитка gPXE она это чудо эмулирует. Т.к. у меня через dhcp 66 параметр уже был забит кем-то и он был не нужный мне абсолютно, то пришлось думать, как же это обойти. Много было всего прочитано, вот результат.

Это скрипт для gPXE который делает следущее.

#!gpxe
dhcp net0 <= получает по dhcp сеть.
set net0/next-server xxx.xxx.xxx.xxx <= вот тут меняет tftp сервер на нужный
kernel tftp://xxx.xxx.xxx.xxx/ltsp/amd64/vmlinuz nbdroot=xxx.xxx.xxx.xxx:2000 quiet splash ro <= вот тут, как оказалось, важно указывать nbdroot иначе система не грузилась, писала «failed to connect to nbd server»
initrd tftp://xxx.xxx.xxx.xxx/ltsp/amd64/initrd.img
boot vmlinuz

Теперь собственно куда этот скрипт пихать, я сразу не понял. Оказалось нужно скачать исходники и собрать их

make EMBEDDED_IMAGE=../contrib/scripts/static.gpxe

где static.gpxe и есть тот самый скрипт выше.

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

Небольшое дополнение, если IP получаеются не через dhcp, можно все это прописать в скрипте. Вместо dhcp net0.

ifopen net0

set net0/ip 10.0.2.15

set net0/netmask 255.255.255.0

set net0/gateway 10.0.2.2

set net0/dns 10.0.2.3

и все… Единственное каждому клиенту придется делать свой образ для запуска…

Вот еще хотелось бы, что добавить. Я ставил все это на убунту сервер, у которого нет иксов. По этому при конекте и логине у меня отрывается терминалочка и все. Чтобы было что смотреть, нужно доставить пакет. sudo apt-get install ubuntu-desktop

PS: В планах связать все это доменной авторизацией… Может сделаю на следующей неделе.