Alternatives to xmove, xpra

6,955

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.

Share:
6,955

Related videos on Youtube

demarcmj
Author by

demarcmj

Updated on September 18, 2022

Comments

  • demarcmj
    demarcmj almost 2 years

    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.

    • Admin
      Admin about 12 years
      do you just need to hide windows or you need to be able to run your program without X? Did you try Xvfb?
    • Admin
      Admin about 12 years
      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?
    • Admin
      Admin about 12 years
      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.
    • Admin
      Admin about 12 years
      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.
    • Admin
      Admin about 12 years
      I suppose I have the same question about your -geometry suggestion. Is that something that can be changed while the program is running, or is it set when you launch it and remains fixed? I still need to be able to actually bring up the GUI when it is needed.
    • John
      John about 12 years
      You can move a window with a simple Xlib call. But what's wrong with simply iconifying that window? You are likely to have some icon in the taskbar anyway.
    • Admin
      Admin about 12 years
      We don't really have a taskbar... there's a sort-of wrapper program around everything which pretty much consumes the OS. Also, can you clarify what you mean by "You can move a window with a simple Xlib call" (Forgive me, X is not my strong suit)? Are you talking about one of the earlier suggestions (xvfb or -geometry)? Or are you suggesting something else entirely? I'm not sure how much just moving the window will help
    • John
      John about 12 years
      You run a program with the -geometry switch, the window opens off-screen, and then you move it back on screen with a simple program that you write (this is a programming Q&A site). Note that most modern window managers will not allow a window to start off-screen, but if you have a custom window manager, or none at all, this is not an issue.
    • Admin
      Admin about 12 years
      I think the problem with the -geometry switch is that I'm still locked into a single display which must be determined when the program is launched... Our system has multiple displays, and when the system starts up, a user may not even be logged in, so there may not be a display available... This is why the pseudoservers looked so attractive... I can point to a dummy xserver and then move to the real one later.
    • Osama khodroj
      Osama khodroj over 11 years
      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