Xvfb

Xvfb
Typ Visa server
Hemsida x .org /releases /X11R7 .7 /doc /man /man1 /Xvfb .1 .xhtml

Xvfb eller X virtual framebuffer är en bildskärmsserver som implementerar X11- skärmserverprotokollet. Till skillnad från andra displayservrar utför Xvfb alla grafiska operationer i virtuellt minne utan att visa någon skärmutdata. klientens synvinkel fungerar den precis som vilken annan X-displayserver som helst , den betjänar förfrågningar och skickar händelser och fel efter behov. Ingen utdata visas dock. Denna virtuella server kräver inte att datorn den körs på har någon form av grafikadapter , en skärm eller någon inmatningsenhet . Endast ett nätverkslager behövs.

Användningsscenarier

Xvfb används främst för att testa:

  1. Eftersom den delar kod med den riktiga X-servern kan den användas för att testa de delar av koden som inte är relaterade till den specifika hårdvaran.
  2. Den kan användas för att testa klienter under olika förhållanden som annars skulle kräva en rad olika hårdvara; till exempel kan den användas för att testa om klienter fungerar korrekt på djup eller skärmstorlekar som sällan stöds av hårdvara.
  3. Bakgrundsdrift av kunder. ( Xwd- programmet eller ett liknande program för att ta en skärmdump kan användas för att faktiskt se resultatet)
  4. Köra program som kräver att en X-server är aktiv även när de inte använder den. (t.ex. Clover HTML-rapporter)

Användningsexempel

Exempel på skärmdump

Som ett exempel kör följande kommandosekvens en virtuell framebuffer X-server som display :1 , kör ett program på den och fångar den virtuella skärmen i filen image.png med hjälp av importkommandot från ImageMagick :

Xvfb :1 & xv -display :1 & import -display :1 -window root image.png

Resultatet kan visas genom att köra visningsprogrammet ImageMagick ( display image.png ) eller xv ( xv image.png ) . Programmet xvfb-run används ofta för att automatisera processen att hitta en tillgänglig skärm och hantera autentisering.

xvfb-run-kommandot

Fjärrkontroll över SSH

Xvfb används även för fjärrkontroll. VNC över SSH är något [ vagt ] snabbare än X11 över SSH. I det här fallet kombineras Xvfb ofta med en lättviktig fönsterhanterare (som Fluxbox eller Openbox ) och en VNC-server som X11vnc . En möjlig sekvens av kommandon för att starta detta på servern är:

  0 export  DISPLAY  =  :1 Xvfb  "  $DISPLAY  "  -skärm  1024x768x24  &  fluxbox  &  x11vnc -display  "  $DISPLAY  "  -bg -nopw -lyssna localhost -xkb 

Nästa steg är att starta en SSH-klient som PuTTY med tunnling till localhost-port 5900 aktiverad. En vncviewer kan sedan ansluta till localhost för att få fjärrkontroll över servern.

 ssh -N -T -L  5900  :localhost:5900 användare@remotehost  &  vncviewer -kodningar  'copyrect tight zrle hextile'  localhost:5900 

x11vncs man-sida innehåller också instruktioner.

Xvnc (inte att förväxla med x11vnc) är väldigt lik Xvfb.

Se även

externa länkar