С недавних пор встал вопрос как получить доступ к моему рабочему столу на домашнем компутере, где стоит 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 комментария:
Отлично! Спасибо.
Небольшое упрощение установки:
1. sudo dpkg -i *.deb (или же sudo dpkg -i pack1.deb pack2.deb pack3.deb) - в этом случае порядок не важен.
2. После установки запускаем sudo apt-get install -f и необходимые библиотеки подгружаются сами.
То есть это типа RemoteDesktop? В смысле, видишь что реально происходит на чужом десктопе?
И ещё вопрос: а можно подключиться к уже работающей сессии (к текущей)?
И спасибо за пост.
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
SolarWind, с VNC, признаться, работал мало, только на работе изредка и по локалке. А вообще читал отзывы, что VNC помедленне чем NX. Если объективно - то поддержка ширования "из коробки" (для VNC насколько я понимаю дополнительные телодвижения нужны).
Кстати, как дела у VNC со звуком, самбой?
virens, прочитал на опеннете как один товарищ смог реализовать NX аля radmin. Будем пробовать :)
sdvn, спасибо, подправил.
Вопросы:
1) Т.е. подключение идёт не к реальным X'сам, а создаётся новая сессия?
2) Как с переключением языков рус/англ обстоят дела?
>> gentoo.blog.ru
на моей установленной второй версии с раскладкой наблюдаются проблемы- то есть не переключается.
Вопрос по поводу приаттачивании к уже существующей сессии - открыт. На выходных буду разбираться.
"virens пишет...
То есть это типа RemoteDesktop? В смысле, видишь что реально происходит на чужом десктопе?
И ещё вопрос: а можно подключиться к уже работающей сессии (к текущей)?"
Да, это что-то типа, но несколько круче.
Раньше я использовал ssh X forwarding для себя и VNC для того, чтобы подключиться к существующей сесии, но X forwarding неадекватен на слабом канале, а у VNC вообще много проблем.
На сколько я внимательно посмотрел NX умеет всё, что умеют rdesktop, vnc вместо взятые (и даже немного больше, кое-что от citrix, но в отличии от nx стабилен) всё это работает адекватно даже при нешироком канале.
Ответ на вопрос: к работающей сессии подключиться можно.
PS: на сайте есть уже третья версия для debian и ubuntu в том числе.
На тему переключения раскладки есть два решения, хотя ни одно из них не идеально и не блещет красотой.
Первое: в файле /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 сильно ограничено количество одновременно запущенных сессий. Поправьте, если я ошибаюсь?
Все верно, в бесплатной версии их может быть всего 2. Хотите больше - платите. Либо пользуйтесь менее функциональной, но зато полностью свободной FreeNX.
Так всетаки что ставили: freeNX или сборку от NoMachine в которой ограничения на 2 соединения и 2 пользователя или сами собирали из исходников?
Ставил NX free edition - детище компании nomachine.com. Ставил, как видно из заметки, из deb-пакетов.
Спасибо человеку написавшему вот это огромное:
setxkbmap -rules xorg -model pc105 -layout "us,ru" -variant ",winkeys" -option "grp:caps_toggle"
Добавил в автозапуск сессии GNOME эту команду и теперь не ощущаю проблем с переключением Рус/Англ. (Система-Параметры-[Дополнительно]-Сеансы-Автоматически запускаемые приложения)
С недавних пор встал вопрос как получить доступ к моему рабочему столу на домашнем компутере, где стоит Ubuntu
Про "только используя ДРУГУЮ учетную запись" - подозреваю, что дело просто в запрете на параллельные сеансы, NX это ведь просто сервер терминалов.
Управляется этот запрет соответствующей галочкой в Система-Администрирование-Экран входа, закладка Общие
Еще прикольно, когда выбираешь вместо сеанса какое нибудь приложение. Напрмер у меня жена под виндой с ноута заносит финансы в kmymoney2, запускаемый с ипровизированного сервака.
Timur пишет...
Спасибо человеку написавшему вот это огромное:
setxkbmap -rules xorg -model pc105 -layout "us,ru" -variant ",winkeys" -option "grp:caps_toggle"
Присоединяюсь!!!
Вот только... Кто-нибудь может подсказать, как еще и украинский влепить?
для украинского -layout "en,ru,ua"
М-да.... Я писал это сообщение еще в 2009 году. )))
Ну и пинг..
Кстати, да, разобрался тогда сам. :)
Отправить комментарий