I'm not running any of the containers on the system, so it doesn't look like a permission issue. I looked at the libx2go-server-db-sqlite3-wrapper.pl and /usr/share/perl5/X2Go/Server/DB.pm and just ran perl commands to add a new port to used_ports table. It worked (as root) and I can see the new entries in x2go_sessions. However, nothing is added when I connect from remote server using x2go.
Since nobody else seems to have this problem, it's probably something related to my system, although I checked all the libraries and file permissions. I finally gave up an switched to postgresql backend. It was a pain to configure, but it works and I can suspend and restore connections now.
Thank you.
On Tue, Sep 11, 2018 at 1:03 PM Mihai Moldovan <ionic@ionic.de> wrote:
- On 09/11/2018 08:02 PM, EI wrote:
I have a very strange problem with x2goserver running on Ubuntu 18.04. I get an error message on the client side when I try to suspend the connection. I also, can't reconnect to existing connections. I haven't had this problem with 16.04.
I tried debugging the problem and I discovered that /var/lib/x2go/x2go_sessions database is not getting updated when connection is created. I tried erasing and re-creating the database, same problem.
Even running perl script manually: /usr/lib/x2go/libx2go-server-db-sqlite3-wrapper.pl <http://libx2go-server-db-sqlite3-wrapper.pl> insertsession,50,blah,blah-50-1536602027_stRkonsole_dp doesn't change the database.
Likely caused because the server is running in an LXC (or other nom-du-jour) container without necessary permissions.
Note that the database is supposed to be modified via a setuid root binary, which then calls the actual perl script. The perl script is not supposed to work correctly when called directly as an unprivileged user.
LXC is known to have problems with setuid binaries for unprivileged containers, but that seems to be a design choice.
Mihai