X2Go on FLOSS Weekly

On May 21st 2014, the two Mikes (Gabriel|DePaulo) from the X2Go core developer team were interviewed about X2Go by the famous Randal L. Schwartz (merlyn) and equally famous Randi Harper (freebsdgirl) on the FLOSS Weekly Netcast.

 

If you’re having trouble watching the embedded video on that page, try one of the below alternatives:

 

light+love,

Mike#1

 

Unity Greeter with X2Go Remote Login Support

For the Danish company Fleten.net [1] the X2Go project has recently developed X2Go integration into the Unity Greeter [3] theme of LightDM [4] in Ubuntu. Fleten.net–as a Canonical Partner–is providing FOSS based IT-services to schools and municipalities in Denmark and Norway, based on Ubuntu and X2Go.

 

This blog entry will provide a quick howto that explains how you can test this new Unity Greeter feature. Patches have already been sent upstream [5] (Canonical) and I am quite hopeful that they get accepted for inclusion, so the feature may become available in Ubuntu 13.10 and then in the next LTS release of Ubuntu.

 

[1] http://fleten.net
[2] http://wiki.x2go.org
[3] https://launchpad.net/unity-greeter
[4] https://launchpad.net/lightdm
[5] https://bugs.launchpad.net/unity-greeter/+bug/1172928

 

Installation HowTo

 

The following steps are needed to test the X2Go remote login on Ubuntu 13.04 on your own notebook. You will need a virtualization tool like qemu/KVM or Virtualbox for this setup.

  • Server-side (your notebook): Install X2Go Session Broker 0.0.2.0 or newer (from ppa:x2go/stable or from [6]) and configure the UCCS WebUI frontend
    1. Install a Ubuntu/Debian based server system.
    2. Add the X2Go package archive to APT [6,7] and install the packages x2gobroker-daemon and x2gobroker-authservice:
      $ sudo apt-get install python-software-properties # if on Ubuntu
      $ sudo add-apt-repository ppa:x2go/stable # if on Ubuntu
      $ sudo apt-get install x2gobroker-daemon x2gobroker-authservice
    3. Edit /etc/x2go/x2gobroker.conf in the depicted way:
      --- a/x2gobroker.conf       2013-04-26 00:51:20.000000000 +0200
      +++ b/x2gobroker.conf     2013-04-24 18:59:26.000000000 +0200
      @@ -72,9 +72,9 @@
       #enable-plain-output = true
      
       # enable {base_url}/uccs/
      -#enable-uccs-output = false
      +enable-uccs-output = true
       # use this URL base to create URL field in UCCS-style JSON output
      -#my-uccs-url-base = http://localhost:8080/
      +my-uccs-url-base = http://x2gobroker.localdomain:8080/
      
       # enable {base_url}/json/ (THIS IS FUTURE, mg-20121129)
       #enable-json-output = false
      @@ -219,7 +219,7 @@
       #desktop-shell = KDE
      
       [inifile]
      -#enable = false
      +enable = true
       #session-profiles = /etc/x2go/broker/x2gobroker-sessionprofiles.conf
      
       [ldap]
    4. Configure your X2Go Server session profiles in /etc/x2go/broker/x2gobroker-sessionprofiles.conf. Read the comments in that config file carefully to get a clue on how to modify the file to your needs. A simple example is this:
      [x2go-server-1]
      user=
      host=x2goserver1.somewhere.com
      sshport=22
      name=X2Go Server 1
      command=KDE
      
      [x2go-server-2]
      user=
      host=x2goserver2.somewhere.else
      sshport=22
      name=X2Go Server 2
      command=GNOME
      
      [WINDOWS]
      user=
      host=winbox.here.or.there
      name=MS Windows
      command=rdesktop
      directrdp=true

      Note that at the time of writing of the manifold X2Go session parameters only the parameter command is handled by the UCCS WebUI.

    5. Optional: Enable debug mode of the X2Go Session Broker Daemon in /etc/defaults/x2gobroker-daemon while you are still testing the whole thing.
    6. Server-side: DONE
  • Client-side (a virtual machine running on your notebook): Install a Ubuntu workstation (13.04) in Virtualbox or KVM. Use NAT’ed networking, thus in VirtualBox your notebook’s host IP will be (if you use the defaults) 10.0.2.2.
    1. Make sure you can nmap port 8080 on IP 10.0.2.2. That is the address port that the X2Go Session Broker Daemon is listening on. (The broker daemon is a http server implemented with Python Tornado.)
    2. Add an entry to /etc/hosts for 10.0.2.2 x2gobroker.localdomain x2gobroker.
    3. Test the session broker via http protocol. Enter http://x2gobroker.localdomain:8080/uccs/inifile/api/4 in your browser. The browser should then request authorization. Use your local user on your notebook and its password for authentication (X2Go Session Broker uses PAM to authenticate against). After successful authentication, some JSON data object should appear in your browser window.
    4. Now, also test this from the command line: echo <mypassword> | thin-client-config-agent <myuserid>
    5. After the connectivity has been tested you need to obtain a patched Unity Greeter and a patched Remote Login Service from Launchpad and build those packages from source:
      $ sudo apt-get install bzr
      $ sudo apt-get install devscripts debhelper ubuntu-dev-tools build-essential
      $ mkdir x2go
      $ cd x2go
      $ bzr branch lp:~m-gabriel/remote-login-service/x2go remote-login-service
      $ cd remote-login-service && get-build-deps debian/control && debuild -uc -us && cd ..
      $ bzr branch lp:~m-gabriel/unity-greeter/x2go unity-greeter
      $ cd unity-greeter && get-build-deps debian/control && debuild -uc -us && cd ..
      $ sudo dpkg -i unity-greeter*.deb remote-login-service*.deb
    6. Additionally, you need two further packages provided in the X2Go package archive (PPA) on Launchpad:
      $ sudo apt-get install python-software-properties
      $ sudo add-apt-repository ppa:x2go/stable
      $ sudo apt-get install lightdm-remote-session-x2go libpam-x2go
    7. Finally, you have to teach the Remote Login Service not to talk to Canonical’s UCCS site, but to the X2Go Session Broker installed on your notebook:
      [Remote Login Service]
      Servers=MyUCCSTest
      
      [Server MyUCCSTest]
      Name=Remote Login
      URI=http://x2gobroker.localdomain:8080/uccs/inifile/
    8. After an invoke-rc.d lightdm restart you should have a Remote Login login option on your Unity Greeter screen. Clicking that will request a username and password. As username use <myuser>@intern and <mypassword> where <myuser> and <mypassword> are the user account credentials of the user you normally use on your local notebook. With this action you logon to the UCCS-like WebUI of the X2Go Session Broker.
    9. After successful logon to the X2Go Session Broker, you should be presented the three server logons that we configured further above.
    10. Select one of the X2Go Servers (you of course have adapted the x2gobroker-sessionprofiles.conf file above to your needs…) for login.
    11. Watch the X2Go Session coming up on your screen…
    12. Client-side: DONE

 

