Na początek uzupełniamy system o pakiet serwera ramki Xvfb:
sudo apt-get install xvfb
Następnie startujemy wirtualny serwer graficzny w tle poleceniem:
sudo startx -- `which Xvfb` :2 -screen 0 1024x768x24 2>&1 >/dev/null &
W następnej kolejności uruchamiamy naszą aplikacje graficzną na serwerze np: gimp poleceniem:
sudo DISPLAY=:2 gimp
W tym czasie możemy zrobić zrzut ekranu naszego wirtualnego serwera graficznego poleceniem:
xwd -display :2 -root | convert xwd:- /tmp/framebuffer_server_autput.png
lub możemy po zainstalowaniu aplikacji byzanz nagrać obraz z serwera graficznego do animowanego plku GIF:
sudo apt-get install byzanz
sudo DISPLAY=:2 byzanz-record -l --display=:2 /tmp/rec.gif
Uzyskany ze zrzutu ekranu obrazek możmy wyświetlić np: w ten sposób:
sudo DISPLAY=:0 gthumb /tmp/framebuffer_server_autput.png
a wówczas naszym oczom może ukazać sie następujący widok:
Zadajecie sobie pewnie pytanie "po cóż mi taki bezużyteczny framebuffer, skoro nie mam dostępu do pulpitu" i odpowiedzią jest poniższe rozwiązanie używające serwera X11vnc do przechwytycenia widoku framebuffera.
Na początek instalujemy pakiet X11vnc:
sudo apt-get install x11vnc
Po starcie w następujący sposób:
x11vnc -display :2
zauważymy komunikaty typu:
04/12/2008 20:50:11 Autoprobing TCP port
04/12/2008 20:50:11 Autoprobing selected port 5900
04/12/2008 20:50:11 fb read rate: 480 MB/sec
04/12/2008 20:50:11 screen setup finished.
04/12/2008 20:50:11
04/12/2008 20:50:11 WARNING: You are running x11vnc WITHOUT a password. See
04/12/2008 20:50:11 WARNING: the warning message printed above for more info.
04/12/2008 20:50:11
The VNC desktop is: localhost:0
PORT=5900
Informacje wymagane do połączenia z framebuffer serwerem to localhost:0. Połączenia możemy dokonać używając klienta w ten sposób:
vncviewer localhost:0
Powinien pojawić się nam w nowym oknie przechwycony pulpit naszego wirtualnego serwera graficznego.
Dopiero po wykonaniu powyższych przykładów widać wyraźniej, jakie otwierają się przed nami możliwości. Możemy dla przykładu używać wirtualnego pulpitu do uruchamiania procesów automatycznego testowania stron internetowych przy pomocy takich narzędzi jak Selenium oraz Hudson, których moc postaram się przybliżyć w kolejnej wypowiedzi.
Linki:
http://en.wikipedia.org/wiki/Xvfb
http://www.hackinglinuxexposed.com/articles/20040608.html
http://www.xfree86.org/4.2.0/Xnest.1.html
http://wiki.x.org/X11R6.8.2/doc/Xvfb.1.html
http://wiki.seleniumhq.org/display/SRC/Selenium-RC+and+Continuous+Integration
1 komentarz:
W Ubuntu 10.10 doświadczyłem nowości w uruchamianiu środowiska wirtualnego pod Hudsona - oto moje doświadczenia:
== Uruchomienie środowiska dla wirtualnego pulpitu
/usr/bin/Xvfb :5 -ac -screen 0 1024x768x8
x11vnc -display :5
xtightvncviewer localhost:0
== Odpalanie aplikacji na wirtualnym pulpicie
DISPLAY=:5.0 xterm
DISPLAY=:5.0 /opt/google/chrome/google-chrome
== Uruchomienie sewera i klienta podglądu
DISPLAY=:5.0 x11vnc -display :5 -listen 127.0.0.1
xtightvncviewer 127.0.0.1:0
Prześlij komentarz