nx-libs icon indicating copy to clipboard operation
nx-libs copied to clipboard

(x2go-)Bug with screensaving?

Open uli42 opened this issue 4 years ago • 3 comments

(09:58:28) eoli3n: i have a strange bug (09:58:59) eoli3n: after a while, if i keep my session open on x2go but don't use it, it seems to freeze (09:59:15) eoli3n: but i can see that desktop clock is running, so i just can't operate in my session (09:59:28) eoli3n: i occurs with linux and windows x2goclient (09:59:55) eoli3n: i can't define what triggers this, i think about after some minutes not using it (10:00:35) eoli3n: with xfce4 DE (11:44:30) egy: unfortunately i don't know about that. someone more knowledgeable in the channel might reply (11:48:41) eoli3n: i found what fails (11:48:47) eoli3n: its screensaver (11:49:00) eoli3n: i'm trying to run "xset s off" at the start of each session (11:49:16) eoli3n: i added a 98custom file in /etc/x2go/xsessions.d/ dir (11:49:20) eoli3n: but it doesn't work (11:49:30) eoli3n: the line isn't run (11:49:46) eoli3n: because when i query the value with "xset q" i can still see that screensaver is on (11:49:57) eoli3n: i created a dir xinitrc.d (11:50:10) eoli3n: and move my script into it, chmod +x but still not run (11:50:21) eoli3n: how to run a script for each sessions ? (11:56:34) eoli3n: /etc/x2go/Xsession seems not executed (11:56:50) eoli3n: the lack of documentation and a good issue tracker is really not helpful... (11:56:55) eoli3n: x2go is A MESS (11:57:12) eoli3n: its a shame in 2020 (12:32:24) akik: eoli3n: there's another place for those scripts (12:34:56) akik: eoli3n: /usr/lib64/x2go/extensions (12:43:18) eoli3n: thanks lets try (13:31:33) eoli3n: problem was not Xsession, it was xset command i run was overrided by xfce4-power-manager (13:31:34) eoli3n: ... (13:34:12) akik: eoli3n: so xsessions.d worked too? (13:35:15) eoli3n: it does, i saw this by grep -i xsession /var/log/syslog

uli42 avatar Nov 08 '20 12:11 uli42

I had something similar today and could debug it. It is tied to this Code in Handlers.c:

    233   /*
    234    * Slow down the agent if the session is not connected to a valid
    235    * display.
    236    */
    237 
    238   if (NXDisplayError(nxagentDisplay) == 1 && nxagentShadowCounter == 0 && nxagentOption(SleepTimeMillis) > 0)
    239   {
    240 #ifdef TEST
    241     fprintf(stderr, "nxagentBlockHandler: sleeping for %d milliseconds for slowdown.\n",
    242                     nxagentOption(SleepTimeMillis));
    243 #endif
    244     usleep(nxagentOption(SleepTimeMillis) * 1000);
    245 
    246     now = GetTimeInMillis();
    247   }

After setting SleepTimeMillis to 0 using a debugger the session became usable again. So a feasible workaround is to add X2GO_NXOPTIONS="sleep=0" to /etc/x2go/x2goagent.options

uli42 avatar Nov 20 '20 17:11 uli42

This is basically the same problem as described in #903. However, it is unclear what made NXDisplayError() return True in this case because the session was still up.

uli42 avatar Nov 20 '20 17:11 uli42

We have a fix for #903, we will see if that helps for this issue once that fix is merged. The mentioned fix is #977

uli42 avatar Jan 04 '21 20:01 uli42