Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Select an option

  • Save textarcana/5855427 to your computer and use it in GitHub Desktop.

Select an option

Save textarcana/5855427 to your computer and use it in GitHub Desktop.
Headless Selenium on CentOS 6.3 (Mac XWindows / X11 / Xvfb / Headless Firefox / Selenium howto)

On your Mac

  1. First you need X11. If you have an older version of Mac OS X then X11 should already be installed.
  2. If you are running Mountain Lion (OS X 10.8) or newer, then you can download X11 here: http://xquartz.macosforge.org/landing/

On your CI slave

  1. sudo yum -y install firefox Xorg
@iammichiel
Copy link

sudo yum -y groupinstall "X Window System" "Desktop" "Fonts" "General Purpose Desktop"

How is that headless? You install the whole graphical environment!

@xiankai
Copy link

xiankai commented Oct 30, 2013

Seems to me like it's just installing the prerequisites for the virtual frame buffer (Xvfb), which itself is headless.

@manukoshe
Copy link

what's the point installing whole graphical environment and then run headless? all these packages are not needed for xvfb

@shssoichiro
Copy link

The command sudo yum -y groupinstall "X Window System" "Desktop" "Fonts" "General Purpose Desktop" doesn't appear to be necessary to get selenium-server to work. In fact, all it did was make my development VM unbootable.

Other than that, this was very helpful. Just skip step 2 when setting up the CentOS box and all is good.

@englianhu
Copy link

Tried to follow the procedures but step 2 gotta error.

$ sudo yum -y groupinstall "X Window System" "Desktop" "Fonts" "Geberal Purpose Desktop"
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirror.i3d.net
 * epel: mirrors.coreix.net
 * extras: mirror.i3d.net
 * updates: mirror.i3d.net
- Warning: Group basic-desktop does not have any packages to install.
- Warning: group Geberal Purpose Desktop does not exist.
- Maybe run: yum groups mark install (see man yum)
- No packages in any requested group available to install or update

@shssoichiro tried to proceed further but there is another error on accessing selenium.jar.

[root@scibrokes ~]# yum groups mark install "X Window System" "Desktop" "Fonts" "Geberal Purpose Desktop"
Loaded plugins: fastestmirror, langpacks
Determining fastest mirrors
 * base: mirror.i3d.net
 * epel: mirrors.coreix.net
 * extras: mirror.i3d.net
 * updates: mirror.i3d.net
Marked install: X Window System,Desktop,Fonts,Geberal Purpose Desktop
[root@scibrokes ~]# Xvfb :99 -ac -screen 0 1280x104x24 &
[1] 4560
[root@scibrokes ~]# Initializing built-in extension Generic Event Extension
Initializing built-in extension SHAPE
Initializing built-in extension MIT-SHM
Initializing built-in extension XInputExtension
Initializing built-in extension XTEST
Initializing built-in extension BIG-REQUESTS
Initializing built-in extension SYNC
Initializing built-in extension XKEYBOARD
Initializing built-in extension XC-MISC
Initializing built-in extension XINERAMA
Initializing built-in extension XFIXES
Initializing built-in extension RENDER
Initializing built-in extension RANDR
Initializing built-in extension COMPOSITE
Initializing built-in extension DAMAGE
Initializing built-in extension MIT-SCREEN-SAVER
Initializing built-in extension DOUBLE-BUFFER
Initializing built-in extension RECORD
Initializing built-in extension DPMS
Initializing built-in extension Present
Initializing built-in extension X-Resource
Initializing built-in extension XVideo
Initializing built-in extension XVideo-MotionCompensation
Initializing built-in extension SELinux
Initializing built-in extension GLX

[root@scibrokes ~]# export DISPLAY=:99
[root@scibrokes ~]# java -jar /opt/selenium-server-standalone.jar &
[2] 4616
- [root@scibrokes ~]# Error: Unable to access jarfile /opt/selenium-server-standalone.jar

Here is another error during install seleniuim http://www.thelinuxdaily.com/2011/07/how-to-install-and-use-selenium-server-in-linux/#comment-44118

@horiab
Copy link

horiab commented Mar 7, 2016

Hi - I followed these instructions above, but ran into an issue with Firefox not working due to some library mismatches in RHEL 7.1. After trying several things to no avail, I uninstalled the default firefox package (yum delete firefox) and installed specifically the .i686 package (yum install firefox.i686). Which I know seems counterintuitive, since RHEL is running on the x86_64 architecture, but for some reason, this did it for me.
Just letting other people know this might work, since I spent a good few days dabbling "in the dark".

@m4s6
Copy link

m4s6 commented Oct 23, 2016

I skip the step 2 as @shssoichiro suggested, It works fine! Thank you, both!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment