Я постоянно использую Selenium для тестирования проектов, которые разрабатываю. Штука эта очень хороша, с её помощью можно проверить работоспособность веб-приложения. Я это делаю при помощи сервера Selenium-rc. Для работы Selenium требуется, чтобы в системе был установлен браузер, а это значит, что требуется графическая система. А мне как раз сегодня понадобилось удаленно погонять тесты. Открывать VNC-соединение было не вариант, имелся только SSH. Тут мне в голову пришла мысль об использовании framebuffer для этой задачи.
В Linux, ПО, создающее framebuffer в виртуальной памяти системы и эмулирующее работу X-сервера, называется xvfb. Им я и воспользовался. В Debian-based системах установка такова:
sudo aptitude install xvfb
После установки необходимо запустить Selenium-rc внутри xvfb, чтобы сервер запускал нужный браузер в этом же окружении:
sudo xvfb-run -e /home/slayer/logs/xvfb-run java -jar selenium-server.jar -log /home/slayer/logs/selenium &
С отправкой команды в фон и логированием как xfvb, так и Selenium в нужные файлы. После этого уже можно запускать свои тесты, Selenium запустит браузер внутри xvfb.