Wykonywanie zrzutu ekranu pod linuksem (serwer dedykowany) (screenshot)

Z Podręcznik Administratora by OPZ SGU
Przejdź do nawigacji Przejdź do wyszukiwania

Jeżeli potrzebujemy na swojej stronie www umieścić możliwość wykonywania zdjęć dowolnej strony www musimy zastosować odpowiedni skrypt.

Aby wykonać zdjęcie strony www można posłużyć się następującymi metodami.

  • skrypt WEBTHUMB Oficjalna strona (skrypt samemu generuje wirtualny ekran za pomocą Xvbf) [odradzam]
  • program khtml2png2 Oficjalna strona (program bazuje na bibliotekach kde i silniku Konqueror można się domyślić jak wyglądają strony www) [odradzam]
  • kolejna próba przechwycenia wczytanej przeglądarki Oficjalna strona

(te i wszystkie inne rozwiązania, skrypty, skrypciki których działanie polega na wczytaniu przeglądarki, odczekaniu xx sekund, zrobienia zdjęcia wirtualnego pulpitu, zamknięciu przeglądarki poprzez force kill uchwytu okna stanowczo odradzam).


Mu zastosujemy specjalny dodatek do Firefox o nazwie Pearl Crescent Page Saver Oficjalna strona



Do pracy rodacy, bierzemy serwer dedykowany (headless), Ubuntu 8.04 Server LTS.

Postępujemy 100 % zgodnie z poniższym opisem, aby wygenerować wirtualny pulpit:

Tworzenie wirtualnego pulpitu

(środowisko graficzne, dowolne, najlepiej takie które będzie zajmować najmniej zasobów, jednak da nam łatwe zarządzanie).

Wirtualny pulpit nie będzie bezpośrednio przechwytywany, jednak posłuży on nam do nadzorowania pracy serwera (będziemy mogli w każdej chwili sprawdzić, jak radzi sobie z pracą), konfiguracji takich elementów jak zablokowanie wyskakujących okienek, skryptów js, flash, akceptacja cookies itp).

Poza tym jeżeli Firefox, wyświetli jakieś głupie komunikaty, skorzystamy z właśnie VNC, i będziemy grzebać.


Jeżeli wykonaliśmy powyższy opis, i z łatwością mamy dostęp do VNC to instalujemy Firefoksa

apt-get install firefox


Na pewno, nikt z was nie jest samobójcą, więc nie będziemy uruchamiać Firefox a z poziomu roota, lecz zwykłego użytkownika.

Tworzymy więc nasze konto.

sudo adduser --home /home/webshot webshot

Wylogowujemy się, i logujemy ponownie na konto webshot.


mkdir /home/webshot/.vnc


nano /home/webshot/.vnc/xstartup


Zapisujemy treść


#!/bin/sh
exec /usr/bin/xfce4-session

Dodajemy chmod ( uwaga bardzo łatwo zapomnieć o tym jebanym gównie, co spowoduje że dostaniemy "szary ekran, z chujskim kursorem w kształcie X".

chmod +x /home/webshot/.vnc/xstartup

Uruchamiamy serwer:

vncserver –geometry 1024x768 –depth 24


Logujemy się przez VNC.

Uruchamiamy Firefox a, i instalujemy dodatek Dodatek


Instalacja dodatku, niczym nie odbiega od tej zwykłej "desktopowej"
Zmieniamy nazwę produkowanego obrazu, oraz zezwalamy na nadpisywanie screnshot-a.


Zamykamy wszystkie kary, Firefoxa, w ssh nowo utworzonego konta wydajemy polecenie

  firefox --display :1 -savepng http://wiki.opzsgu.pl/
Output terminala!

(to nasz test)

Nasz screnshot!


Co dalej ?

php_cli + exec + cron + mysql