Skip to content

Arctic ‐ Recording & Playback setup for Jenkins execution in Xvfb

Andrew Leonard edited this page Mar 27, 2025 · 21 revisions

To allow aqa-test Jenkins automation of Arctic playback, it is necessary to do a recording in an equivalent Xvfb session. It is essential that the recording and playback environment are identical from perspectives of Xvfb resolution and format, and also System settings like Fonts.

The following guides how to setup a VM environment for performing Arctic recordings that are then compatible to playback within a Jenkins job:

Recording VM setup

  • Required packages:

    • Xvfb
    • x11vnc
    • twm
    • xterm
  • Xvfb process:

    • Xvfb :<NN> -screen 0 1024x768x24 -nolisten tcp
  • x11vnc process to expose Xvfb session for recording interaction:

    • x11vnc -storepasswd
      • To store passwd in $HOME/.vnc/passwd
    • x11vnc -xkb -noxrecord -display :<NN> -rfbauth $HOME/.vnc/passwd -rfbport 59<NN>
  • TWM must be setup to be compatible for running Arctic workbench and with Fonts available on both Recording & Playback environments:

cp /etc/X11/twm/system.twmrc $HOME/.twmrc
echo 'RightTitleButton "xlogo11" = f.delete' >> $HOME/.twmrc
echo 'Button3 = : root : f.menu "windowops"' >> $HOME/.twmrc
echo 'RandomPlacement'                       >> $HOME/.twmrc
# Ensure fonts match recording vs playback
sed -i 's/MenuFont.*$/MenuFont    "-*-terminusv-bold-*-condensed-*-12-*-*-*-*-*-*-*"/g' $HOME/.twmrc
sed -i 's/TitleFont .*$/TitleFont   "-*-terminusv-bold-*-condensed-*-12-*-*-*-*-*-*-*"/g' $HOME/.twmrc
sed -i 's/IconFont .*$/IconFont    "-*-terminusv-bold-*-condensed-*-12-*-*-*-*-*-*-*"/g' $HOME/.twmrc
sed -i 's/ResizeFont .*$/ResizeFont    "-*-terminusv-bold-*-condensed-*-12-*-*-*-*-*-*-*"/g' $HOME/.twmrc
  • Start TWM and a xterm in Xvfb session:
    • export DISPLAY=:NN
    • twm &
    • xterm &

Clone this wiki locally