LTSP/NX: различия между версиями

Материал из ALT Linux Wiki
м (→‎Средство: +git.alt link)
Нет описания правки
 
(не показано 9 промежуточных версий 2 участников)
Строка 5: Строка 5:


== Средство ==
== Средство ==
Скрипты [http://readlist.com/lists/kde.org/freenx-knx/0/2839.html Dimitar Paskov] после адаптации [http://lists.altlinux.org/pipermail/ltsp-server/2008-October/001651.html Mike Grozak] ещё чуточку доведены и упакованы в {{pkg|ltsp-nxclient}}.  Этот [http://git.altlinux.org/people/mike/packages/?p=ltsp-nxclient.git;a=summary пакет] можно установить в чруте (по умолчанию {{path|/var/lib/ltsp/i586}}) и добавить там же в {{path|/etc/lts.conf}} строчку вроде
Скрипты [http://readlist.com/lists/kde.org/freenx-knx/0/2839.html Dimitar Paskov] после адаптации [http://lists.altlinux.org/pipermail/ltsp-server/2008-October/001651.html Mike Grozak] ещё чуточку доведены и упакованы в {{pkg|ltsp-client-nxsession}}.  Этот [http://git.altlinux.org/people/mike/packages/?p=ltsp-client-nxsession.git;a=summary пакет] можно установить в чруте (по умолчанию {{path|/var/lib/ltsp/i586}}) и добавить там же в {{path|/etc/lts.conf}} строчку вроде
  SCREEN_08=nx
  SCREEN_08=nx
В 5.1/branch существует {{pkg|ltsp-nxclient}} упаковки lav@ с подобными идеями, но несколько иной реализацией.  Надо бы добраться помержить всё лучшее из них обоих.
[[LTSP/LTS.CONF]] - реализация с кучей возможностей. Инструкция в файле start_nx. Запускать SCREEN_08=nx параметры
== Результат ==
[ftp://ftp.linux.kiev.ua/pub/Linux/ALT/people/mike/iso/terminal/school-5.0.0-20100315-school-terminal-i586-ru-install-dvd5.iso school-5.0.0-20100315-school-terminal-i586-ru-install-dvd5.iso] (если ссылка устареет, гляньте в [http://ftp.linux.kiev.ua/pub/Linux/ALT/people/mike/iso/terminal/ каталог]).
В Альт Линукс 5.0.1 Школьный Терминал не вошло -- обстоятельства сложились так, что образ был зафиксирован 12.03.2010, а доработка завершилась 15.03.2010.  Раскачиваться раньше надо, эх :)
В школьный 5.0.2 вошло, но опять же в экспериментальном виде: <s>приходится вручную вписывать в lts.conf и после перезагрузки терминала соглашаться в ответ на предупреждение ssh насчёт опять ставшего неизвестным host key.  Но зато оборванная было сессия возвращается.</s> Ниже решение


== Недочёты ==
== Недочёты ==
По состоянию на 14.03.2010 наблюдаются такие:
По состоянию на 14.03.2010 наблюдаются такие:
* не работает звук ({{cmd|nxesd}} явно не дружит с {{cmd|pulseaudio}}, также см. микшер)
* <s> не работает звук ({{cmd|nxesd}} явно не дружит с {{cmd|pulseaudio}}, также см. микшер)
: когда починим, будет иметь смысл включать по умолчанию, надеюсь
: когда починим, будет иметь смысл включать по умолчанию, надеюсь </s>
* не пробрасываются локальные носители
: звук работает через Pulseaudio, host брать из NXUSERIP
: требуется доработать [http://lists.altlinux.org/pipermail/ltsp-server/2010-January/002048.html хак lbussd] для совместимости и с обычным ALTSP
Стартовать звук и носители для NX например так:
if [ -z $NXUSERIP ] ; then
    HOSTNAME=`echo ${DISPLAY} | cut -f1 -d: | awk -F . {' print $1 '}`
    export PULSE_SERVER=$HOSTNAME
else
    export PULSE_SERVER=$NXUSERIP
    [ -r /usr/bin/fusermount ] && /путь/lbus-start.sh
fi
 
 
 
* <s>не пробрасываются локальные носители
: требуется доработать [http://lists.altlinux.org/pipermail/ltsp-server/2010-January/002048.html хак lbussd] для совместимости и с обычным ALTSP </s>
: а надо ли средствами NX пробрасывать носители? Если машина в локальной сети, то пойдет и lbussd, если удаленная, то завернутая например в openvpn.
lbus_event_handler.sh
-WS=${DISPLAY/:*/}
+if [ -z "${NXUSERIP}" ] ; then
+  WS=${DISPLAY/:*/}
+else
+  WS=${NXUSERIP}
+fi
 
* nxclient:
* nxclient:
** ставит курсор в поле "пароль", приходится возвращаться для ввода логина (несмотря на {{path|nopasswd}})
** <s>ставит курсор в поле "пароль", приходится возвращаться для ввода логина (несмотря на {{path|nopasswd}}) ([http://www.nomachine.com/tr/view.php?id=TR01G02160 якобы исправлено, если поле юзера пустое], не работает - подставляет имя юзера, от которого запущен nxclient)</s>
:: [[LTSP/LTS.CONF]] - берет пользователя из $HOSTNAME или можно задавать в lts.conf
 
** оставляет включабельной галочку "Login as a guest user", при попытке задействования которой ехидно сообщает: "Your guest account has expired. Please login again as a guest to get a new account."
** оставляет включабельной галочку "Login as a guest user", при попытке задействования которой ехидно сообщает: "Your guest account has expired. Please login again as a guest to get a new account."
** поскольку {{path|~/.ssh/known_hosts}} между перезагрузками сохранять негде, первое подключение вызовет необходимость подтвердить добавление host key
** <s>поскольку {{path|~/.ssh/known_hosts}} между перезагрузками сохранять негде, первое подключение вызовет необходимость подтвердить добавление host key
:: требуется формировать где-то после старта sshd на терминальном сервере файл в терминальном чруте
:: требуется формировать где-то после старта sshd на терминальном сервере файл в терминальном чруте </s>
:: [[LTSP/LTS.CONF]] - known_hosts сохранить в chroot/root/.ssh/


== Ссылки ==
== Ссылки ==
Строка 24: Строка 60:
* http://www.nomachine.com/documents/configuration/client-guide.php
* http://www.nomachine.com/documents/configuration/client-guide.php
* http://www.telemedia.ch/publ/ltsp-howto.html
* http://www.telemedia.ch/publ/ltsp-howto.html
{{Category navigation|title=LTSP|category=LTSP|sortkey=*}}

Текущая версия от 08:46, 13 декабря 2012


Цель

Возможность предоставления NX-сессии с тонкого клиента может быть сочетанием плюсов обеих технологий: простое администрирование бездисковых терминалов и отделяемые сессии (они же доступны и удалённо через узкие каналы связи толстым клиентам, но это как раз ортогонально к сетевой загрузке и уже некоторое время было реализовано).

Средство

Скрипты Dimitar Paskov после адаптации Mike Grozak ещё чуточку доведены и упакованы в ltsp-client-nxsession. Этот пакет можно установить в чруте (по умолчанию /var/lib/ltsp/i586) и добавить там же в /etc/lts.conf строчку вроде

SCREEN_08=nx

В 5.1/branch существует ltsp-nxclient упаковки lav@ с подобными идеями, но несколько иной реализацией. Надо бы добраться помержить всё лучшее из них обоих.


LTSP/LTS.CONF - реализация с кучей возможностей. Инструкция в файле start_nx. Запускать SCREEN_08=nx параметры

Результат

school-5.0.0-20100315-school-terminal-i586-ru-install-dvd5.iso (если ссылка устареет, гляньте в каталог).

В Альт Линукс 5.0.1 Школьный Терминал не вошло -- обстоятельства сложились так, что образ был зафиксирован 12.03.2010, а доработка завершилась 15.03.2010. Раскачиваться раньше надо, эх :)

В школьный 5.0.2 вошло, но опять же в экспериментальном виде: приходится вручную вписывать в lts.conf и после перезагрузки терминала соглашаться в ответ на предупреждение ssh насчёт опять ставшего неизвестным host key. Но зато оборванная было сессия возвращается. Ниже решение

Недочёты

По состоянию на 14.03.2010 наблюдаются такие:

  • не работает звук (nxesd явно не дружит с pulseaudio, также см. микшер)
когда починим, будет иметь смысл включать по умолчанию, надеюсь
звук работает через Pulseaudio, host брать из NXUSERIP

Стартовать звук и носители для NX например так:

if [ -z $NXUSERIP ] ; then
   HOSTNAME=`echo ${DISPLAY} | cut -f1 -d: | awk -F . {' print $1 '}`
   export PULSE_SERVER=$HOSTNAME
else
   export PULSE_SERVER=$NXUSERIP
   [ -r /usr/bin/fusermount ] && /путь/lbus-start.sh
fi


  • не пробрасываются локальные носители
требуется доработать хак lbussd для совместимости и с обычным ALTSP
а надо ли средствами NX пробрасывать носители? Если машина в локальной сети, то пойдет и lbussd, если удаленная, то завернутая например в openvpn.
lbus_event_handler.sh
-WS=${DISPLAY/:*/}
+if [ -z "${NXUSERIP}" ] ; then
+   WS=${DISPLAY/:*/}
+else
+   WS=${NXUSERIP}
+fi
LTSP/LTS.CONF - берет пользователя из $HOSTNAME или можно задавать в lts.conf
    • оставляет включабельной галочку "Login as a guest user", при попытке задействования которой ехидно сообщает: "Your guest account has expired. Please login again as a guest to get a new account."
    • поскольку ~/.ssh/known_hosts между перезагрузками сохранять негде, первое подключение вызовет необходимость подтвердить добавление host key
требуется формировать где-то после старта sshd на терминальном сервере файл в терминальном чруте
LTSP/LTS.CONF - known_hosts сохранить в chroot/root/.ssh/

Ссылки