FreeNX: различия между версиями

Материал из ALT Linux Wiki
(→‎Установка FreeNX: Уточнения по процедуре настройки)
Строка 43: Строка 43:
</code>
</code>


и проверить
При этом выполнится скрипт, настраивающий FreeNX. Скрипт спросит, использовать для сервера "общий" ключ NoMachine или локальный и порекомендует использовать общий. Если подключения будут произодиться из разных мест, лучше выполнить рекомендацию и использовать общий ключ. Тогда пользователи смогут подключаться, используя клиент от NoMachine:
<code>------> It is recommended that you use the NoMachine key for
        easier setup. If you answer "y", FreeNX creates a custom
        KeyPair and expects you to setup your clients manually.
        "N" is default and uses the NoMachine key for installation.
 
Do you want to use your own custom KeyPair? [y/N] N
Setting up /etc/nxserver ...done
</code>
 
Затем скрипт проверит конфигурацию и укажет, что желательно исправить. Сообщения "Warning:" можно проигнорировать.
 
Повторно проверить настройки и совместимость с другими компонентами можно командой
<code>
<code>
     /etc/init.d/freenx-server check
     /etc/init.d/freenx-server check
</code>
или
<code>
    nxloadconfig --check
</code>
</code>



Версия от 17:09, 31 марта 2016

Установка 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

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

   apt-get install nx freenx-server

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

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

   /etc/init.d/freenx-server setup

При этом выполнится скрипт, настраивающий FreeNX. Скрипт спросит, использовать для сервера "общий" ключ NoMachine или локальный и порекомендует использовать общий. Если подключения будут произодиться из разных мест, лучше выполнить рекомендацию и использовать общий ключ. Тогда пользователи смогут подключаться, используя клиент от NoMachine: ------> It is recommended that you use the NoMachine key for

       easier setup. If you answer "y", FreeNX creates a custom
       KeyPair and expects you to setup your clients manually. 
       "N" is default and uses the NoMachine key for installation.
Do you want to use your own custom KeyPair? [y/N] N

Setting up /etc/nxserver ...done

Затем скрипт проверит конфигурацию и укажет, что желательно исправить. Сообщения "Warning:" можно проигнорировать.

Повторно проверить настройки и совместимость с другими компонентами можно командой

   /etc/init.d/freenx-server check

или

   nxloadconfig --check

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

   ----> Testing your nxserver configuration ...
   Warning: Invalid value "CUPS_ETC=/etc/cups/"
            Users will not be able to enable printing.
   Warning: Invalid value "COMMAND_START_CDE=cdwm"
            Users will not be able to request a CDE session.
   Warning: Invalid cupsd version of "/usr/sbin/cupsd". Need version 1.2.
            Users will not be able to enable printing. Ignore if you use cups > 1.2
     Warnings occured during config check.
     To enable these features please correct the configuration file.
   <---- done
   ----> Testing your nxserver connection ...
   HELLO NXSERVER - Version 3.2.0-74-SVN OS (GPL, using backend: 3.4.0)
   <--- done

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

Комментарий

Для использования теневого (shadowing) подключения к пользовательским сессиям требуется утилита netstat из пакета net-utils, которая в дистрибутивах P7 по умолчанию не ставится. Таким образом для теневого подключения на сервере надо выполнить от root:

   apt-get update
   apt-get install net-utils

Источники

Хинты

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

Проблемы

  • Если в выводе service freenx-server check вы видите следующие сообщения
Warning: "/usr/lib/cups/backend/smb" is not executable.
         Users will not be able to enable printing.

и вы планируете использовать проброс принтеров, то вам необходимо поставить пакет samba-client .

  • Если в выводе service freenx-server check вы видите следующие сообщения
Warning: Invalid permissions on "/sbin/mount.cifs". Valid permissions are "4711". You'll not be able to use SAMBA. 
Warning: Invalid permissions on "/sbin/umount.cifs". Valid permission are "4711". You'll not be able to use SAMBA. 

и вы планируете использовать проброс CIFS-ресурсов, то вам необходимо выполнить нижеприведенные команды:

# control cifsmount public
# control cifsumount public

ВНИМАНИЕ: В этом случае, монтирование CIFS-ресурсов будет доступно всем пользователям.

  • На 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 решает проблему

Ссылки