In both the current and patched versions of X2GoClient, changing the X11 
keyboard map on the client side seems to have no immediate impact on an active 
X2Go session. If a session is suspended, though, the session’s keyboard map 
does get updated when it’s resumed by either version.

 

I believe this is the case because the client only constructs a keyboard map 
during the first keyboard update in ONMainWindow::slotSetModMap. This map is 
held in memory and reused by subsequent keyboard updates until it is deleted 
during a session suspension or termination.

 

(It’s worth noting that macOS uses an entirely-separate mechanism for managing 
the keyboard layout for non-X11 programs. Changing the keyboard layout in 
System Preferences affects the Qt components of X2GoClient, but anything 
X11-based is not affected by those changes. Only the X11 keyboard map as 
reported by xmodmap is used by local X11 apps and by X2GoClient’s keyboard map 
builder.)

 

Tom

 

From: Ulrich Sibiller <ulrich.sibil...@gmail.com>
Reply-To: "ul...@gmx.de" <ul...@gmx.de>
Date: Tuesday, November 3, 2020 at 1:30 AM
To: Tom Yearke <tyea...@buffalo.edu>, "1...@bugs.x2go.org" <1...@bugs.x2go.org>
Cc: "sub...@bugs.x2go.org" <sub...@bugs.x2go.org>
Subject: Re: [X2Go-Dev] Bug#1502: macOS X2GoClient keyboard map updates crash 
specific server applications, spike server CPU usage

 

Thanks for the patch. Keyboard on MacOS is special. As I do not have/know MacOS 
I don't know why it was implemented that way.  

 

What happens if you change the MacOS keyboard while a session is running?

 

Uli

 

Yearke, Thomas <tyea...@buffalo.edu> schrieb am Di., 3. Nov. 2020, 01:45:

Package: x2goclient
Version: 4.1.2.2
Tag: patch

When the macOS version of X2GoClient is connected to a server, it updates the 
session's keyboard map every 10 seconds. Depending on how other programs 
running on the server respond to keyboard map changes, the repeated updates can 
cause brief CPU usage spikes or (in the case of one of our applications) they 
can cause freezes and crashes.

The attached patch modifies the macOS client to only run the keyboard map 
update once on session startup. Testing done on my devices showed that this 
change resolved the issue without introducing noticeable side effects. However, 
I was not able to find the reason why the keyboard map is being updated 
regularly, so this may (re)introduce a problem I'm not aware of.

Client OS: macOS 10.14.6
Client Software: X2GoClient 4.1.2.2
Server OS: CentOS 7.8
Server Desktop Environment: XFCE 4
Server x2goserver Version: 4.1.0.3
Server x2goserver-xsession Version: 4.1.0.3
Server nxagent Version: 3.5.99.24

Thank you for your consideration!

Tom Yearke
Software Engineer
Science and Engineering Node Services
University at Buffalo


_______________________________________________
x2go-dev mailing list
x2go-dev@lists.x2go.org
https://lists.x2go.org/listinfo/x2go-dev

Attachment: smime.p7s
Description: S/MIME cryptographic signature

_______________________________________________
x2go-dev mailing list
x2go-dev@lists.x2go.org
https://lists.x2go.org/listinfo/x2go-dev

Reply via email to