A bit of background information: I'm dealing with a piece of software that is part of a larger system. Most pieces of the system have a background process that runs continually, and a GUI that can be open when that piece of functionality is needed. The particular piece of software that is causing me trouble was instead written as a single program containing both the GUI and the background processing. This means that the GUI must always be running, otherwise the associated processing cannot take place. This is not desired (for a number of reasons).

As a workaround, I've looked into various X pseudoservers that will allow me to show/hide the GUI window as appropriate. The three I've looked at specifically are xmove, ximove, and xpra

xmove is really old (hasn't been developed since Nov 1997) and doesn't support 24-bit graphics, which is a non-starter.

I've also found something called ximove. The author, Mark C. Ballew started it with the intent of improving upon xmove (XIMove≡Xmove Improved). But, looking at his website it looks like the last status update was 8/16/04, and it links to http://forum.ximove.com/ which does not appear to exist anymore.

xpra seems like the most promising option, but it hasn't quite worked as hoped. I get a lot of errors complaining about "Cairo" which is something that is not covered in any of the xpra files that discuss dependencies... nonetheless the program does work for small applications, such as a web browser. When I attempt to use it for my problem program though, I get a lot more errors (cairo errors and others). and both xpra and the application itself seem to crash.

I'm looking into trying out a clean install of the newest version of xpra, but I'm wondering whether any of you guys have any insight into some other X pseudoserver applications that I should try.

  • 1
    do you just need to hide windows or you need to be able to run your program without X? Did you try Xvfb?
    – Andrey Sidorov
    Commented May 17, 2012 at 2:04
  • I don't need to run it without X, although that would work. I just need some way to run it without being visible so that when the user clicks on a button in a wrapper GUI, it will appear to be launching this app, but really it will just be making it visible. I haven't tried Xcfb, but I briefly looked into it when I saw your reply and I'm not sure that it's what I'm looking for... it doesn't look like after starting the program without X, that I can ever attach it to a real Xserver when I want to. Do you have any experience with it to tell me that's not the case?
    – demarcmj
    Commented May 17, 2012 at 12:00
  • 2
    Xvfb is virtual framebuffer X server. You can start it with Xvfb :1 and launch your program with DISPLAY=:1 yourprogram. This way you won't see any UI in your X session and you can still interact with your program UI for example by starting VNC server attached to Xvfb session. Another way to hide UI could be -geometry command line option which is usually parsed by xlib-based programs.
    – Andrey Sidorov
    Commented May 17, 2012 at 12:17
  • The problem is if I start the program in that manner, there's no way to ever make it visible without killing it an restarting it. Pseudoservers on the other hand, allow you to fake an XServer when you don't need it, but then forward onto a real display when you do want it. Can I do that with Xcfb? It doesn't seem like I can (but I'm no expert). It seems like a great tool if I always want it hidden, but not if I need to see it sometimes.
    – demarcmj
    Commented May 17, 2012 at 12:44
  • 3
    Note: there are various versions of xpra floating around; the ones provided in most distro repositories are woefully outdated. Try the later version from xpra.org Commented Jan 9, 2013 at 13:50

2 Answers 2


What Piskvor said in the comments. Try a more recent version of xpra. Play with it's settings, disable things you don't need like audio forwarding. It can be made to work it well.


You can try using an VNC server like Xvnc, TightVNC or TigerVNC.

You can also use VirtualBox (at least version 5), install an operating system and your program in a virtual machine. If you start your VM in "detachable" mode, you can close all VirtualBox windows and keep the VM running. You can then restart the VirtualBox GUI and reattach to the VM.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .