воскресенье, 16 декабря 2007 г.

FreeNX? Нет, NX free edition

С недавних пор встал вопрос как получить доступ к моему рабочему столу на домашнем компутере, где стоит Ubuntu. Погуглив и почитав доки, решил попробовать FreeNX.

Вообще для установки FreeNX много ума не надо, для Debian нашел мануал тут, для Ubuntu нашел мануал тут(правда установка из исходников).

Debian`овский мануал отлично подошёл, как и предполагалось, и для Ubuntu.
Для начала нужно установить пакет libstdc++2.10-glibc2.2(он нужен FreeNX), кроме того должен быть уже установлен ssh. Дело в том, что FreeNX использует 22 порт для соединения и, соответственно, шифрует подключения, что есть плюс.

Ставим


aptitude install libstdc++2.10-glibc2.2 ssh


Далее скачиваем deb пакеты и устанавливаем их

wget http://64.34.161.181/download/2.1.0/Linux-NoXft/nxclient_2.1.0-17_i386.deb

wget http://64.34.161.181/download/2.1.0/Linux/nxnode_2.1.0-22_i386.deb

wget http://64.34.161.181/download/2.1.0/Linux/FE/nxserver_2.1.0-22_i386.deb


Такой порядок обязателен, строго обязателен

dpkg -i nxclient_2.1.0-17_i386.deb

dpkg -i nxnode_2.1.0-22_i386.deb

dpkg -i nxserver_2.1.0-22_i386.deb


В общем-то все. Сервер установлен. Проверьте, запустились ли у вас сервисы(nxserver and ssh), если нет - запустите :)

Скачать windows клиент для FreeNX можно здесь. Установка тривиальна и не нуждается в дополнительных пояснениях.

Установка debian`овского клиента сводится к знакомым до боли командам :)


wget http://64.34.161.181/download/2.1.0/Linux-NoXft/nxclient_2.1.0-17_i386.deb

dpkg -i nxclient_2.1.0-17_i386.deb


Важно: подключаться к удаленному десктопу можно только используя ДРУГУЮ учетную запись на удаленном компьютере. Т.е. если на удаленном компьютере уже запущены иксы, используя учетную запись vasya, то с такой же учетной записью подключиться к этому компьютеру удаленно через NX free edition не получиться, будет ругаться на невозможность получить доступ к файлу ~/.Xauthority.

