Иногда на Linux бывает полезна графическая оболочка, причём в режиме удалённого доступа. Подключение к графике удалённо типично производят с помощью VNC. Рассмотрим простую настройку VNC-сервера на Debian Jessie для эпизодических графических сессий.
В качестве сервера будем использовать tightvncserver, в качестве рабочего стола XFCE. Для начала ставим необходимый софт
apt-get install xfce4 xfce4-goodies gnome-icon-theme tightvncserver
Стартуем VNC
$ vncserver
при первом старте (в случае пустой директории с конфигурацией ~/.vnc) он запросит пароль на соединение и создаст конфигурацию. В конце скрипта ~/.vnc/xstartup добавляем запуск XFCE4
xfce4-session &
Завершить VNC-сервер можно
$ vncserver -kill :1
и это имеет смысл сделать для последующей настройки.
Проверяем, что VNC-сервер запускается и корректно работает. Для этого его запускаем
$ vncserver -geometry 1024x600
проверяем, что соответствующий процесс действительно слушает 5901 порт
netstat -tpan | grep :59
и подключаемся к нему. В случае успеха мы увидим рабочий стол созданной сессии.
Вышеперечисленные операции старта-остановки целесообразно несколько автоматизировать. Для этого создаем скрипт по аналогу демоновских скриптов из /etc/init.d/ с содержанием вроде:
#!/bin/bash
PATH="$PATH:/usr/bin/"
DISPLAY="1"
DEPTH="16"
GEOMETRY="1280x1024"
#GEOMETRY="1024x768"
OPTIONS="-depth ${DEPTH} -geometry ${GEOMETRY} :${DISPLAY}"
case "$1" in
start)
/usr/bin/vncserver ${OPTIONS}
;;
stop)
/usr/bin/vncserver -kill :${DISPLAY}
;;
restart)
$0 stop
$0 start
;;
esac
exit 0
и помещаем его в директорию локальных скриптов /usr/local/bin/mvnc.
Тогда VNC-сервером можно управлять командами, полностью по аналогии с демонами:
mvnc start mvnc stop mvnc restart
Делать это можно из под простого пользователя, что в случае простой конфигурации вполне достаточно. При желании можно сделать более сложный init.d-скрипт и поместить его в /etc/init.d/ в автостарт, но это не всегда нужно, если VNC используется эпизодически.