Создан: 20.02.2008
Модиф: 05.08.2009
Аркадий Иванов
Совершенно стандартная задача для сисадмина - это обеспечить самому себе удалённый доступ к компьютерам сети. Чем более быстрый и удобный доступ будет, тем комфортнее будет жизнь сисадмина. Зачастую надо сделать разделяемый доступ, т.е. смотреть, что вытворяет юзер, или наоборот показать юзеру, как надо расправляться с проблемой. Некоторые пакеты позволяют сохранить рабочую сессию на сервере (VNC, FreeNX). Штука удобная, но если юзер оставляет включенные скринсейверы, программы, которые блокируют доступ других пользователей к базе (например 1C), этот режим может оказаться весьма обременительным для администрирования.
FreeNX
Для Linux разработчик "NOMACHINE" сделал программы бесплатными. Рекомендую именно его, поскольку у альтернативной свободной разработки для
сервера есть изрядные глюки.
===== Серверная часть =====
1. Скачать с http://www.nomachine.com свободные пакеты:
server,node,client
Вы можете скачать как RPM-вариант, так и TAR-вариант пакетов.
2. Остановить nscd:
service nscd stop
3. Установить пакеты и связанные с ними, если потребуется.
4. Если в sshd есть какая-то защита на уровне разрешённых имён пользователей, то добавить пользователя nx в директиву /etc/openssh/sshd_config
в список разрешённых пользователей. Это будет выглядеть примерно так:
AllowUsers masha vasya nx
После добавления перезапустить sshd:
service sshd restart
5. Запустить от root-a NX-сервер:
cd /usr/NX/bin
./nxserver --start
6. Всё, если глюков не словили, то сервер запущен и ждёт коннектов.
===== Клиентская часть =====
1. С http://www.nomachine.com скачивается клиент для Linux, Windows, ...
2. Пакет устанавливается из RPM или из tar-архива.
3. В Linux программа-клиент будет находиться в /usr/NX/bin/nxclient.
4. Вот её то и надо запустить. Дальше в диалоге укажете, куда подсоединяться и в каком режиме.
У себя я использую KDE-сессии.
После входа в систему на сервере необходимо обеспечить русскую раскладку клавиатуры:
xmodmap /usr/share/xmodmap/xmodmap.ru
setxkbmap -rules xorg -model pc105 -layout "us,ru" -variant ",winkeys" -option "grp:ctrl_shift_toggle,grp_led:scroll"
Эти строки я обычно вписываю в /usr/bin/startkde на сервере, чтобы для всех юзеров проблемы с раскладкой не существовало.
Примечание: файл xmodmap.ru живёт в пакете gnome-applets-gswitchit.
НЕДОСТАТКИ:
1.nxclient не позволяет открыть несколько сессий на один и тот же хост. Приходится отсоединяться от сессии и подключаться к другой.
Поиски в документации и в Интернете кроме аналогичных жалоб ничего не дали. :-(
2. При восстановлении сессии переключение раскладок не делается (поскольку kde не стартует заново).
ГЛЮКИ и ТАБЛЕТКИ
1.Если вы пытаетесь открыть несколько сессий на разные сервера, можете попасться на сообщение типа TCP 11000 порт уже занят.
Лечится проблема просто - на всех серверах, к которым вы собрались коннектиться, следует указать разные базовые порты для дисплеев.
В /etc/nxserver/node.conf раскомментируйте переменную DISPLAY_BASE и назначьте на разных серверах разные значения этой переменной,
например, 1000, 2000, 3000,...
RDESKTOP
Эта программа позволяет приконнектиться к рабочему столу Windows-серверов и Windows XP по протоколу RDP (Remote Desktop Protocol). В Windows XP предварительно надо открыть свойства "Мой компьютер", разрешить галочкой удалённое управление, добавить пользователя, которому разрешено удалённое управление, назначить ему пароль.
Простейшее подключение к Windows:
rdesktop -y hostname
Ключ -y сразу облегчит вам работу с клавиатурой. :)
В последних версиях xorg изменился драйвер клавиатуры, используемый по умолчанию.
Этот "evdev" не дружит с rdesktop.
Можно отказаться от него, создав в xorg.conf секцию для стандартного драйвера, и указав в секции ServerLayout:
Option "AutoAddDevices" "false"
Второй вариант - рецепт от Михаила Кангина:
Можно создать файл /usr/share/rdesktop/keymaps/en-us.fixed
со следующим содержимым:
---------
include common
map 0x409
asciicircum 0x07 shift
apostrophe 0x28
grave 0x29
asciitilde 0x29 shift
bar 0x2b shift
less 0x33 shift
greater 0x34 shift
-----------------------
и запускать rdesktop с параметром -k en-us.fixed
При этом корректно работает ввод со всех клавиш с любым сочетанием
раскладок на клиенте и сервере (en-en, ru-ru, en-ru, ru-en).