Добро пожаловать на неофициальный городской портал г. Мытищи! Наш портал создан для того, чтобы Мытищинцы могли общаться со своими земляками ! Еще он создан для людей, интересующихся г. Мытищи! Вы можете зайти и обсудить любые темы на нашем форуме! А также купить/продать что либо на нашей доске объявлений! Узнать историю, последние новости г. Мытищи Посмотреть фотографии нашего прекрасного города! И, конечно же, оставить отзывы в нашей гостевой книге! Мы очень рады видеть Вас в любое время на нашем сайте!

-
 
 
 
 
:
 
 

VNC Server для Linux (рабочее решение)

Если вы столкнулись с необходимостью управления удаленным рабочем столом, и вам нужно чтобы вы работали под той-же сессией, что выполняете на удаленном мониторе (т. е. человек сидящий перед монитором удаленного компьютера видел ваши действия) вам непременно подойдет в качестве решения VNC Server. Однако если вы ранее уже занимались его установкой на Linux, то наверняка обратили внимание на одну интересную особенность: VNC запускается после локального входа систему на удаленном компьютере, к тому же зачастую в ручную.

Именно в этой особенности заключалась главная проблема для меня. Моей целью было сделать собственное Smart TV. Где в роли телевизора был подвешеный на кухне монитор. Ну а роль Smart брал на себя установленный в шкафу мини-сервер. Сразу же хочется отметить, что такое Smart TV имеет огромное число плюсов по сравнению с заводскими смартами интегрированными в современные телевизоры. Спросите какие? Мой ответ: вы сможете делать на этом ТВ все что только умеют делать современные компьютеры. А чего уж тут скрывать, делают они сегодня больше чем мы с вами можем представить. Плюс вы сами вольны выбирать свой интерфейс управления и прочие плюшки :)

Так вот, по умолчанию VNC сервера не запускаются автоматически при запуске сервера. И если никто не войдет локально в систему и не запустит VNC сервер, то выполнить удаленное подключение вы не сможите. Также локальному пользователю нельзя выходить из системы, иначе VNC сервер будет остановлен.

Однако мною выход всеже был найден. Можно заставить VNC сервер работать так как нам нужно.

Переходим от слов к конкретным действиям. Удалим vino во избежании конфликтов:

sudo apt-get remove vino

Также хочу отметить тот факт, что все терминальные команды вы должны выполнять от учетной записи, которую вы используете при локальном входе в систему. Так например в той же самой Ubuntu, учетная запись root не привязана к графической оболочке, поэтому если вы настроете VNC сервер по root учетной записью, то результат вас может очень огорчить.

Ставим  x11vnc:

sudo apt-get install x11vnc

Генерируем «свеженький» пароль для подключения к удаленному рабочему столу:

x11vnc -storepasswd

Но эти шаги вобщем то стандартные, а вот теперь самое интересное…

По каким-то неведомы мне причинам, мега сложно добиться нормальной работы VNC Servera со стандартной визуальной оболочкой. Мне это удалось единожды, да и сам я толком не понял как. Наиболее стабильная работа VNC сервера гарантируется под Gnome оболочкой. По этому нам необходимо установить ее и сделать ее активной:

sudo apt-get install gdm

После того как закончится выкачивание оболочки и начнется процедура ее установки перед вами появится окно, в котором вам будет предложено выбрать графический интерфейс который вы хотите использовать в дальнейшем. Так вот, выбрать нужно будет gdm.

Для того чтобы VNC запускался автоматически при старте удаленного хоста, нам потребуется отредактировать несколько файлов:

sudo gedit /etc/gdm/Init/Default

Далее ищем строчку “exit 0″ и перед ней добавляем следующее:

/usr/bin/x11vnc -dontdisconnect -notruecolor -noxfixes -shared -forever -rfbport 5900 -bg -o /var/log/x11vnc.log -rfbauth /home/user/.vnc/passwd

В только что вставленной строке вам необходимо заменить user на имя пользователя под которым вы заходите локально и от которого выполняли вышеуказанные терминальные команды.

Эту же строчку добавляем в конец файла /etc/gdm/PreSession/Default:

sudo gedit /etc/gdm/PreSession/Default

Теперь в файл /etc/gdm/gdm.conf-custom необходимо записать следующую строку:

KillInitClients=true

Если файла gdm.conf-custom вы не нашли, то его надо создать вручную и записать туда то, вышеупомянутую строку.

Теперь перезагружаем систему командой:

sudo reboot

Ну вот и все. Теперь вы можете подключаться к удаленному рабочему столу (по умолчанию как правило используется порт 5900, изредка 5901 или 5902) используя любой из VNC клиентов. Благо их и в интернете великое множество, и все бесплатные. Так что нам остается только расчесывать бороду и пить пиво :) Ну и само собой, теперь мы можем управлять нашим Smart TV не подключая клавиатур и мышь, а используя к примеру смартфон или планшет :)

Вот так выглядит подключение к VNC серверу (удаленному хосту) через VNC клиент. Точно такая-же картинка параллельно выводится на мониторе удаленного хоста.

Вот так выглядит подключение к VNC серверу (удаленному хосту) через VNC клиент. Точно такая-же картинка параллельно выводится на мониторе удаленного хоста.

Добавить комментарий


Защитный код
Обновить