Серверная часть
Для начала необходимо запустить терминал:
Приложения > Системные > Терминал
Далее входим как root:
$ su -
Устанавливаем пакеты nx и freenx-server
# yum install nx freenx-server
Далее отредактируйте файл конфигурации ssh-сервера:
# gedit /etc/ssh/sshd_config
Раскоментируйте и измените значения следующих ключей:
PubkeyAuthentication yes
AuthorizedKeysFile authorized_keys2
PermitEmptyPasswords yes
Перезапустите ssh-сервер:
# service sshd restart
Настройте фаервол:
Система > Администрирование > Межсетевой экран
В "Доверенных службах" отметьте галочками следующие службы:
Samba
SSH
Клиент Samba
Клиент сетевой печати (IPP)
Сервер сетевой печати (IPP)
Нажмите "Применить" и закройте окно Настройки межсетевого экрана.
Теперь необходимо создать несколько ссылок на библиотеки:
# ln -s /usr/lib/nx/libXcomp.so.3 /usr/lib/nx/libXcomp.so
# ln -s /usr/lib/nx/libXcompext.so.3 /usr/lib/nx/libXcompext.so
# ln -s /usr/lib/nx/libXrender.so.1.2.2 /usr/lib/nx/libXrender.so.1.2
И отредактируйте установочный скрипт:
# gedit /usr/libexec/nx/nxsetup
Найдите строку содержащую:
passwd -u nx
И измените на:
passwd -uf nx
Теперь можно и нужно запустить этот скрипт со следующими параметрами:
# /usr/libexec/nx/nxsetup --install --setup-nomachine-key --clean --purge
Если всё в порядке, то в выведенном тексте будет содержаться кроме всего прочего:
----> Testing your nxserver connection ...
HELLO NXSERVER - Version 3.2.0-73 OS (GPL, using backend: 3.2.0)
NX> 105 quit
Quit
NX> 999 Bye
<--- done Ok, nxserver is ready.
Если будет содержать:
----> Testing your nxserver connection ...
Permission denied (publickey,gssapi-with-mic,password).
Fatal error: Could not connect to NX Server.
То, нужно перезапустить ssh-сервер:
# service sshd restart
И снова выполнить:
# /usr/libexec/nx/nxsetup --install --setup-nomachine-key --clean --purge
Добавляем в автозапуск скрипт для установки правильных параметров клавиатуры:
# gedit /etc/xdg/autostart/setxkmap.desktop
И вставляем в него следующие строки:
[Desktop Entry]
Version=1.0
Encoding=UTF-8
Name=Fix keyboard settings
Exec=setxkbmap -rules xorg -model pc105 -layout "us,ru" -variant ",winkeys" -option "grp:ctrl_shift_toggle"
Terminal=false
Type=Application
Осталось добавить пользователей, например user01:
# useradd -m user01
И установить ему пароль:
# passwd user01
На этом установка и настройка сервера FreeNX закончилась.
Клиентская часть
Зайдите на сайт разработчиков этого терминального сервера:
И скачайте бесплатное клиентское приложение.
Для Windows - "NX Client for Windows". Установка простая и ничем не отличается от любой другой программы.
Для Fedora - "NX Client for Linux" и выбираем "NX Client RPM for Linux - i386".
Сохраните rpm-пакет, например, в папку Загрузки в Вашей домашней папке.
Запустите терминал:
Приложения > Системные > Терминал
Перейдите в папку со скаченым rpm-пакетом:
$ cd Загрузки
Установите приложение:
$ su -c 'rpm -Uhv nxclient*'
Теперь его можно запустить:
Приложения > Интернет > NX Client for Linux > NX Connection Wizard
Введите назнание сессии и IP-адрес или доменное имя сервера. Тип соединения оставьте ADSL.
В качестве рабочего окружения выберите GNOME.
Оставьте галочку Create shortcut on desktop, чтобы создать ярлык на рабочем столе.
Введите имя пользователя и пароль действительные на сервере.
При первом запуске подтвердите действительность ключа безопасности.
После этого появится окно показывающее процесс подключения.
И наконец Вы увидите Ваш удалённый рабочий стол!
Спасибо
ОтветитьУдалитьПотрясающе! Огромное спасибо!
ОтветитьУдалитьпопробывал сделать для f14 подключатся загружает сесию и после этого пишет negotiating link parameters
ОтветитьУдалитьМожно ли по подробнее сказать о каких проблемах с клавиатурой идет речь:"автозапуск скрипт для установки правильных параметров клавиатуры:"?
ОтветитьУдалитьУ меня на openSUSE 11.4 используется FreeNX-0.7.2-29.1.x86_64.rpm (из X11:RemoteDesktop/openSUSE_11.4) так вот при подключении к серверу неазвисимо от клиента ("NX Client for Linux" или "Remmina") стабильно возникает проблема в обработке управляющих клавиш, анализ работы клавиатуры выполняю через "Show Current Layout/Показать текущую раскладку", далее полный перечень проблемных клавиш (первае - нажимаемая клавиша, второе - отрабатываемое действие):
1. "Cursor Up" - "Print Screen";
2. "Cursor Left" - "Alt-R";
3. "Cursor Right" - не обрабатывается;
4. "Cursor Down" - не обрабатывается;
5. "Super/Win-L" - не обрабатывается;
6. "Super/Win-R" - не обрабатывается;
7. "Alt-R" - "Enter-num pad";
8. "Menu" - не обрабатывается;
9. "Ctrl-R" - "Page Down";
10. "Insert" - не обрабатывается;
11. "Delete" - не обрабатывается;
12. "Home" - "Pause";
13. "End" - "Super/Win-L";
14. "Page Up" - "/ - num pad";
15. "Page Down" - не обрабатывается;
16. "/ - num pad" - "Insert";
17. "Enter-num pad" - "Cursor Down".
Поиск в Гугле дал ссылу на подобную проблему - http://askubuntu.com/questions/15693/incorrect-key-mappings-in-remote-nx-session
Спасибо! Инструкция очень помогла.
ОтветитьУдалитьСначала застрял на ошибке:
Setting up special user "nx" ...useradd: невозможно создать каталог /var/lib/nxserver/home
Потом подправил скрипт /usr/libexec/nx/nxsetup:
заменил mkdir -p $(dirname "$NX_HOME_DIR")
на mkdir -p $NX_HOME_DIR"
и установка прошла до конца.
Спасибо! Инструкция очень помогла.
ОтветитьУдалитьСначала застрял на ошибке:
NX> 148 Server capacity: not reached for user: user01
потом исправил скрипт /usr/libexec/nx/nxserver (построчно) :
< if $COMMAND_NETCAT --send-only "$SERVER_HOST" $PROXY_DISPLAY if $COMMAND_NETCAT --send-only "$SERVER_HOST" $PROXY_DISPLAY /dev/null
1504c1504
< if [ "$(getparam 'samba')" = 1 ] && $COMMAND_NETCAT --send-only "$SERVER_HOST" $SAMBA_DISPLAY if [ "$(getparam 'samba')" = 1 ] && $COMMAND_NETCAT --send-only "$SERVER_HOST" $SAMBA_DISPLAY /dev/null
1512c1512
< if [ "$(getparam 'media')" = 1 ] && $COMMAND_NETCAT --send-only "$SERVER_HOST" $MEDIA_DISPLAY if [ "$(getparam 'media')" = 1 ] && $COMMAND_NETCAT --send-only "$SERVER_HOST" $MEDIA_DISPLAY /dev/null
1521c1521
< if [ "$(getparam 'cups')" = 1 ] && $COMMAND_NETCAT --send-only "$SERVER_HOST" $CUPS_DISPLAY if [ "$(getparam 'cups')" = 1 ] && $COMMAND_NETCAT --send-only "$SERVER_HOST" $CUPS_DISPLAY /dev/null
1640c1640
< $COMMAND_NETCAT $SERVER_HOST $PROXY_DISPLAY
---
> $COMMAND_NETCAT $SERVER_HOST $PROXY_DISPLAY 2>/dev/null