Метка: CutyCapt

  • Делаем скриншот сайта из консоли сервера 😉

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

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

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

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

    aptitude install xvfbCode language: Bash (bash)

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

    Xvfb :99 -acCode language: Bash (bash)

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

    [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!Code language: Bash (bash)

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

    sudo aptitude install x11-xkb-utilsCode language: Bash (bash)
    sudo aptitude install xfonts-100dpi xfonts-75dpi xfonts-scalable xfonts-cyrillicCode language: Bash (bash)
    sudo aptitude install xserver-xorg-coreCode language: Bash (bash)

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

    sudo aptitude install firefoxCode language: Bash (bash)

    Теперь нам надо поставить вот такую утилитку
    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++Code language: Bash (bash)

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

    svn co https://cutycapt.svn.sourceforge.net/svnroot/cutycapt
    cd cutycapt/CutyCapt
    qmake
    makeCode language: Bash (bash)

    всё теперь у нас есть 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/`date +%F-%H-%M`.pngCode language: Bash (bash)

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

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

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

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