This is an automated email from the git hooks/post-receive script.

x2go pushed a commit to branch master
in repository x2gothinclient.

commit b0263244b371ceaa0c4a899f0d4c966d8d178f43
Author: Stefan Baur <x2go-m...@baur-itcs.de>
Date:   Mon Jan 29 19:39:52 2024 +0000

    management/share/etc/x2gothinclient_init.d/010_x2gothinclient-fresh-home - 
Make this file check for the presence of a sessions file before continuing (a 
NO-OP on X2Go-TCE-NFS, but required on X2Go-TCE-Live, where it would create a 
race condition). Also, do not create a Desktop or Autostart link for X2GoClient 
if there is no sessions file (the lack of which makes a locked-down, read-only 
X2GoClient like the one that is the default in Minidesktop unusable)
---
 .../010_x2gothinclient-fresh-home                  | 35 +++++++++++++++++-----
 1 file changed, 28 insertions(+), 7 deletions(-)

diff --git 
a/management/share/etc/x2gothinclient_init.d/010_x2gothinclient-fresh-home 
b/management/share/etc/x2gothinclient_init.d/010_x2gothinclient-fresh-home
index fd12e7b..349e38e 100755
--- a/management/share/etc/x2gothinclient_init.d/010_x2gothinclient-fresh-home
+++ b/management/share/etc/x2gothinclient_init.d/010_x2gothinclient-fresh-home
@@ -1,9 +1,10 @@
 #!/bin/bash
 
-# Copyright (C) 2010-2019 by X2Go project, https://wiki.x2go.org
+# Copyright (C) 2010-2024 by X2Go project, https://wiki.x2go.org
 #       Oleksandr Shneyder <o.shney...@phoca-gmbh.de>
 #       Moritz 'Morty' Struebe <moritz.stru...@informatik.uni-erlangen.de>
 #       Mike Gabriel <mike.gabr...@das-netzwerkteam.de>
+#       Stefan Baur <x2go-m...@baur-itcs.de>
 
 # X2Go is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -23,9 +24,33 @@
 if [ -z "$X2GO_HANDLE_DAEMONS" ]; then
        mkdir -p ~x2gothinclient
        mkdir -p ~x2gothinclient/.x2goclient
+
+       # if the /etc/x2go/x2gothinclient_sessions download is still in progress
+       # (/etc/x2go/x2gothinclient_sessions_old exists, but no 
/etc/x2go/x2gothinclient_sessions exists yet),
+       # print a timestamped "in progress" notification to the debug log 
console window on /dev/tty8
+       # and wait one second, then check again (else we would trigger a race 
condition as to who gets to write the config file first)
+       # note that this will not in any way affect TCE-NFS or any TCE where 
/etc/x2go/x2gothinclient_sessions is a static file (i.e.
+       # where it has been included in the squashfs filesystem), because no 
file /etc/x2go/x2gothinclient_sessions_old SHOULD exist there.
+       # if this is a problem, we could consider moving *_old to 
/var/tmp/x2go/ instead, but that would make it harder to find.
+       while [ -e /etc/x2go/x2gothinclient_sessions_old ] && ! [ -e 
/etc/x2go/x2gothinclient_sessions ] ; do
+               echo -en "\n\$(date +'%F | %T | ') waiting for session config 
data download to finish ..." | tee -a /dev/tty8
+               sleep 1
+       done
+
+       # if/once /etc/x2go/x2gothinclient_sessions exists, copy it over
        if [ -e /etc/x2go/x2gothinclient_sessions ]; then
-                cp /etc/x2go/x2gothinclient_sessions 
~x2gothinclient/.x2goclient/sessions
+               cp /etc/x2go/x2gothinclient_sessions 
~x2gothinclient/.x2goclient/sessions
+
+               # if there's no sessions file, it does not make sense to add 
this link to the Desktop, so check that first,
+               # and only then check if the desktop file exists in autostart
+               if [ -e /etc/xdg/autostart/x2gothinclient-minidesktop.desktop 
]; then
+                       mkdir -p ~x2gothinclient/Desktop
+                       cp 
/etc/xdg/autostart/x2gothinclient-minidesktop.desktop ~x2gothinclient/Desktop/
+                       # newer MATE versions require *.desktop files to be 
executable, else there will be a warning/confirmation popup
+                       chmod 700 
~x2gothinclient/Desktop/x2gothinclient-minidesktop.desktop
+               fi
        fi
+
        if [ -e /etc/x2go/freerdp/known_hosts ]; then
                mkdir -p ~x2gothinclient/.freerdp
                cp /etc/x2go/freerdp/known_hosts 
~x2gothinclient/.freerdp/known_hosts
@@ -34,11 +59,7 @@ if [ -z "$X2GO_HANDLE_DAEMONS" ]; then
                mkdir -p ~x2gothinclient/.config/freerdp
                cp /etc/x2go/freerdp/known_hosts2 
~x2gothinclient/.config/freerdp/known_hosts2
        fi
-       if [ -e /etc/xdg/autostart/x2gothinclient-minidesktop.desktop ]; then
-               mkdir -p ~x2gothinclient/Desktop
-               cp /etc/xdg/autostart/x2gothinclient-minidesktop.desktop 
~x2gothinclient/Desktop/
-               chmod 0700 
~x2gothinclient/Desktop/x2gothinclient-minidesktop.desktop
-       fi
+
        mkdir -p ~x2gothinclient/.kde
        mkdir -p ~x2gothinclient/.kde/socket-`hostname`
        mkdir -p ~x2gothinclient/mounts

--
Alioth's /home/x2go-admin/maintenancescripts/git/hooks/post-receive-email on 
/srv/git/code.x2go.org/x2gothinclient.git
_______________________________________________
x2go-commits mailing list
x2go-commits@lists.x2go.org
https://lists.x2go.org/listinfo/x2go-commits

Reply via email to