FreeNX

Материал из ALT Linux Wiki
Версия от 03:58, 21 апреля 2009; Ilis (обсуждение | вклад) (Установка FreeNX)
Перейти к: навигация, поиск

Установка freenx сервера терминалов на ALT Linux Desktop. От «А» до «Я»

Цель данной статьи — описать типовой процесс создания сервера терминалов с учётом особенностей ОС ALT Linux Desktop. В данном посте изложен мой личный опыт, ни в коем случае не претендующий на академичность. Я просто хочу немного систематизировать те разрозненные куски информации на тему «FreeNX+ALT Linux», что имеются в глобальной сети.

Немного теории

Описание протокола NX

Описание протокола NX на www.gnome.org. Не пинайте за перевод. :)

Основной идеей протокола NX является дифференциальное сжатие данных X-сервера и уменьшение количества передаваемых данных с помощью прокси-сервера. Идея дифференциального сжатия изначально была реализована в протоколе DXPC (Дифференциальный Компрессор X-Протокола), в 1995 году. На основе этих разработок компания NoMachine создала свой коммерческий (но в основной массе открытый) продукт. Также существует полностью открытая и бесплатная реализация NX — FreeNX. Мы будем использовать именно FreeNX.

Установка FreeNX

Я не буду останавливаться на установке самого ALT Linux’а. Если нужно подробное руководство, то можно найти его, например, здесь . Итак, будем считать, что у вас на компьютере установлен ALT Linux Personal Desktop версии 4.0.* (у меня стоит 4.0.2). Компьютер также должен иметь выход в Интернет. Для начала запустим ssh-сервер, по каналу которого и происходит обмен данными между сервером и клиентами nx. Для этого в терминале набираем su, затем вводим пароль суперпользователя. Затем набираем

   service sshd start
   chkconfig sshd on

SSH — сервер сгенерирует ключевую пару и впредь будет автоматически запускаться при старте системы. Проверим, включён ли у вас официальный репозиторий. После этого вводим строку kwrite /etc/apt/sources.list. Откроется файл, в котором должны быть следующие строки:

   rpm ftp://ftp.altlinux.org/pub/distributions/ALTLinux/4.0/branch/ i586 classic
   rpm ftp://ftp.altlinux.org/pub/distributions/ALTLinux/4.0/branch/ noarch classic

Если этих строк нет, то добавьте их. Далее необходимо обновить ваш список пакетов. Сохраняемся и выходим из редактора, в консоли от имени суперпользователя набираем apt-get update. С официального сервера ALT Linux загрузится список всех содержащихся там пакетов. ПО для ALT Linux поставляется в виде *.rpm — пакетов. Сравнительно недавно у этих пакетов поменялся метод сжатия. Для поддержки нового LZMA метода сжатия нам необходимо обновиться. Для этого от имени суперпользователя набираем следующие строки:

   apt-get install ‘rpm>=4.0.4-alt93′
   apt-get --reinstall update

  • NB: нижеследующий абзац может оказаться последним для системы на базе Desktop 4.0, надо будет сделать бэкпорт freenx и поместить в 4.0/branch (как вариант — можно взять src.rpm и rpm --rebuild их локально)

К сожалению, пакеты nx и freenx отсутствуют в официальном репозитории ALT Linux, поэтому нам придётся подключить репозиторий Sisyphus. Для этого снова открываем файл sources.list с помощью kwrite /etc/apt/sources.list и добавляем туда строки

   rpm [alt] ftp://ftp.altlinux.ru/pub/distributions/ALTLinux/Sisyphus/ i586 classic
   rpm [alt] ftp://ftp.altlinux.ru/pub/distributions/ALTLinux/Sisyphus/ noarch classic

Затем вводим следующие строки:

   apt-get update
   apt-get install nx freenx

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

После этого нам остается завершить установку командой

   nxsetup --install --setup-nomachine-key

Если в терминале выведется нечто вроде

   —-> Testing your nxserver connection ...
   HELLO NXSERVER - Version 2.1.0-73-SVN OS (GPL, using backend: 3.2.0)
   NX> 105 quit
   Quit
   NX> 999 Bye
   <— done
   Ok, nxserver is ready.
   PAM authentication enabled:
   All users will be able to login with their normal passwords.
   PAM authentication will be done through SSH.
   Please ensure that SSHD on localhost accepts password authentication.
   You can change this behaviour in the /etc/nxserver/node.conf file.
   Have Fun!

Значит всё прошло успешно. После этого к серверу можно будет подключаться с помощью клиента от NoMachine, используя те же учётные записи, что и для локального входа в систему.

Источники

Хинты

  • Полноэкранный режим (fullscreen mode): Ctrl-Alt-F

Проблемы

  • На ALT Desktop 4.0 команда lpadmin не понимает имя драйвера в виде

#lpadmin -p HPLaserJet -m foomatic-ppdfile:HP-LaserJet_9040-hpijs.ppd
lpadmin: Unable to copy PPD file!

Правильный вид

#lpadmin -p HPLaserJet -m foomatic:HP-LaserJet_9040-hpijs.ppd

Из-за этого на сервере драйвер для принтера не выставляется. Решается в скрипте /usr/bin/nxprint заменой команды у awk

с
printf("driver|%s%s|%s|%s|%s\n",$4,A,$6,$2,substr($3,2)) } '
на
printf("driver|%s%s|%s|%s|%s\n",$4,A,$6,"foomatic"substr($2,index($2,":")),substr($3,2)) } '

  • Если клиенты цепляются с ALT Desktop 4.0, то есть проблема с печатью, т.к. существует бага в dbus 1.0.2, из-за которой у процесса cupsd (на стороне клиента) не закрываются pipe'ы и со времен их кол-во переполняет верхний потолок кол-ва разрешенных открытых файлов [1]. Апгрейд у клиента пакетов libdbus и dbus из branch 4.0 решает проблему

Ссылки

Пакеты для ALT Linux готовит компания Etersoft в рамках разработки продукта RX@Etersoft.