Главная
Главная Руководства Debian › Ставим Xvfb на Debian Jessie



Автор:

Статья опубликована: 2017-02-12 20:51:44
Последние правки: 2018-03-11 20:22:36

Xvfb - это X11 сервер, который выполняет все графические операции в памяти без вывода на экран. С точки зрения клиента, он действует так же, как любой другой сервер, обслуживающий запросы и отправки события и ошибки по мере необходимости. Устанавливаем на Debian Jessie.

  • Установка
    # apt-get install xvfb
    # apt-get install x11-xkb-utils
    # apt-get install xfonts-100dpi xfonts-75dpi xfonts-scalable xfonts-cyrillic
    # apt-get install xserver-xorg-core
    

  • Запуск

    Пробуем запустить в фоновом режиме:
    # Xvfb :1 -screen 0 640x480x24 -fbdir /var/tmp&
    [1] 1618
    # ps ax | grep Xvfb
     1618 pts/1    S      0:00 Xvfb :1 -screen 0 640x480x24 -fbdir /var/tmp
    
    Выключаем:
    # kill 1618
    
    Делаем скрипт для запуска-остановки-автозагрузки:
    /etc/init.d/xvfb
    #!/bin/sh
    PATH=/usr/bin:/usr/sbin:/bin:/sbin
    XVFB=/usr/bin/Xvfb
    XVFBARGS=":1 -screen 0 800x600x24 -ac -noreset -nolisten tcp"
    PIDFILE=/var/run/xvfb.pid
    case "$1" in
        start)
            echo -n "Starting virtual X frame buffer: Xvfb"
            start-stop-daemon --start --quiet --pidfile $PIDFILE --make-pidfile --background --exec $XVFB -- $XVFBARGS
            echo "."
            ;;
        stop)
            echo -n "Stoppping virtual X frame buffer: Xvfb"
            start-stop-daemon --stop --quiet --pidfile $PIDFILE
            echo "."
            ;;
        restart)
            $0 stop
            $0 start
            ;;
        *)
            echo "Usage: /etc/init.d/xvfb {start|stop|restart}"
            exit 1
    esac
    exit 0
    
    Далее можно работать как с обычным сервисом:
    # /etc/init.d/xvfb start
    # /etc/init.d/xvfb restart
    # /etc/init.d/xvfb stop
    

  • Как со всем этим работать

    Например, ставим chromium
    # apt-get install chromium
    
    Запускаем x11vnc:
    # apt-get install x11vnc
    # x11vnc -display :1 -bg -nopw -listen 192.168.1.2 -xkb
    
    Под обычным пользователем указываем, какой display использовать
    $ export DISPLAY=:1.0
    
    Запускаем chromium
    $ chromium
    
    Экран нашего виртуального сервера, можно посмотреть с другого компьютера, подключившись любым vnc клиентом на ip 192.168.1.2 и порт 5900
    $ vncviewer 192.168.1.2:5900