I'm hoping that someone out there with more experience will be able to solve
this problem!
Server = RHEL 7, running local GNOME-3 session at native 3840x2160 (dpi 149) of
attached 4K display Installed Packages:
x2goagent.x86_64 3.5.0.32-3.el7 @epel
x2goclient.x86_64 4.1.0.0-1.el7 @epel-rhel-x86_64-workstation-7
x2goserver.x86_64 4.0.1.20-1.el7 @epel
x2goserver-xsession.x86_64 4.0.1.20-1.el7 @epel
Settings:
/etc/x2go/x2go-agent.options - commented out X2GO_NXAGENT_DEFAULT_OPTIONS+="
-extension XFIXES"
/etc/x2go/Xresources - set Xft.dpi: 192
Everything else left at defaults
Client = Windows 10, x2go client v4.1.0.0, local native display 2560x1440 (dpi
192)
Settings:
Session Type = MATE (automatically changes to "Custom desktop" with command
"MATE") Display = Fullscreen Set display DPI = 192
The session starts just fine, filling the screen with the MATE desktop, except
that the display resolution is incorrect... with following information obtained
inside a MATE terminal:
jpdavis: xdpyinfo | grep dots
resolution: 192x193 dots per inch
jpdavis: ps -waux | grep $DISPLAY | grep x2goagent
jpdavis 28204 0.2 0.3 217268 57696 ? S 10:05 0:08
/usr/lib64/nx/../x2go/bin/x2goagent -nolisten tcp -nolisten tcp -dpi 192 -D
-auth /home/jpdavis/.Xauthority -name X2GO-jpdavis-50-1491062721_stDMATE_dp32
:50
jpdavis: xrandr --prop
xrandr: Failed to get size of gamma for output default Screen 0: minimum 320 x
240, current 1280 x 720, maximum 1920 x 1200 default connected 1280x720+0+0 0mm
x 0mm
Thus the actual dpi being used by the display is 192*1280/2560 = 96, not the
192 sent to x2goagent and reported by xdpyinfo.
attempting to change the resolution from inside the session...
xrandr --size 1920x1200 works but keeps same actual dpi of 96 (so desktop is
larger than my screen)
MATE Settings->Hardware->Displays returns error "RANDR extension is too old
(must be at least 1.3)"
xrandr --version returns
xrandr program version 1.4.3
Server reports RandR version 1.2
I get the same behavior if I try sessions with KDE or XFCE instead of MATE.
Since the maximum resolution reported by xrandr corresponds to dpi of
192*1920/2560=144 x 192*1200/1440=160, I wondered if it had something to do
with the local X session on the server which is at 149 dpi; closing that
session, however, makes no difference. Could it be something about the X
server that is running on the x2go server? (It is running but with no
sessions, just the login greeter).
The Windows client generates the following in the file .x2go\<session>\sessions:
Loop: WARNING! Unrecognized session type 'unix-kde-depth_32'. Assuming agent
session.
Auth: WARNING! Failed to read data from the X auth command.
Auth: WARNING! Generating a fake cookie for X authentication.
Loop: WARNING! Could not retrieve the X server authentication cookie.
Fork: WARNING! Function fork failed. Error is 11 'Resource temporarily
unavailable'. Retrying...
Fork: WARNING! Function fork failed. Error is 11 'Resource temporarily
unavailable'. Retrying...
Fork: WARNING! Function fork failed. Error is 11 'Resource temporarily
unavailable'. Retrying...
... and the following in the file .x2go\<session>\options:
nx/nx,root=/cygdrive/C/Users/jpdavis/X2GO~1,connect=localhost,cookie=6f9207806bc4e3206aa5df26759c77bc,port=60732,errors=/cygdrive/C/Users/jpdavis/X2GO~1/S-JPDA~1/sessions:50
Where could it be getting a session type of 'unix-kde-depth_32' when I've set
it to use a MATE session? And where exactly do I find the
/cygdrive/C/Users/jpdavis/X2GO~1 directory on my Windows machine? I can't find
any files where x2go client saves program preferences or session preferences.
Under the client settings, I changed to "use custom X server", pointed to the
VcXsrv.exe file that comes with x2go, added "-dpi 192" to the command-line
options for all cases, and restarted x2go. This had no effect. I also tried
using the XMing X server with the same options, this also had no effect.
More interesting information...
If I simply Putty ssh to the server and run xrandr I get "Can't open display."
If I enable X11 forwarding in Putty but don't start a local X server on the
Windows machine, then xrandr returns slightly more information: "Can't open
display 134.253.62.153:10.0."
If I do this again but first start VcXsrv with the same command-line options as
I've set in x2go ("C:\Program Files (x86)\x2goclient\VcXsrv\vcxsrv.exe"
-fullscreen -notrayicon -clipboard -dpi 192) then xrandr returns "Screen 0:
minimum 0 x 0, current 1280 x 720, maximum 4096 x 4096" (and xdpyinfo still
says "192x193 dots per inch"). If I also add the command-line options "-screen
0 2056x1440", I get that resolution but much larger than my real display, and
text is even larger.
Finally, I tried using Putty X11 forwarding with XMing, with XMing options set
via it's XLaunch executable. With XMing set to fullscreen and no additional
options passed, xdpyinfo says "75x75 dots per inch" and xrandr returns "Screen
0: minimum 1280 x 720, current 1280 x 720, maximum 1280 x 72." Same result
with XMing set to multiple windows. In this mode, graphical applications
started from inside Putty actually don't look bad (normal text size). Adding
command line option "-dpi 192" to XMing makes xdpyinfo return "192x193 dots per
inch" but xrandr output remains the same, and the resulting graphical
application text is way too large.
Using XMing with Putty and X11 forwarding to start mate-session has the same
issue, so I guess this is not actually an x2go problem. I'm still posting here
in case someone can help, maybe I'll also look for user mail lists relevant to
X in general, or VcXsrv/XMing.
So what am I missing? Where is it getting the dpi=96 that the display is
actually using? The 96 value makes the session fairly useless, as all display
elements are huge compared to the screen. I had this working not that long
ago, but I wouldn't be able to confirm exactly what changes have been made in
the interim because I don't recall exactly _when_ it was working.
Jean-Paul Davis
_______________________________________________
x2go-user mailing list
[email protected]
http://lists.x2go.org/listinfo/x2go-user