GrabDuck

xvfb | Шпаргалки админа

:

Сегодня я расскажу вам необычную историю, попросили меня проследить за голосованием на одном из сайтов.
т.к. бывает за ночь один из кандидатов как прибавить 1-2 тыщи голосов, а потом весь день тишина…

что б доказать явный косяк делаем просто. снимаем скриншот сайта каждую минуту и смотрим что голоса не постепенно копятся, а бах и всё.

В тырнете куча мануалов как сделать это на атвомате но если у нас установлен Х-сервер.
но у меня вот так сложилась что ни на одном сервере его нету.

Но не беда есть есть Fake Xserver завётся он xvfb
Устанавливаем

при тестовом запуске

он будет ругаться на кучу всего

[dix ] Could not init font path element /usr /share /fonts /X11 /misc, removing from list !
[dix ] Could not init font path element /usr /share /fonts /X11 /cyrillic, removing from list !
[dix ] Could not init font path element /usr /share /fonts /X11 /100dpi /:unscaled, removing from list !
[dix ] Could not init font path element /usr /share /fonts /X11 /75dpi /:unscaled, removing from list !

Исправляем это, устанавливаем всё нам необходимое

sudo aptitude install x11-xkb-utils

sudo aptitude install xfonts-100dpi xfonts-75dpi xfonts-scalable xfonts-cyrillic

sudo aptitude install xserver-xorg-core

Также нам нужен будет файрфокс, для создания скриншотов.

sudo aptitude install firefox

Теперь нам надо поставить вот такую утилитку
CutyCapt — для генерации картинок с виртулаьного Хсервера.

sudo apt-get update
sudo apt-get -y install build-essential
sudo apt-get install xfs xfonts-scalable xfonts-100dpi
sudo apt-get install libgl1-mesa-dri
sudo apt-get install subversion libqt4-webkit libqt4-dev g++

Создаём каталог временный где угодно (/home/username/CutyCapt например), в нём выполняют команды

svn co https: //cutycapt.svn.sourceforge.net /svnroot /cutycapt
cd cutycapt /CutyCapt
qmake
make

всё теперь у нас есть CutyCapt.

можно пробовать 🙂

создаём файл
touch screenner.sh
в него кидаем вот такой код

#!/bin/bash

xvfb-run --server-args= "-screen 0, 1024x768x24" /home /developer /scr /cutycapt /CutyCapt /CutyCapt --url=http: //www.google.com --out= /var /exchange /screensite /<code > date + %F- %H- %M </code >.png

Мы запускаем виртуальный сервер с параметрами (0 скрин) указываем разрешение (если сайт длинный можно указать хоть 2000 во втором параметре)
/home/developer/scr/cutycapt/CutyCapt/ — это путь до CutyCap там мы делали qmake и make

Ну и куда сохранить, мне нужно было дату + время ставить.

Вот и всё готово.

Мог что-то упустить из виду т.к. по факту ставил пакетов больше, но пригодились ли они, не уверен.