Используйте X11vnc.
Все, что вам нужно, это установить x11vnc
через:
sudo apt-get install x11vnc xvfb fluxbox
При желании установите fluxbox, чтобы иметь простой оконный менеджер.
Запустить x11vnc
в оболочке
Затем, чтобы настроить доступ к Xvfb для удаленного управления, вы можете использовать X11 через SSH или VNC через SSH, например
export DISPLAY=:1
Xvfb $DISPLAY -screen 0 1024x768x16 &
fluxbox &
x11vnc -display $DISPLAY -bg -forever -nopw -quiet -listen localhost -xkb
Запустить x11vnc
с помощью скрипта
Вот версия, удобная для сценариев для запуска Xvfb
, x11vnc
и fluxbox
:
export DISPLAY=${DISPLAY:-:0} # Select screen 0 by default.
xdpyinfo
if which x11vnc &>/dev/null; then
! pgrep -a x11vnc && x11vnc -bg -forever -nopw -quiet -display WAIT$DISPLAY &
fi
! pgrep -a Xvfb && Xvfb $DISPLAY -screen 0 1024x768x16 &
sleep 1
if which fluxbox &>/dev/null; then
! pgrep -a fluxbox && fluxbox 2>/dev/null &
fi
echo "IP: $(hostname -I) ($(hostname))"
Примечание. Я использую его в следующем проекте Docker (проверьте _10 _). < / sup>
Запустить x11vnc
с однострочным текстом
Или вы можете использовать следующий однострочник:
$ x11vnc -create -env FD_PROG=/usr/bin/fluxbox \
-env X11VNC_FINDDISPLAY_ALWAYS_FAILS=1 \
-env X11VNC_CREATE_GEOM=${1:-1024x768x16} \
-gone 'killall Xvfb' \
-bg -nopw
-create
запускает Xvfb
X11VNC_FINDDISPLAY_ALWAYS_FAILS=1
переводит его в созданный сеанс Xvfb (отображать :1
, а не :0
, который будет обычным рабочим столом)
FD_PROG=/usr/bin/fluxbox
заставляет его запускать Fluxbox (Ubuntu, должен иметь фоновый логотип Ubuntu)
X11VNC_CREATE_GEOM=${1:-1024x768x16}
устанавливает 16-битный цвет экрана 1024x768
-gone
очищается при выходе, иначе Xvfb остается позади (убийство xvfb
также убивает fluxbox
)
Подключиться к VNC
Если ваш Xvfb прослушивает только localhost, вы можете настроить туннелирование на localhost, чтобы vncviewer мог затем подключиться к localhost для получения удаленного управления сервером. Например.
ssh -N -T -L 5900:localhost:5900 user@remotehost &
vncviewer -encodings 'copyrect tight zrle hextile' localhost:5900
Или, чтобы прослушивать все адреса с паролем, используйте:
x11vnc -display :0.0 -usepw
Чтобы установить пароль, запустите: x11vnc -storepasswd
.
См. Удаленное управление через SSH на странице Xvfb в Википедии.
Также проверьте:
person
kenorb
schedule
18.11.2016