I'm trying to use some image processing software that requires a X server. And it seems that we can fake a x server using xvfb. So I asked our system administrator to install the xvfb for me. But they say that using a xvfb would effect other user. And they also don't recommend me to install by myself into my home directory because they do not allow services, servers and daemons on the clusters. And the account would get locked if user use hpc to run service.

Is it true that xvfb would always effect other user even if I install in my home directory, and is there a way to use it without effecting other?


We use Xvfb all the time. The same issue - some code needs a framebuffer as a memory scratch area.

Short answer - you'll be fine, no problems.

What does your admin mean by affect? You are running a program, which means you reduce RAM by some amount. And you'll have to pick a screen to run as, maybe your DISPLAY=localhost:0 and they other user needs to try DISPLAY=localhost:1 to see their stuff. But these are all tiny issues. Id really push the admin to see what the issue is. In theory he could use those rules to not let you run code at all. Any code you run will affect other users. You use memory, disk, filehandles, network bandwidth, etc. What's special about Xvfb that they don't want you to run it?

Remember you can run the Xvfb on any host that you can reasonably connect to on the network. Is there a machine outside of your HPC that you can run this on? DISPLAY=someotherhost:0

Is the app you need this for a java app? I forgot the flag, but there is some flag in recent jvms to not need a fake Xvfb, but to create the frame buffer internally.

  • Thanks for the explaining. I'm actually trying to run Mathematica on that HPC, which requires a X server to render some graphics. Yes, I can use my local display to render the graphics, but the communication between the hpc and my local machine through the network dramatically slows down the whole process. I get the information from mathematica.SE that we can actually fake a x service on the hpc side using Xvfb. I guess it's very similar to the need for a java app. I'll talk to my sysAdmin about what problem they referred to. Thanks a lot for the answer. Jun 3 '14 at 20:55
  • Could you explain more about the Xvfb. (1) At here someone suggested something like "Xvfb :display_nr &" to start a fake x server and then use something like "export DISPLAY=machine_address:0.0" to change the display. What does the display_nr mean? Does it represent some kind of configuration of the display? And what does the environment "DISPLAY" display mean? (2) What's the relationship between xorg or x11 and xvfb and can we use xvfb without xorg? Because it looks that on the hpc system there is no xorg at all. Thanks a lot in advance. Jun 3 '14 at 23:10
  • @xslittlegrass the display_nr is the display number. 0, 1, whatever is available. We used :1, to make it more conscious that it's not the standard one on :0. The DISPLAY is a note to the process what machine:screen combination to connect to. (2) Xvfb is a component of your XServer distribution. You'll need some subset of X for this to work. This may be where your sysadmin balked - he didn't want an XServer package on his box. Jun 5 '14 at 15:53

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.