Bug 319065

Summary: KScreen conflicts with X2Go
Product: [Plasma] KScreen Reporter: Pascal d'Hermilly <pascal>
Component: commonAssignee: Alex Fiestas <afiestas>
Status: RESOLVED INTENTIONAL    
Severity: normal CC: antonis+kdebugs, dvratil, kde_bugs, orion, samuelbernardo.mail
Priority: NOR    
Version: 1.0   
Target Milestone: ---   
Platform: Ubuntu   
OS: Linux   
Latest Commit: Version Fixed In:

Description Pascal d'Hermilly 2013-04-29 13:28:28 UTC
KScreen is very nice for physical screens.
X2go is a terminal services thing where the screen resolution of the client may change when logging on from a different client.
KScreen seems to remember the resolution too well, so if you come from a large screen to a smaller you only see the middle of the screen and It is very unhandy to change as you cannot reach kmenu or krunner.
Kscreen seems to override the adjusted resolution (by x2go).

I hope a good solution can be found :-)

Reproducible: Always
Comment 1 Daniel Vrátil 2013-04-29 15:06:20 UTC
Hi,

unfortunately, I don't think there is a easy way to solve this. 

In general, this is not a bug. Using two applications that handle display resolution is not supported, as it can lead to many unexpectable situations and race conditions.

In your case I would suggest you disable KScreen KDED module (System Settings -> Startup and Shutdown -> Service Manager, uncheck "KScreen 2"), since x2go handles resolution switches for you and only use the KScreen KCM to manually change output settings (rotation, enabling/disabling outputs etc).
Comment 2 Pascal d'Hermilly 2013-04-30 09:16:23 UTC
Is there no way of detecting that this is an x2go screen?
What would happen if the x2go screen only announces the resolution it wants to use? (is that even a possibility?)
It would be nice if x2go and KScreen could coexist...
Comment 3 Daniel Vrátil 2013-04-30 11:26:36 UTC
(In reply to comment #2)
> Is there no way of detecting that this is an x2go screen?
Only by checking whether there's an x2go process running. This is a no-go.

> What would happen if the x2go screen only announces the resolution it wants
> to use? (is that even a possibility?)
KScreen reads information from XRandR, which always reports what graphic card supports. The only solution I can imagine is writing a libkscreen backend for x2go that would read current settings and available options from x2go server. Unfortunately we don't have the time orresources to implement and support such backend. If you are feeling like writing one yourself, feel free to ask on kde-hardware-devel ML or #solid, we'll gladly provide any information or details you may need.
Comment 4 Mike Robinson 2013-05-04 05:27:23 UTC
What about adding some sort of a switch so you can execute a custom session type in x2go, like

/usr/bin/kde --no-kscreen
Comment 5 Daniel Vrátil 2013-05-06 09:02:29 UTC
KScreen is a KDED module, the only way how to disable it (apart from uninstalling kscreen) is to uncheck "KScreen 2" in System Settings -> Startup and Shutdown -> Service Manager.
Comment 6 Samuel Bernardo 2015-11-08 23:20:21 UTC
There is another way that worked for me.
Configure inside x2goclient session the screen resolution to fit your need. Then KScreen 2 will remember in future session that config and will work as desired without interference with local sessions configs.

Use x2goclient shortcuts to move inside the window:
ctrl+alt+ arrows

I hope this be usefull to those who don't want to loose KScreen2 and continue to use x2goclient.