Because it is not always possible to use an X11 server, for example when there is no hardware graphics adapter (as in a p550), it is possible to replace it with a XVFB: which is intended to be used in a rendering server environment and allow an application to render into the main memory of the computer instead of the graphics card.
The XVFB for AIX 5.X is installed from the product CDs, as listed below:
# lslpp -al | grep vfb | sort -u OpenGL.OpenGL_X.dev.vfb 220.127.116.11 COMMITTED OpenGL Virtual Frame Buffer X11.vfb 18.104.22.168 COMMITTED Virtual Frame Buffer Software
As we don't want to use it directly, we are not launching it via the
xinit program which starts both the X server and the window manager.
Here is one of its simple invocation, put into the
inittab to be able
to respawn it easily:
# mkitab "Xvfb:2:respawn:/usr/bin/X11/X -force -vfb -x abx -x dbe -x GLX :0 2>&1 | alog -tboot > /dev/console"
To reload a dead X server or force
init to reread
use the following command:
# init q /* Not needed if /etc/inittab was modified using `mkitab' */ # ps auwx | grep -i vfb root 725164 0.0 0.0 9128 8868 - A 14:49:30 0:00 /usr/bin/X11/X -force -vfb -x abx -x dbe -x GLX :0
To verify that an X server is running with the XVFB, use the following command on corleone:
# /usr/lpp/X11/Xamples/bin/xprop -display :0 -root | grep VFB XVFB_SCREEN(STRING) = "TRUE"
Your system must be on a network and you need access to another system (with a screen) to view the contents of the XVFB.
On the XVFB system, run the
xclock client program:
# xclock -display :0
On the other system, make sure X is running and that clients can connect:
# xhost +corleone
On the XVFB system, find the window ID for the
# xwininfo -root -tree -display :0 | grep xclock
On the XVFB system, use
xwud to display the client window of the
XVFB system on the other system:
# xwd -id 0x800009 -display :0 | xwud -display beastie:0
An image of the
xclock you started on the XVFB system displays on the
other system. That's it.
Please refer to the IBM website for more information on the X Virtual Frame Buffer.