Thursday, October 25, 2012

Looking for NX Client for Android or Blackberry 10? Try bVNC Secure!

I have started building NX-like functionality into my SSH tunnelling VNC client, bVNC Secure, starting with bVNC Secure v.2.9.1. The VNC client can now automatically find and attach to existing X sessions, or launch new X sessions on demand, much like NX. It is also similar in responsiveness to NX.

bVNC is an Android 2.2+ and Blackberry 10/Playbook application, available on Google Play and App World respectively. Find it on your mobile device or here:

Google Play, for devices running Android 2.2+, or here:

App World for Blackberry Playbook and Blackberry 10 devices.

There is also a fully-featured free version of bVNC. Buying the donation version of bVNC from Google Play and App World is greatly appreciated.

The NX-like mode is called AutoX and can be configured by tapping a button on the main connection screen, once one selects the "Secure VNC over SSH" connection type. The underlying mechanism for finding and/or starting remote X-sessions is the x11vnc VNC server starting Xvfb, Xvnc or Xdummy to run a nested X server. You also need OpenSSH to tunnel to your computer.

To have the necessary server-side packages, you need to install x11vnc, xvfb, and if you want to try Xvnc mode, vnc4server. To install them on Ubuntu/Debian, one would do:
sudo apt-get install x11vnc xvfb vnc4server openssh-server
Once the packages are installed, start bVNC, enter the address of the server, username/password of your account, and tap on the "Configure AutoX" button.

Select the connection mode, and tap Confirm. For users who want to select a specific session program to run, tap the Advanced settings button.

Finding existing X-sessions is compatible with ALL window managers.

Creating new X-sessions automatically is known to be generally compatible with:

- Kubuntu and KDE4 in general
- Xubuntu and Xfce in general
- Ubuntu 12.04 and Unity2D
- Ubuntu 12.10 with any window manager other than Unity installed (e.g. one of Gnome3, Xfce, KDE4, Mate, Trinity Desktop Environment, LXDE, etc.
- Gnome2 (possibly Mate, but not tested yet)
- KDE3 (possibly Trinity, but not tested yet)
- Gnome3 in "classic" mode.
- Unity2D

Caveats include:

- To find the X-login screen, you need to be a sudoer and be connecting with a password (not an ssh key).

- Finding existing X-sessions and finding the X login screen works fine with Ubuntu 12.10. Finding existing sessions works fine with Ubuntu 12.04, but finding the X-login screen does not work (needs to be bug-reported).

- Unity 3D with Compiz will not run correctly under Xvfb or Xvnc, so for now, use another window manager (needs to be bug-reported).

- Unity2D works fine on Ubuntu 12.04, however Unity2D is not available on Ubuntu 12.10 and later.

- Detaching from a running KDE4 session may cause KDE to not be able to launch any more KDE programs (needs to be bug-reported).

Experiment and let me know about your experiences in the comments below! Please also help report bugs to Ubuntu/Debian and any other Linux distribution so this mode starts working flawlessly!