Please note that the X2Go Session Broker still is a very young project and you might stumble over the unexpected. Please report any errors to http://bugs.x2go.org (Debbugs BTS Software).

 

light+love,

Mike Gabriel

 

[6] http://wiki.x2go.org/doku.php/wiki:repositories:debian

Co-operation between Canonical, X2Go, Edubuntu and Fleten.net in Denmark

On the last Ubuntu Developer Summit (autumn 2012 in Copenhagen) a customer of mine (Fleten.net) arranged a meeting among people from Canonical, Fleten.net, Edubuntu and X2Go (presented by me). Thanks to the CEO of Fleten.net (Kjetil Fleten) for making this meeting possible.

 

The quest is: how can X2Go become part of a Thinclient solution based on Ubuntu. In Ubuntu 12.10 it has become possible to seamlessly integrate RDP or Citrix based applications (running on MS Windows servers) into the Ubuntu Desktop (via the Remote Login feature). This is not yet possible for Linux applications running on Linux servers. We are at the edge of making this possible in the future.

 

After a one hour meeting the first steps of a cooperation between Canonical and X2Go had been taken. The plan is to provide an X2Go/PyHoca Client (probably based on Python X2Go) integration into the Remote Login concept of Ubuntu, so that also Linux Terminal Server sessions based on X2Go can be in the product portfolio of Canonical partner companies (and others) deploying X2Go in cloud scenarios.

 

The first communication on this new subproject of X2Go will take place this week. If you have any question on this journey, please feel free to contact us via our mailing list: x2go-user@lists.berlios.de. (subscription URL: http://lists.berlios.de/mailman/listinfo/x2go-user).

 

light+love,

Mike

X2Go has a new bug tracker

After unofficially having tried the Horde bug tracker ,,Whups” for while, we now have switched to a new and official X2Go BTS (X2Go Bug Tracking System).

 

The X2Go Bug Tracker is based on debbugs, the software behind the Debian BTS. The system can be controlled by mail, the webfrontend is read-only.

 

For filing bugs, please send a mail to submit@bugs.x2go.org and provide at least these two lines at the beginning of  your mail:

 

Package: <package-name>

Version: <upstream-version>

 

Below these two lines try to give as precise as possible the observed problem / issue you have with the X2Go component referred to by <package-name>.

 

Thanks for your contributions to X2Go,

Mike Gabriel

 

X2Go Session Startups for server-side Users with non-bash-like Shells (e.g. tcsh and alike)

On the X2Go user mailing list a new contributor brought up the issue that one of his users could not start up X2Go sessions. The user’s default shell is set to /usr/bin/tcsh and this cannot be changed for internal reasons.

 

I dived into that issue and discovered that it occurs with both clients (X2Go Client, PyHoca-*). The issue got fixed today, nightly built packages are available very soon from now. The fixes will be in these to-be-released versions: python-x2go >= 0.2.0.9,  x2goclient >= 3.99.2.2.

 

light+love,

Mike

Qt (>=4.8, and possibly other) applications regained window decorations (bug fix release of nxagent/x2goagent)

Today Alex and I could eliminate another bug (introduced by ourselves) in nxagent/x2goagent. A new release of NX redistributed (3.5.0.14) has been prepared today.

 

A couple of applications had lost their window decorations when launched in rootless mode (rootless = single window sessions). This issue occurs if the server is Debian wheezy or newer (for FreeNX also reports exist on the web that refer to the problem having been introduced with Ubuntu 10.10). Mostly affected were Qt applications.

 

@FreeNX developers: Please note, this bug is also present in current FreeNX nx-X11 code (as found on Launchpad). We have removed the following patch from our patchset to get this fixed:
http://code.x2go.org/gitweb?p=nx-libs.git;a=blob;f=debian/patches-refused/109_nxagent_locale-utf8-compound-text.full.patch

 

Still open issue:
Unfortunately, there is still no fix for the resume problem in current nx-X11.

 

The Debian+Ubuntu packages of this NX (redistributed) release are already available in the known (http://wiki.x2go.org/doku.php/download:start) repositories.

 

Greets,
Mike

New X2Go releases: x2goclient, pyhoca-gui, pyhoca-cli, python-x2go

 

The X2Go Project is proud to announce a couple of new X2Go component releases:

  • x2goclient (3.99.2.1)
  • pyhoca-gui (0.2.0.0)
  • pyhoca-cli (0.2.0.1)
  • python-x2go (0.2.0.3)

All new packages will be available in our stable repositories (Debian,   Ubuntu) within the next 24h.

 

The Mac OS version of x2goclient will be available within the next couple of days, the Windows client takes a little more time due to heavy workload on the developers’ side.

 

Sources and binary releases will be downloadable under this URL as  soon as they are provided by the packagers.
http://code.x2go.org/releases/

 

I personally am very proud to be able to present a long-waited-for major release of Python X2Go and PyHoca-GUI. Thanks to Dick Kniep (http://www.lindix.nl) for sponsoring this piece of software.

 

The latest API documentation of Python X2Go can be read here:
http://code.x2go.org/doc/python-x2go

 

Note: for Python X2Go, PyHoca-GUI and PyHoca-CLI, there has been a license change with this release. The three projects since 0.2.0.0 are versioned under the GNU Affero General Public License 3 (or higher) / AGPL-3+.

 

light+love,
Mike

Unscheduled bugfix release of NX (redistributed) aka nxagent/x2goagent

Due to the great contribution of Jim Burnes the X2Go team is able to bump an unscheduled bugfix release of NX (redistributed) aka x2goagent.

The provided patch  fixes recently observed crashes of X2Go occuring on systems that had been upgraded to libcairo >= 1.12.1.

The patch–as stated by its author–is still in alpha development state but it definitely fixes crashes of GTK applications under KDE, resp. startup failures of the GNOME3 fallback desktop of recent Debian wheezy/sid X2Go installations. The X2Go developers will take a closer look at the patch and–if needed–will help to improve it.

Thanks, Jim for your contribution to X2Go.

Mike

X2Go server-side packages backported for Debian lenny

You all really should have upgraded your X2Go servers to Debian squeeze…

For those who have not: we have just provided the latest releases of all server-side X2Go packages for Debian lenny. Such package backporting occurs in irregular intervals and is mostly related to some contractor who needs latest X2Go packages for not-yet upgraded servers.

Happy installation!

Mike

 

Debian lenny backport packages:

deb http://packages.x2go.org/debian lenny main

Linuxtag 2011 Berlin

Linuxtag 2011 Berlin

We will be again exhibitor on the Linuxtag 2011 Berlin. We will show the most recent developments, a complete installation our cooperative work with skolelinux and our little phoca. Please feel free to visit us, ask questions and talk about our and your ideas about the future of remote computing. See you (again) in Berlin! You’ll find us in “Halle 7.2a, Stand 117″.