Just to follow up, after uninstalling, rebooting, then reinstalling, X2Go worked. So you are correct that a port must be in use, but not sure why the lsof command did not return any results.
Some process(es) must lock on to these ports after an upgrade. Not sure if a simple nice-ing, i.e., increasing the priority of the process would help?
Hope it helps anyone who might stumble on to this thread.
On Mon, Jan 25, 2021 at 8:37 PM Robert Kudyba <rkudyba@fordham.edu> wrote:
Well it's not firewalld.
lsof -i :6050 returns nothing.
from bash x:
bash -x /usr/lib64/x2go/x2gogetfreeport $(hostname) "$(which ss)" display 50
typeset current_host_name=ourdomain.edu
typeset ss=/usr/sbin/ss
typeset type=display
typeset start=50
typeset end=65535
typeset 'empty_regex=^[[:space:]]*$'
[[ -z ourdomain.edu ]]
[[ ourdomain.edu =~ ^[[:space:]]*$ ]]
[[ ourdomain.edu = \(\n\o\n\e\) ]]
[[ ourdomain.edu = \l\o\c\a\l\h\o\s\t ]]
[[ -z /usr/sbin/ss ]]
[[ /usr/sbin/ss =~ ^[[:space:]]*$ ]]
typeset -i start_i=50
typeset -i end_i=65535
[[ -z 50 ]]
[[ 50 != \5\0 ]]
[[ 50 -ne 50 ]]
[[ 50 -lt 0 ]]
[[ 50 -gt 65535 ]]
[[ -z 65535 ]]
[[ 65535 != \6\5\5\3\5 ]]
[[ 65535 -ne 65535 ]]
[[ 65535 -lt 50 ]]
[[ 65535 -gt 65535 ]]
[[ display != \l\o\w\l\e\v\e\l ]]
[[ display != \d\i\s\p\l\a\y ]]
++ x2gopath libexec
typeset x2go_lib_path=/usr/lib64/x2go
typeset X2GO_INTERNAL_SOURCE=1
: 1
. /usr/lib64/x2go/x2gocheckport
++ [[ -z 1 ]]
++ typeset -a used_x2go_ports
++ typeset -a used_system_ports
++ typeset -a used_display_ports
++ used_x2go_ports=()
++ used_system_ports=()
++ used_display_ports=()
unset X2GO_INTERNAL_SOURCE
typeset -i ret_port=50
typeset -i ret=1
typeset -i work_port=0
typeset -i stop_port=65535
[[ display = \d\i\s\p\l\a\y ]]
stop_port=59535
(( work_port = start ))
(( i <= stop_port ))
typeset -i i=0
typeset -i value_found=0
[[ display = \d\i\s\p\l\a\y ]]
check_display_port ourdomain.edu /usr/sbin/ss 50
typeset current_host_name=ourdomain.edu
typeset ss=/usr/sbin/ss
typeset port=50
typeset 'empty_regex=^[[:space:]]*$'
[[ -z ourdomain.edu ]]
[[ ourdomain.edu =~ ^[[:space:]]*$ ]]
[[ ourdomain.edu = \(\n\o\n\e\) ]]
[[ ourdomain.edu = \l\o\c\a\l\h\o\s\t ]]
[[ -z /usr/sbin/ss ]]
[[ /usr/sbin/ss =~ ^[[:space:]]*$ ]]
typeset -i port_i=50
[[ -z 50 ]]
[[ 50 != \5\0 ]]
[[ 50 -ne 50 ]]
[[ 50 -lt 0 ]]
[[ 50 -gt 59535 ]]
typeset -i ret=0
[[ 0 -eq 0 ]]
initialize_display_ports ourdomain.edu
typeset current_host_name=ourdomain.edu
typeset 'empty_regex=^[[:space:]]*$'
[[ -z ourdomain.edu ]]
[[ ourdomain.edu =~ ^[[:space:]]*$ ]]
[[ ourdomain.edu = \(\n\o\n\e\) ]]
[[ ourdomain.edu = \l\o\c\a\l\h\o\s\t ]]
typeset -a used_display_ports_work
used_display_ports_work=()
IFS='
|'
- read -r -d '' -a used_display_ports_work
++ /usr/lib64/x2go/x2gogetdisplays ourdomain.edu
typeset -i item_i=0
typeset item=
for item in "${used_display_ports_work[@]}"
item_i=DBI
[[ -n DBI ]]
[[ DBI -eq 0 ]]
[[ DBI = \0 ]]
for item in "${used_display_ports_work[@]}"
item_i='connect('\''dbname=/var/lib/x2go/x2go_sessions'\'','\'''\'',...)'
/usr/lib64/x2go/x2gocheckport: line 131: connect('dbname=/var/lib/x2go/x2go_sessions','',...): syntax error in expression (error token is "('dbname=/var/lib/x2go/x2go_sessions','',...)")
- printf '%d\n' 50
50
- exit 1
Here's some debug from X2Go Mac Client:
x2go-INFO-1> "Starting X2Go Client 4.1.2.2..."
x2go-WARNING-1> English language requested, not loading translator.
x2go-WARNING-1> English language requested, not loading translator.
x2go-INFO-3> "Started X2Go Client."
x2go-DEBUG-../src/onmainwindow.cpp:575> "$HOME=/Users/rkudyba"
x2go-DEBUG-../src/onmainwindow.cpp:2266> Reading 2 sessions from config file.
x2go-DEBUG-../src/sessionbutton.cpp:361> Creating QPixmap with session icon: ":/img/icons/128x128/x2gosession.png".
x2go-DEBUG-../src/sessionbutton.cpp:361> Creating QPixmap with session icon: ":/img/icons/128x128/x2gosession.png".
x2go-DEBUG-../src/onmainwindow.cpp:13290> libssh not initialized yet. Initializing.
x2go-DEBUG-../src/x2goutils.cpp:219> path value at beginning: "/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Applications/VMware Fusion.app/Contents/Public:/opt/X11/bin"
x2go-DEBUG-../src/x2goutils.cpp:242> tmp_clean_add: ("/usr/local/bin")
x2go-DEBUG-../src/x2goutils.cpp:270> clean_add: ("/usr/local/bin")
x2go-DEBUG-../src/x2goutils.cpp:291> found entry i (0) in orig_path_list ("/usr/local/bin"): true
x2go-DEBUG-../src/x2goutils.cpp:309> return value at end: "/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Applications/VMware Fusion.app/Contents/Public:/opt/X11/bin"
x2go-DEBUG-../src/x2goutils.cpp:219> path value at beginning: "/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Applications/VMware Fusion.app/Contents/Public:/opt/X11/bin"
x2go-DEBUG-../src/x2goutils.cpp:242> tmp_clean_add: ("/opt/local//bin")
x2go-DEBUG-../src/x2goutils.cpp:270> clean_add: ("/opt/local//bin")
x2go-DEBUG-../src/x2goutils.cpp:291> found entry i (0) in orig_path_list ("/opt/local//bin"): false
x2go-DEBUG-../src/x2goutils.cpp:309> return value at end: "/opt/local//bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Applications/VMware Fusion.app/Contents/Public:/opt/X11/bin"
x2go-DEBUG-../src/pulsemanager.cpp:131> Found PA binary as "/Applications/x2goclient.app/Contents/exe/pulseaudio"
x2go-DEBUG-../src/pulsemanager.cpp:132> Corresponding working dir: "/Applications/x2goclient.app/Contents/exe"
x2go-DEBUG-../src/pulsemanager.cpp:369> pulseaudio --version returned:"pulseaudio 13.0-rebootstrapped
"
x2go-DEBUG-../src/pulsemanager.cpp:227> pulse started with arguments ("--exit-idle-time=-1", "-n", "-F", "/Users/rkudyba/.x2go/pulse/config.pa", "-p", "/Applications/x2goclient.app/Contents/Frameworks/pulse-13.0/modules", "--high-priority", "--log-level=debug", "--verbose", "--log-target=file:/Users/rkudyba/.x2go/pulse/pulse.log") - waiting for it to finish...
x2go-DEBUG-../src/onmainwindow.cpp:2752> Creating QPixmap with session icon: '":/img/icons/128x128/x2gosession.png"'.
x2go-DEBUG-../src/onmainwindow.cpp:6771> Setting focus.
x2go-INFO-8> "Starting connection to server: ourdomain.edu:22"
x2go-DEBUG-../src/onmainwindow.cpp:2853> Starting new ssh connection to server:"ourdomain.edu":"22" krbLogin: false
x2go-DEBUG-../src/sshmasterconnection.cpp:168> SshMasterConnection, host " ourdomain.edu"; port 22; user "localguy"; useproxy false; proxyserver ""; proxyport 22
x2go-DEBUG-../src/sshmasterconnection.cpp:248> Starting SSH connection without Kerberos authentication.
x2go-DEBUG-../src/sshmasterconnection.cpp:250> SshMasterConnection, instance SshMasterConnection(0x7fe92e5bcd00) created.
x2go-DEBUG-../src/sshmasterconnection.cpp:495> SshMasterConnection, instance SshMasterConnection(0x7fe92e5bcd00) entering thread.
x2go-DEBUG-../src/sshmasterconnection.cpp:797> Session port before config file parse: 22
x2go-DEBUG-../src/sshmasterconnection.cpp:807> Session port after config file parse: 22
x2go-DEBUG-../src/sshmasterconnection.cpp:870> Session port before config file parse (part 2): 22
x2go-DEBUG-../src/sshmasterconnection.cpp:880> Session port after config file parse (part 2): 22
x2go-DEBUG-../src/sshmasterconnection.cpp:904> cserverAuth
x2go-DEBUG-../src/sshmasterconnection.cpp:943> state: 1
x2go-DEBUG-../src/sshmasterconnection.cpp:1218> Trying password mechanism if available.
x2go-DEBUG-../src/sshmasterconnection.cpp:1222> Password mechanism available. Continuing.
x2go-DEBUG-../src/sshmasterconnection.cpp:687> User authentication OK.
x2go-DEBUG-../src/sshmasterconnection.cpp:1708> LOGIN CHECK:"LOGIN OK
"
x2go-DEBUG-../src/sshmasterconnection.cpp:1711> don't have interaction
x2go-DEBUG-../src/sshmasterconnection.cpp:1744> LOOP FINISHED
x2go-DEBUG-../src/sshmasterconnection.cpp:1748> No interaction needed, continue session
x2go-DEBUG-../src/sshmasterconnection.cpp:702> Login Check - OK
x2go-DEBUG-../src/onmainwindow.cpp:2947> SSH connection established.
x2go-DEBUG-../src/onmainwindow.cpp:3374> Continue normal X2Go session
x2go-DEBUG-../src/sshprocess.cpp:199> Executing remote command via SshProcess object 0: "x2golistsessions"
x2go-DEBUG-../src/sshprocess.cpp:213> this=SshProcess(0x7fe92e6c1450) Running masterCon->addChannelConnection(this, ' "8c7a9bb9-2997-40cc-95d8-fd196ab46804" ', ' "bash -l -c 'echo "X2GODATABEGIN:8c7a9bb9-2997-40cc-95d8-fd196ab46804"; export PATH="/usr/local/bin:/usr/bin:/bin";export TERM="dumb"; x2golistsessions; echo "X2GODATAEND:8c7a9bb9-2997-40cc-95d8-fd196a" ');
x2go-DEBUG-../src/sshmasterconnection.cpp:1810> Locking SSH channel connection MUTEX.
x2go-DEBUG-../src/sshmasterconnection.cpp:1812> Passing new channel connection object to channelConnections.
x2go-DEBUG-../src/sshmasterconnection.cpp:1814> Unlocking SSH channel connection MUTEX.
x2go-DEBUG-../src/sshmasterconnection.cpp:1977> Creating new channel.
x2go-DEBUG-../src/sshmasterconnection.cpp:1990> New channel:0x7fe92e5da590
x2go-DEBUG-../src/sshmasterconnection.cpp:2065> Executing remote: "bash -l -c 'echo "X2GODATABEGIN:8c7a9bb9-2997-40cc-95d8-fd196ab46804"; export PATH="/usr/local/bin:/usr/bin:/bin";export TERM="dumb"; x2golistsessions; echo "X2GODATAEND:8c7a9bb9-2997-40cc-95d8-fd196ab46804";'"
x2go-DEBUG-../src/sshmasterconnection.cpp:2082> New exec channel created.
x2go-DEBUG-../src/sshmasterconnection.cpp:2165> EOF on channel 0x7fe92e5da590; SshProcess object: 0
x2go-DEBUG-../src/sshmasterconnection.cpp:2222> EOF sent.
x2go-DEBUG-../src/sshmasterconnection.cpp:2224> Channel closed.
x2go-DEBUG-../src/sshprocess.cpp:532> SSH finished: raw output (stdout): "X2GODATABEGIN:8c7a9bb9-2997-40cc-95d8-fd196ab46804
DBIconnect('dbname=/var/lib/x2go/x2go_sessions','',...)failed:unabletoopendatabasefileat/usr/share/perl5/vendor_perl/X2Go/Server/DB/SQLite3.pmline66.
X2GODATAEND:8c7a9bb9-2997-40cc-95d8-fd196ab46804
"
x2go-DEBUG-../src/sshprocess.cpp:543> SSH finished: true - "DBIconnect('dbname=/var/lib/x2go/x2go_sessions','',...)failed:unabletoopendatabasefileat/usr/share/perl5/vendor_perl/X2Go/Server/DB/SQLite3.pmline66.
" (0).
x2go-DEBUG-../src/onmainwindow.cpp:3861> "DBIconnect('dbname=/var/lib/x2go/x2go_sessions','',...)failed:unabletoopendatabasefileat/usr/share/perl5/vendor_perl/X2Go/Server/DB/SQLite3.pmline66.
"
x2go-DEBUG-../src/onmainwindow.cpp:4521> Executing remote command: "X2GODPI=72 X2GO_XINERAMA=no x2gostartagent 800x600 adsl 16m-jpeg-9 unix-kde-depth_32 us query 0 D MATE both"
x2go-DEBUG-../src/sshprocess.cpp:199> Executing remote command via SshProcess object 1: "X2GODPI=72 X2GO_XINERAMA=no x2gostartagent 800x600 adsl 16m-jpeg-9 unix-kde-depth_32 us query 0 D MATE both"
x2go-DEBUG-../src/sshprocess.cpp:213> this=SshProcess(0x7fe92e5f7ef0) Running masterCon->addChannelConnection(this, ' "563c9735-72a3-44ce-a284-7519be6288bc" ', ' "bash -l -c 'echo "X2GODATABEGIN:563c9735-72a3-44ce-a284-7519be6288bc"; export PATH="/usr/local/bin:/usr/bin:/bin";export TERM="dumb"; X2GODPI=72 X2GO_XINERAMA=no x2gostartagent 800x600 adsl 16m-jpeg-9" ');
x2go-DEBUG-../src/sshmasterconnection.cpp:1810> Locking SSH channel connection MUTEX.
x2go-DEBUG-../src/sshmasterconnection.cpp:1812> Passing new channel connection object to channelConnections.
x2go-DEBUG-../src/sshmasterconnection.cpp:1814> Unlocking SSH channel connection MUTEX.
x2go-DEBUG-../src/sshmasterconnection.cpp:1977> Creating new channel.
x2go-DEBUG-../src/sshmasterconnection.cpp:1990> New channel:0x7fe92e66ac60
x2go-DEBUG-../src/sshmasterconnection.cpp:2065> Executing remote: "bash -l -c 'echo "X2GODATABEGIN:563c9735-72a3-44ce-a284-7519be6288bc"; export PATH="/usr/local/bin:/usr/bin:/bin";export TERM="dumb"; X2GODPI=72 X2GO_XINERAMA=no x2gostartagent 800x600 adsl 16m-jpeg-9 unix-kde-depth_32 us query 0 D MATE both; echo "X2GODATAEND:563c9735-72a3-44ce-a284-7519be6288bc";'"
x2go-DEBUG-../src/sshmasterconnection.cpp:2082> New exec channel created.
x2go-DEBUG-../src/sshmasterconnection.cpp:2165> EOF on channel 0x7fe92e66ac60; SshProcess object: 1
x2go-DEBUG-../src/sshmasterconnection.cpp:2222> EOF sent.
x2go-DEBUG-../src/sshmasterconnection.cpp:2224> Channel closed.
x2go-DEBUG-../src/sshprocess.cpp:532> SSH finished: raw output (stdout): "X2GODATABEGIN:563c9735-72a3-44ce-a284-7519be6288bc
X2GODATAEND:563c9735-72a3-44ce-a284-7519be6288bc
"
x2go-DEBUG-../src/sshprocess.cpp:538> Have stderr only, something must be wrong.
x2go-DEBUG-../src/sshprocess.cpp:543> SSH finished: false - "/usr/lib64/x2go/x2gocheckport: line 131: connect('dbname=/var/lib/x2go/x2go_sessions','',...): syntax error in expression (error token is "('dbname=/var/lib/x2go/x2go_sessions','',...)")
/usr/lib64/x2go/x2gocheckport: line 131: connect('dbname=/var/lib/x2go/x2go_sessions','',...): syntax error in expression (error token is "('dbname=/var/lib/x2go/x2go_sessions','',...)")
/usr/lib64/x2go/x2gocheckport: line 131: connect('dbname=/var/lib/x2go/x2go_sessions','',...): syntax error in expression (error token is "('dbname=/var/lib/x2go/x2go_sessions','',...)")
/usr/lib64/x2go/x2gocheckport: line 131: connect('dbname=/var/lib/x2go/x2go_sessions','',...): syntax error in expression (error token is "('dbname=/var/lib/x2go/x2go_sessions','',...)")
/usr/lib64/x2go/x2gocheckport: line 131: connect('dbname=/var/lib/x2go/x2go_sessions','',...): syntax error in expression (error token is "('dbname=/var/lib/x2go/x2go_sessions','',...)")
/usr/lib64/x2go/x2gocheckport: line 131: connect('dbname=/var/lib/x2go/x2go_sessions','',...): syntax error in expression (error token is "('dbname=/var/lib/x2go/x2go_sessions','',...)")
/usr/lib64/x2go/x2gocheckport: line 131: connect('dbname=/var/lib/x2go/x2go_sessions','',...): syntax error in expression (error token is "('dbname=/var/lib/x2go/x2go_sessions','',...)")
/usr/lib64/x2go/x2gocheckport: line 131: connect('dbname=/var/lib/x2go/x2go_sessions','',...): syntax error in expression (error token is "('dbname=/var/lib/x2go/x2go_sessions','',...)")
/usr/lib64/x2go/x2gocheckport: line 131: connect('dbname=/var/lib/x2go/x2go_sessions','',...): syntax error in expression (error token is "('dbname=/var/lib/x2go/x2go_sessions','',...)")
/usr/lib64/x2go/x2gocheckport: line 131: connect('dbname=/var/lib/x2go/x2go_sessions','',...): syntax error in expression (error token is "('dbname=/var/lib/x2go/x2go_sessions','',...)")
Unable to find free display port or insert new session into database; parameters: port (50), hostname (ourdomain.edu) and session name ().
" (1).
x2go-DEBUG-../src/onmainwindow.cpp:5425> Agent output: "/usr/lib64/x2go/x2gocheckport: line 131: connect('dbname=/var/lib/x2go/x2go_sessions','',...): syntax error in expression (error token is "('dbname=/var/lib/x2go/x2go_sessions','',...)")
/usr/lib64/x2go/x2gocheckport: line 131: connect('dbname=/var/lib/x2go/x2go_sessions','',...): syntax error in expression (error token is "('dbname=/var/lib/x2go/x2go_sessions','',...)")
/usr/lib64/x2go/x2gocheckport: line 131: connect('dbname=/var/lib/x2go/x2go_sessions','',...): syntax error in expression (error token is "('dbname=/var/lib/x2go/x2go_sessions','',...)")
/usr/lib64/x2go/x2gocheckport: line 131: connect('dbname=/var/lib/x2go/x2go_sessions','',...): syntax error in expression (error token is "('dbname=/var/lib/x2go/x2go_sessions','',...)")
/usr/lib64/x2go/x2gocheckport: line 131: connect('dbname=/var/lib/x2go/x2go_sessions','',...): syntax error in expression (error token is "('dbname=/var/lib/x2go/x2go_sessions','',...)")
/usr/lib64/x2go/x2gocheckport: line 131: connect('dbname=/var/lib/x2go/x2go_sessions','',...): syntax error in expression (error token is "('dbname=/var/lib/x2go/x2go_sessions','',...)")
/usr/lib64/x2go/x2gocheckport: line 131: connect('dbname=/var/lib/x2go/x2go_sessions','',...): syntax error in expression (error token is "('dbname=/var/lib/x2go/x2go_sessions','',...)")
/usr/lib64/x2go/x2gocheckport: line 131: connect('dbname=/var/lib/x2go/x2go_sessions','',...): syntax error in expression (error token is "('dbname=/var/lib/x2go/x2go_sessions','',...)")
/usr/lib64/x2go/x2gocheckport: line 131: connect('dbname=/var/lib/x2go/x2go_sessions','',...): syntax error in expression (error token is "('dbname=/var/lib/x2go/x2go_sessions','',...)")
/usr/lib64/x2go/x2gocheckport: line 131: connect('dbname=/var/lib/x2go/x2go_sessions','',...): syntax error in expression (error token is "('dbname=/var/lib/x2go/x2go_sessions','',...)")
Unable to find free display port or insert new session into database; parameters: port (50), hostname (ourserver.edu) and session name ().
"
2021-01-25 20:31:36.264 x2goclient[4934:264698] modalSession has been exited prematurely - check for a reentrant call to endModalSession:
x2go-DEBUG-../src/onmainwindow.cpp:6771> Setting focus.
On Mon, Jan 25, 2021 at 5:49 PM Ulrich Sibiller <ulrich.sibiller@gmail.com> wrote:
Well, here's the code producing that output:
typeset -i retry='0' typeset -i max_retry='10' typeset output='' for ((retry = 0; retry < max_retry; ++retry)); do typeset -i free_port="${X2GO_PORT}" if free_port="$("${X2GO_LIB_PATH}/x2gogetfreeport" "${current_host_name}" "${ss}" 'display' "${X2GO_PORT}")"; then X2GO_PORT="${free_port}"
if [[ -n "${SHADREQ_USER}" ]]; then
SESSION_NAME="${SHADREQ_USER}-${X2GO_PORT}-$(date '+%s')" else SESSION_NAME="${USER}-${X2GO_PORT}-$(date '+%s')" fi if [[ -n "${COLORDEPTH}" ]]; then
SESSION_NAME="${SESSION_NAME}_st${SESSION_TYPE}${X2GO_CMD}_dp${COLORDEPTH}" SESSION_NAME="${SESSION_NAME//:/PP}" fi
# sanitize session name SESSION_NAME="$(perl -pe 's/[^a-zA-Z0-9\.\_\-\@]//g'
<<< "${SESSION_NAME}")"
if [[ -n "${SHADREQ_USER}" ]]; then "${X2GO_LIB_PATH}/x2gosyslog" "${0}" 'debug'
"initializing new shadow session with ID ${SESSION_NAME}"
output="$("${X2GO_LIB_PATH}/x2goinsertshadowsession" "${X2GO_PORT}" "${current_host_name}" "${SESSION_NAME}" "${SHADREQ_USER}")" else "${X2GO_LIB_PATH}/x2gosyslog" "${0}" 'debug' "initializing new session with ID ${SESSION_NAME}" output="$("${X2GO_LIB_PATH}/x2goinsertsession" "${X2GO_PORT}" "${current_host_name}" "${SESSION_NAME}")" fi
if [[ "${output}" = 'inserted' ]]; then break else "${X2GO_LIB_PATH}/x2gosyslog" "${0}" 'warning'
"unable to insert display port into database. Retrying (run $((retry + 1)))." fi else "${X2GO_LIB_PATH}/x2gosyslog" "${0}" 'warning' "no free display number available, cannot start new session. Retrying (run $((retry + 1)))." fi done
if [[ "${output}" != 'inserted' ]]; then typeset msg="Unable to find free display port or insert new session into database; parameters: port (${X2GO_PORT}), hostname (${current_host_name}) and session name (${SESSION_NAME})." "${X2GO_LIB_PATH}/x2gosyslog" "${0}" 'err' "${msg}"
# Make x2goclient fail. echo "${msg}" >&2 exit '10'
fi
This boils down to
for ((retry = 0; retry < max_retry; ++retry)); do typeset -i free_port="${X2GO_PORT}" if free_port="$("${X2GO_LIB_PATH}/x2gogetfreeport" "${current_host_name}" "${ss}" 'display' "${X2GO_PORT}")"; then ... else "${X2GO_LIB_PATH}/x2gosyslog" "${0}" 'warning' "no free display number available, cannot start new session. Retrying (run $((retry + 1)))." fi done
-> as you can see x2gofreeport does not seem to report the port as free. You can try this manually:
/usr/lib/x2go/x2gogetfreeport $(hostname) "$(which ss)" display 50
If that will output a free port x2go should generally work. If not, you still have something running and blocking these ports. You can check with lsof -i :6050 and you will see who is blocking the first checked port.
You can also run the x2gogefreeport with bash -x: bash -x /usr/lib/x2go/x2gogetfreeport $(hostname) "$(which ss)" display 50
and see what going on.
Hope that helps,
Uli
On Mon, Jan 25, 2021 at 8:50 PM Robert Kudyba <rkudyba@fordham.edu> wrote:
I posted a similar issue back in Nov, 2020 at
https://www.mail-archive.com/x2go-dev@lists.x2go.org/msg06284.html
rpm -qa|grep -i x2go x2goclient-4.1.2.2-3.fc33.x86_64 x2goserver-common-4.1.0.3-9.fc33.noarch perl-X2Go-Server-4.1.0.3-9.fc33.noarch perl-X2Go-Log-4.1.0.3-9.fc33.noarch perl-X2Go-Server-DB-4.1.0.3-9.fc33.x86_64 x2goagent-4.1.0.3-9.fc33.x86_64 x2goserver-xsession-4.1.0.3-9.fc33.noarch x2goserver-4.1.0.3-9.fc33.x86_64
nxagent -display :55 NXAGENT - Version 3.5.99.25
Jan 25 14:14:29 pascal /usr/bin/x2gostartagent[39654]: no free display
Jan 25 14:14:30 pascal /usr/bin/x2gostartagent[39663]: no free display number available, cannot start new session. Retrying (run 2). Jan 25 14:14:30 pascal /usr/bin/x2gostartagent[39672]: no free display number available, cannot start new session. Retrying (run 3). Jan 25 14:14:30 pascal /usr/bin/x2gostartagent[39681]: no free display number available, cannot start new session. Retrying (run 4). Jan 25 14:14:30 pascal /usr/bin/x2gostartagent[39690]: no free display number available, cannot start new session. Retrying (run 5). Jan 25 14:14:30 pascal /usr/bin/x2gostartagent[39699]: no free display number available, cannot start new session. Retrying (run 6). Jan 25 14:14:30 pascal /usr/bin/x2gostartagent[39708]: no free display number available, cannot start new session. Retrying (run 7). Jan 25 14:14:30 pascal /usr/bin/x2gostartagent[39717]: no free display number available, cannot start new session. Retrying (run 8). Jan 25 14:14:31 pascal /usr/bin/x2gostartagent[39726]: no free display number available, cannot start new session. Retrying (run 9). Jan 25 14:14:31 pascal /usr/bin/x2gostartagent[39736]: no free display number available, cannot start new session. Retrying (run 10). Jan 25 14:14:31 pascal /usr/bin/x2gostartagent[39737]: Unable to find free display port or insert new session into database; parameters: port (50), hostname (pascal.dsm.fordham.edu) and session name (). Jan 25 14:14:31 pascal kernel: kauditd_printk_skb: 21 callbacks suppressed
Let me to https://unix.stackexchange.com/questions/467507/x2go-unable-to-find-free-dis... so I ran x2godbadmin --createdb
Then I tried with another use and got: Connection failed. /usr/lib64/x2go/x2gocheckport: line 131: connect('dbname=/var/lib/x2go/x2go_sessions','',...): syntax error in expression (error token is "('dbname=/var/lib/x2go/x2go_sessions','',...)") /usr/lib64/x2go/x2gocheckport: line 131: connect('dbname=/var/lib/x2go/x2go_sessions','',...): syntax error in expression (error token is "('dbname=/var/lib/x2go/x2go_sessions','',...)") /usr/lib64/x2go/x2gocheckport: line 131: connect('dbname=/var/lib/x2go/x2go_sessions','',...): syntax error in expression (error token is "('dbname=/var/lib/x2go/x2go_sessions','',...)") /usr/lib64/x2go/x2gocheckport: line 131: connect('dbname=/var/lib/x2go/x2go_sessions','',...): syntax error in expression (error token is "('dbname=/var/lib/x2go/x2go_sessions','',...)") /usr/lib64/x2go/x2gocheckport: line 131: connect('dbname=/var/lib/x2go/x2go_sessions','',...): syntax error in expression (error token is "('dbname=/var/lib/x2go/x2go_sessions','',...)") /usr/lib64/x2go/x2gocheckport: line 131: connect('dbname=/var/lib/x2go/x2go_sessions','',...): syntax error in expression (error token is "('dbname=/var/lib/x2go/x2go_sessions','',...)") /usr/lib64/x2go/x2gocheckport: line 131: connect('dbname=/var/lib/x2go/x2go_sessions','',...): syntax error in expression (error token is "('dbname=/var/lib/x2go/x2go_sessions','',...)") /usr/lib64/x2go/x2gocheckport: line 131: connect('dbname=/var/lib/x2go/x2go_sessions','',...): syntax error in expression (error token is "('dbname=/var/lib/x2go/x2go_sessions','',...)") /usr/lib64/x2go/x2gocheckport: line 131: connect('dbname=/var/lib/x2go/x2go_sessions','',...): syntax error in expression (error token is "('dbname=/var/lib/x2go/x2go_sessions','',...)") /usr/lib64/x2go/x2gocheckport: line 131: connect('dbname=/var/lib/x2go/x2go_sessions','',...): syntax error in expression (error token is "('dbname=/var/lib/x2go/x2go_sessions','',...)") Unable to find free display port or insert new session into database;
number available, cannot start new session. Retrying (run 1). parameters: port (50), hostname (oudomain.edu) and session name ().
How does one start X2Go Windows with debug enabled? I only found for
Mac you can add the --debug flag.
My colleague also had this error:
XSession-x2go: X session started for moniot at Mon Jan 25 09:01:13 EST
2021
** Message: 09:01:15.605: couldn't access control socket: /run/user/1200/keyring/control: No such file or directory SSH_AUTH_SOCK=/run/user/1200/keyring/ssh
** (mate-settings-daemon:1436112): WARNING **: 09:01:16.172: Could not open RFKILL control device, please verify your installation SSH_AUTH_SOCK=/run/user/1200/keyring/ssh SSH_AUTH_SOCK=/run/user/1200/keyring/ssh vmware-user: could not open /proc/fs/vmblock/dev Error: /usr/bin/vmtoolsd must be run inside a virtual machine on a VMware hypervisor product. SSH_AUTH_SOCK=/run/user/1200/keyring/ssh
(caja:1436133): Gtk-WARNING **: 09:01:17.552: Failed to register client: GDBus.Error:org.gnome.SessionManager.AlreadyRegistered: Unable to register client *** ERROR *** TI:09:01:17 TH:0x56299587f960 FI:gpm-manager.c FN:gpm_manager_systemd_inhibit,1786
- Error in dbus - GDBus.Error:org.freedesktop.DBus.Error.AccessDenied: Permission denied Traceback: mate-power-manager(+0x1d474) [0x562995487474] mate-power-manager(+0x136ab) [0x56299547d6ab] /lib64/libgobject-2.0.so.0(g_type_create_instance+0x248) [0x7f04c0b72498] /lib64/libgobject-2.0.so.0(+0x19205) [0x7f04c0b58205] /lib64/libgobject-2.0.so.0(g_object_new_with_properties+0x1dd) [0x7f04c0b596ad] /lib64/libgobject-2.0.so.0(g_object_new+0xc1) [0x7f04c0b5a331] mate-power-manager(+0x15f16) [0x56299547ff16] mate-power-manager(+0xb20a) [0x56299547520a] /lib64/libc.so.6(__libc_start_main+0xf2) [0x7f04c0708082] mate-power-manager(+0xb58e) [0x56299547558e] Failure: Module initialization failed SELinux Troubleshooter: Applet requires SELinux be enabled to run Initializing caja-open-terminal extension Initializing caja-xattr-tags extension Initializing caja-image-converter extension ICE default IO error handler doing an exit(), pid = 1436318, errno = 32
(mate-settings-daemon:1436112): GLib-GIO-WARNING **: 09:02:44.229: Error releasing name org.mate.SettingsDaemon.Rfkill: The connection is closed [1611583276,000,xklavier.c:xkl_engine_start_listen/] The backend does not require manual layout management - but it is provided by the application