27 мар. 2011 г.

RX@Etersoft (ex. NX) Новые сведения.

Много байт утекло с тех пор, когда был написан пост о процессе установки и настройки NX-сервера на сервере с Debian'ом. Не скажу, что кардинально все поменялось, но кое-что освежить стоит.
Итак, на сегодняшний день по-прежнему практически единственным средством реализовать терминальный linux-сервер остается решение от NoMachine. Простота развертывания, защищенность передачи данных сеанса, скромные требования к ширине канала - все это в комплексе и без финансовых  затрат на ПО (при использовании свободных версий, конечно)  реализуется с помощью пары nxserver+nxclient. К тому же клиентская часть кросплатформенна, что во многом имеет определяющее значение.
В своей практике я использую решение от компании "Этерсофт", сейчас это два пакета - сам сервер nx-3.4.0, и их доделки-допилки - rx-etersoft. Выбрать сборку для своего дистрибутива (ссылки даны для Debian 5.0 Lenny) можно там же, поднявшись на пару уровней выше. Установка по сравнению с прошлым постом упростилась - нужно установить эти два пакета и выполнить команду rxsetup (и то и другое, конечно же, от имени суперпользователя). В директории, откуда rxsetup выполнялся, создастся файл rxsetup.log, заглянув в который, можно поглядеть подробности установки и справиться о наличии ошибок. 
Да, в некоторых дистрибутивах в базовой поставке отсутствует netcat и expect, которые используются в работе rx, поэтому их следует установить. Пару раз сталкивался, что отсутствовал пакет binutils, который также необходим для корректной настройки и работы rx-сервера. Таким образом, получатся такая последовательность команд:
delayer@inspire:~$ mkdir rxtemp
delayer@inspire:~$ cd rxtemp
delayer@inspire:~/rxtemp$ wget -c ftp://ftp.etersoft.ru/pub/Etersoft/RX%40Etersoft/1.1.1/Debian/5.0/nx_3.4.0-eter13.3debian_i386.deb
delayer@inspire:~/rxtemp$ wget -c ftp://ftp.etersoft.ru/pub/Etersoft/RX%40Etersoft/1.1.1/Debian/5.0/rx-etersoft_1.1.1-eter8debian_i386.deb
delayer@inspire:~$ su -
inspire:/home/delayer/rxtemp# aptitude update && aptitude install netcat expect binutils
inspire:/home/delayer/rxtemp# dpkg -i nx_3.4.0-eter13.3debian_i386.deb rx-etersoft_1.1.1-eter8debian_i386.deb
inspire:/home/delayer/rxtemp# rxsetup
inspire:/home/delayer/rxtemp# /etc/init.d/freenx-restart
Теперь можно ставить на клиентскую рабочую станцию клиента - или "ванильного" от NoMachine (win, lin), или сборку "community edition" (win), которую усиленно пилят резиденты unixforum-a во главе с dimbor'ом (за что и огромный респект, ибо попилено немеряно). Уточню, что хотя сборки NXClientCE можно взять не только в соотвествующих ветках самого unixforum'а, но и на ftp-сервере "Этерсофта" (там же, где и rx), сама компания к разработке этого продукта отношения не имеет. Это неочевидно, но тем не менее.
Практика использования rx показала, что нет надобности делать nxserver --adduser, все прекрасно и "из коробки" работает с существующими системными (или ldap) пользователями. Авторизация происходит аналогично обычному ssh-логину, с той лишь разницей, что сначала по ключу авторизуется специальный пользователь nx, а от его имени уже происходит дальнейшая авторизация заданного в настройках подключения пользователя. 
В качестве клиента я бы рекомендовал использовать сборку Community Edition, так в ней поправлены многие проблемы с раскладкими, кодировками, буфером обмена, работой в rootless-режиме и много чего еще. Всю биографию NXClientCE можно попытаться осилить - труд "Курощение.." находится тут.
Предложенная связка уже не первый год работает более чем в двух десятках различных организаций Кирова и области, "боевой" опыт использования имеет место быть. Как показывает статистика посещений моей странички, прошлый пост по этой теме практически с момента публикации держится в топе посещаемости относительно всех остальных заметок  Посему тема, выходит, достаточно востребована и популярна.

7 комментариев:

  1. Сделал:
    root@debian:/home/user/rxtemp# rxsetup
    Configuration error, see rxsetup.log for details
    В rxsetup.log:
    passwd: разблокировка пароля приведёт к появлению беспарольной учётной
    записи. Вы должны задать пароль с помощью usermod -p для разблокировки учётной $
    Подскажите что нужно сделать?

    ОтветитьУдалить
  2. включил пользователя nx
    rxsetup не выполнятся:
    root@debian:/home/user/rxtemp# rxsetup
    Configuration error, see rxsetup.log for details
    Содержимое файла rxsetup.log
    passwd: password expiry information changed.
    /usr/bin/rxsetup: line 26: return: : требуется числовой аргумент
    Что делать дальше?

    ОтветитьУдалить
  3. Ну, вообще я игнорирую это сообщение, так как пользователь nx авторизуется в системе по ключу, нет необходимости делать какие бы то ни было манипуляции с паролем. По поводу второго сообщения сказать на сей момент ничего не могу, надо поглядеть, что там в /usr/bin/rxsetup в line 26 и чуть раньше. Может, тогда возникнет понимание, чего ему надобно. Также вопрос вызывает сообщение об изменении даты окончания действия пароля. Надо поглядеть, когда у этого пользователя выставлена эта дата. Так как я с телефона, не могу подсказать конкретные команды.

    ОтветитьУдалить
  4. Спасибо за быстрый ответ!

    В rxsetup в 26 строке идет :
    26 return "$RETVAL"

    Начало rxsetup такое:

    #!/bin/bash
    # Etersoft, 2010
    # 2010 (c) Devaev Maxim,
    # 2010 (c) Baranov Denis,
    #
    # rxsetup - script for fast configuration of NX
    #
    #####

    unlock_nx_user()
    {
    passwd -u nx
    }

    start_sshd()
    {
    # FIXME Lav: нужно воспользоваться distr_vendor для определения системы
    for sshd in ssh sshd openssh opensshd; do
    if [ -e /etc/init.d/$sshd ]; then
    /etc/init.d/$sshd start
    RETVAL="$?"
    chkconfig $sshd on || update-rc.d $sshd defaults
    fi
    done

    return "$RETVAL"
    }

    enable_cupsd()
    {
    chmod 755 /usr/sbin/cupsd && \
    chmod 711 /usr/lib/cups/backend/ipp
    }

    nx_install()
    {

    ОтветитьУдалить
  5. Исправил 2 свои ошибки

    1)исправил дату на компе (стоял 2000 год)
    2)поставил пакеты rssh, openssh-server
    После этого:
    root@debian:/home/user/rxtemp# rxsetup
    Configuration error, see rxsetup.log for details
    В rxsetup.log:
    passwd: password expiry information changed.
    Starting OpenBSD Secure Shell server: sshd.
    Setting up /etc/nxserver ...done
    Setting up /var/lib/nxserver/db ...done
    Setting up /var/log/nxserver.log ...done
    Setting up known_hosts and authorized_keys2 ...done
    Setting up permissions ...done

    ----> Testing your nxserver configuration ...

    ОтветитьУдалить
  6. Для верности перезапустить freenx-server, и можно работать ;)
    Сами справились, гут.

    ОтветитьУдалить
  7. Вопрос немного не по теме: есть ли возможность как-то изменять параметр color depth? Требуется для ускорения работы на слабых каналах связи.

    ОтветитьУдалить