В понедельник поставлю клиент на рабочую Ubuntu и протестирую как оно работает через internet с unix машины на unix машину. Дома же, через локалку с Windows машины зашел на свой Ubuntu`овский десктоп без каких-либо проблем и подводных камней.





UPD: я тут всех немножко обманул, простите.
На самом деле я ставил не FreeNX, а NX free. Разница в следующем
What is the difference between FreeNX and NoMachine's NX?

The difference is roughly that:

* NoMachine develops a commercial management platform in addition to the libraries they release as OSS.
* NoMachine offers customers commercial support.
* NoMachine develops cross-platform clients that are freely usable, the nxc-client from the FreeNX-project is under development along with the moznx (which is a mozilla-plugin based client).
* The NoMachine server has sound- and Samba/SMB-support, while this is at an experimental stage in the FreeNX server.

Т.е. FreeNX - это полностью свободный и он такой один, последняя версия - 0.7.1. Получается, что freeNX что-то типа форка nx free, ибо freenx использует core libs самого nx free edition.
То, что поставил и описал я - это NX free edition - детище компании NOMACHINE.COM, это свободная бесплатная версия с открытыми исходниками. Отличия в том, что NX free edition продвинутей (sound, smb работает, в freenx только планируется).
P.S. Будем копать дальше...

24 комментария:

GiNeR комментирует...

Отлично! Спасибо.
Небольшое упрощение установки:
1. sudo dpkg -i *.deb (или же sudo dpkg -i pack1.deb pack2.deb pack3.deb) - в этом случае порядок не важен.
2. После установки запускаем sudo apt-get install -f и необходимые библиотеки подгружаются сами.

virens комментирует...

То есть это типа RemoteDesktop? В смысле, видишь что реально происходит на чужом десктопе?

И ещё вопрос: а можно подключиться к уже работающей сессии (к текущей)?

И спасибо за пост.

fabiaN комментирует...

giner, спасибо за замечания :)

virens
Михаил, спасибо за вопросы, они меня заставили перелопатить ещё немножко доков, в результате чего появился UPD поста.
>> То есть это типа RemoteDesktop? В смысле, видишь что реально происходит на чужом десктопе?
Вот это вряд ли... ещё почитаю, поразбираюсь, но пока что не встречал в доках упоминания о такой фиче. Таки не аналог radmin под win* :)

>> И ещё вопрос: а можно подключиться к уже работающей сессии (к текущей)?
Заявлено, что так делать можно, функция называется "shadowing", правда у меня не получилось (пробовал впопыхах, на ночь глядя), возможно потому что я ставил довольно-таки старую версию 2.1, в то время как есть 3.1.0-2.
В документации к freeNX проблема решается так: локально клиентом заходишь на 127.0.0.1, и удаленно заходишь на рабочий стол - получается в одной X11 сессии. :)

Анонимный комментирует...

А в чем отличие от VNC? В Ubuntu VNC работает из коробки...

Анонимный комментирует...

Попробовал. Интересная вещь. Буду юзать наравне с VNC, что встроен.

P.S. А вы забыли добавить слово install в строке:
aptitude install libstdc++2.10-glibc2.2

fabiaN комментирует...

SolarWind, с VNC, признаться, работал мало, только на работе изредка и по локалке. А вообще читал отзывы, что VNC помедленне чем NX. Если объективно - то поддержка ширования "из коробки" (для VNC насколько я понимаю дополнительные телодвижения нужны).
Кстати, как дела у VNC со звуком, самбой?

virens, прочитал на опеннете как один товарищ смог реализовать NX аля radmin. Будем пробовать :)

sdvn, спасибо, подправил.

Анонимный комментирует...

Вопросы:
1) Т.е. подключение идёт не к реальным X'сам, а создаётся новая сессия?
2) Как с переключением языков рус/англ обстоят дела?

fabiaN комментирует...

>> gentoo.blog.ru
на моей установленной второй версии с раскладкой наблюдаются проблемы- то есть не переключается.
Вопрос по поводу приаттачивании к уже существующей сессии - открыт. На выходных буду разбираться.

GiNeR комментирует...

"virens пишет...

То есть это типа RemoteDesktop? В смысле, видишь что реально происходит на чужом десктопе?

И ещё вопрос: а можно подключиться к уже работающей сессии (к текущей)?"

Да, это что-то типа, но несколько круче.
Раньше я использовал ssh X forwarding для себя и VNC для того, чтобы подключиться к существующей сесии, но X forwarding неадекватен на слабом канале, а у VNC вообще много проблем.

На сколько я внимательно посмотрел NX умеет всё, что умеют rdesktop, vnc вместо взятые (и даже немного больше, кое-что от citrix, но в отличии от nx стабилен) всё это работает адекватно даже при нешироком канале.

Ответ на вопрос: к работающей сессии подключиться можно.
PS: на сайте есть уже третья версия для debian и ubuntu в том числе.

GiNeR комментирует...
Этот комментарий был удален автором.
GiNeR комментирует...

На тему переключения раскладки есть два решения, хотя ни одно из них не идеально и не блещет красотой.

Первое: в файле /etc/X11/xkb/keymap/xfree86 на СЕРВЕРЕ добавить (см. setxkbmap -print)
xkb_keymap "en_ru" {
xkb_keycodes { include "xfree86+aliases(qwerty)" };
xkb_types { include "complete" };
xkb_compat { include "complete+ledcaps(group_lock)" };
xkb_symbols { include "pc(pc105)+us+ru(winkeys):2+group(caps_toggle)" };
xkb_geometry { include "pc(pc105)" };
};
и в конфиге nx КЛИЕНТА установить раскладку en_ru вместо дефолтной.


Второе: после логона на сервер запускать
setxkbmap -rules xorg -model pc105 -layout "us,ru" -variant ",winkeys" -option "grp:caps_toggle"

Анонимный комментирует...

Поставил net-misc/nxserver-freenx (у меня gentoo). Пока по впечатлениям - офигенная штука!!!

Работает OpenGL, kxkb (пишу по-русски сейчас как раз удалённо через freenx). Видео показывает влёгкую без тормозов, я в шоке.

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

Главное что рус/англ работает без проблем! И это при коннекте не к реальным иксам, а к виртуальной сессии.

Анонимный комментирует...

PS видео правда только в маленьком окошке идёт не как слайдшоу ;)

Немного не понял момента с созданием пользователей. Надо ли делать: "nxserver --adduser username", если и так работает... И если надо, то зачем?

И не разобрался пока как подключиться к реальным иксам (7ой консоли, где крутится приглашение kdm).

Анонимный комментирует...

Насколько я понял, в NX free edition сильно ограничено количество одновременно запущенных сессий. Поправьте, если я ошибаюсь?

fabiaN комментирует...

Все верно, в бесплатной версии их может быть всего 2. Хотите больше - платите. Либо пользуйтесь менее функциональной, но зато полностью свободной FreeNX.

Анонимный комментирует...

Так всетаки что ставили: freeNX или сборку от NoMachine в которой ограничения на 2 соединения и 2 пользователя или сами собирали из исходников?

fabiaN комментирует...

Ставил NX free edition - детище компании nomachine.com. Ставил, как видно из заметки, из deb-пакетов.

Анонимный комментирует...

Спасибо человеку написавшему вот это огромное:
setxkbmap -rules xorg -model pc105 -layout "us,ru" -variant ",winkeys" -option "grp:caps_toggle"

Добавил в автозапуск сессии GNOME эту команду и теперь не ощущаю проблем с переключением Рус/Англ. (Система-Параметры-[Дополнительно]-Сеансы-Автоматически запускаемые приложения)

redpetre комментирует...

С недавних пор встал вопрос как получить доступ к моему рабочему столу на домашнем компутере, где стоит Ubuntu

Dmitriy Maygurov комментирует...

Про "только используя ДРУГУЮ учетную запись" - подозреваю, что дело просто в запрете на параллельные сеансы, NX это ведь просто сервер терминалов.
Управляется этот запрет соответствующей галочкой в Система-Администрирование-Экран входа, закладка Общие

alexd комментирует...

Еще прикольно, когда выбираешь вместо сеанса какое нибудь приложение. Напрмер у меня жена под виндой с ноута заносит финансы в kmymoney2, запускаемый с ипровизированного сервака.

Andrew Mitnovich комментирует...

Timur пишет...
Спасибо человеку написавшему вот это огромное:
setxkbmap -rules xorg -model pc105 -layout "us,ru" -variant ",winkeys" -option "grp:caps_toggle"

Присоединяюсь!!!
Вот только... Кто-нибудь может подсказать, как еще и украинский влепить?

Анонимный комментирует...

для украинского -layout "en,ru,ua"

Andrew Mitnovich комментирует...

М-да.... Я писал это сообщение еще в 2009 году. )))
Ну и пинг..
Кстати, да, разобрался тогда сам. :)