July 24th, 2017

Cat-light

Памятка про tightvnc

Изредка требуется получать доступ к своему личному Linux-овому компу в графическом режиме, дабы иметь возможность созерцать GUI. Ниже краткая памятка как проще всего это сделать.

В Gnome имеет место быть vino-server. В LXDE из коробки ничего такого почему-то не идёт. Среди прочих VNC-клонов самый легковесный и простой, пожалуй, будет tightvnc. Помимо прочего, при запуске он не цепляется к уже имеющемуся сеансу X-сервера, а создает свой собственный. Конкретно мне так даже удобнее. Итак.


  1. Если еще не, то инсталлируем. Пакет называется "tightvncserver".

  2. Еще понадобится пакет "autocutsel", чтобы заработал двунаправленный буфер обмена.

  3. От имени непривилегированного целевого пользователя запускаем на предполагаемом компьютере-сервере "tightvncserver -localhost -nolisten tcp". Он форкнется и уйдёт в background, после чего можно разлогиниваться из локального терминала / сеанса. "localhost" — чтобы слушал только на 127.0.0.1, ибо не умеет шифровать соединения. Будем подключаться к нему через SSH-тоннель. "nolisten tcp" — чтобы не открывал всему миру X11 tcp socket, ибо нефиг. При первом запуске он попросит придумать какой-нибудь пароль, который потом потребуется ввести для подключения с клиента.

  4. С клиента цепляемся SSH-ем с одновременным forward-ом портов: "ssh -L 5900:127.0.0.1:5901 myserver.foo.bar".

  5. Берём любого VNC-клиента и натравливаем его на адрес [внезапно] "127.0.0.1". Вводим пароль, заданный в пункте 3. RealVNC Viewer, кстати, тоже годится, так как протокол за исключением шифрования полностью совместим.

  6. После подключения в любой консоли на сервере запускаем "autocutsel -fork", который будет синхронизировать нам буфер обмена между VNC и X11.

  7. Если речь идёт о ноутбуке, то перед тем, как захлопывать крышку, неплохо бы проверить "/etc/systemd/logind.conf" на предмет всяких "HandleLidSwitch=" и иже с ними.