Using the remote app server

Article contributed by PulkoMandy on Thu, 2014-06-12 09:46

What it is

One little known feature in Haiku is the ability to run apps on a remote system, similar to rdesktop for windows or the more common VNC. Unlike VNC (which is also available), the remote app server forwards app_server calls through the network and let the drawing happen on the client side (where the screen is). This is actually quite similar to X forwarding on unix systems.

How to use it

You need two machines running Haiku, one is the server (where the apps run), and the other is the client (where the display is).
The server needs to be configured to allow ssh access (add the sshd user, and set a password for the default user). The client needs the RemoteDesktop app, which currently needs to be compiled from the Haiku sources with "jam RemoteDesktop".

With the server powered on and online, go to the client and run:

RemoteDesktop user@host

Enter your password when requested. The app will open a fullscreen window on the current workspace and start a remote terminal inside it. From there you can start apps and do whatever you want on the remote end!

The quirks

There are several things you need to be aware when using this.

First, the redirection is done on a per-application basis, so it is not possible to use the same app both as a remote and local one. For example, if you try to start DeskBar from the remote terminal, it will instead open DeskBar preferences on the server display. You need to close the existing Deskbar (hey Deskbar quit) and start it again on the remote end. The same will happen if Terminal is already open on the server when the client connects. In that case, the app will leave you with a blank window where you can do nothing.

The RemoteDesktop is a fullscreen window, there is no "rootless" mode. You can, however, have local windows shown above it.

With some more testing, and a better error handling and more friendly interface, this could be made part of the default haiku install. Help us testing it and squashing the bugs!

Comments

Re: Using the remote app server

The source tree also has an "HTML5Canvas" folder and class, do you remember if that one is also able to connect and work, like the RemoteDesktop command does ?

Anyhow thanks for giving this exposure Adrien, looked a bit at the code and it seems it just forwards app_server raw commands, not doing screen captures like VNC does.. And trying it out it was amazingly fast, close to 100% of the 'normal' speed, this has great potential.

Re: Using the remote app server

In the future, could the remote app server be used as a epos (electronic point of sale)? I can see many possibilities with this feature in the future, and epos is just one of many!

Re: Using the remote app server

This would be a really great demo for the B1 release. Especially in conjunction with QEMU. Any chance of getting a package built for this?

Re: Using the remote app server

You can suggest it as a GCI task:
http://goo.gl/YBFmIP