UnifiedSessionsManager - ctys

The "UnifiedSessionsManager" a.k.a. "ctys" - "Commutate To Your Sessions" - is a unified and simplified command line nterface for usage and management of local and remote sessions on physical and virtual machines.

The main advance offered by the UnifiedSessionsManager is the simplified provisioning and daily use of complex runtime environments.

  • Management of distributed and stacked Virtual Machines.
  • Management of Desktops and Workspaces on Multiple Monitors.
  • Seamless access to all types of sessions.
  • Support of encrypted connections only, based on SSH.


The emphasis is clearly on the neatless integrated and standardized user interface for all supported session types. The main building block for the applicability of the user interface is beneath the standardized command interface the handling of the desktop presentation of the managed entities supported by the "Xinerama" mode of X11.

  • Support of neatless logical addressing for multiple screens.
  • Sub-positioning by screen aliases as customized in standard "/etc/X11/xorg.conf".
  • Handling of multiple "Screen Layouts" independent from the actually loaded layout.
  • Support for multiple desktops/workspaces.

The following example shows the advance for repetitive calls, once the configuration is stored within a MACRO and/or GROUP file.

Physical Screen View

This physical screen layout contains(almost all entities are Trademarks):

  • 1x VMSTACK with 3 nested Layers of PM+XEN+QEMU with additional CONSOLE and VNC sessions.
  • 4x CentOS, , 1x Fedora-8, 1x SuSE-9.2, 1x SuSE-10.2, 1x OpenSUSE-10.3, 1x 1x debian-4r3, Ubuntu-6.06.1, 1x Ubuntu-8.04, 1x OpenBSD-4.0, 1x OpenBSD-4.3, 1x Solaris-10, 1x MS-Windows2000
  • 2x EMACSAM-Consoles
  • 4x VNC-Consoles
  • 5x X11-Consoles(gnome-terminal)

  • utilized by QEMU, XEN, and VMware

Where all of them require different specific context-options due to presentation, security, and VM-Creation-Call requirements.

The benefit of the GROUPs and MACROs feature becomes quickly obvious, when the previous example is displayed by it's screenshot as resulting from the logical Xinerama-Screen.

Logical Xinerama Layout

The whole bunch of required calls could be pre-configured by MACROs and/or GROUPs with additional standard shell calls, for example could be reduced to the group named "mydesktop". This includes the required boot of physical and virtual machines as well as the requested clients and/or consoles for presentation and access on the local desktop.

The resulting call to be used for daily work for setup of the desktop from the scratch is now:

  • "ctys mydesktop"

The termination of the group could be prepared even easier, when the STACK-Propagation feature of CANCEL is utilized, thus resulting in a call like:

  • ctys -t PM -a cancel myhostlist


Initial native support is provided for CLI, X11, VNC, QEMU, VMW(VMware-Workstation/Server/Player), XEN, and with the distributions CentOS/RHEL, Fedora, OpenSUSE, Debian, Ubuntu, OpenBSD, and Solaris.

Any other GuestOS is supported by means of control of the hypervisor.

Next versions are foreseen to support in addition VMware(iESX), XenServer, VirtualBox, KVM and the OS Mandriva, and FreeBSD. Support of integrated cross-development for embedded devices based on Qemu for QNX, uCLinux and FreeRTOS with initally ARM devices is planned too.


The provided licence is GPL3 since 02/2008.