How can I change the screen DPI setting for a Citrix Receiver session on Ubuntu 16.04?
I have a Dell XPS 13 laptop with a very high resolution of 277 dpi:
$ xrandr | grep -w connected
eDP1 connected 3200x1800+0+0 (normal left inverted right x axis y axis) 294mm x 165mm
Under Ubuntu 16.04 I can set the scaling factor to 2 which scales most of the linux applications properly.
When I launch Citrix Receiver 13.3.0 to run a Windows 7 session, everything is displayed too small - obviously the Citrix Receiver does not receive the scaling information set in Unity.
These are the dpi settings that I could read out so far:
$ cat /var/log/Xorg.0.log | grep DPI
[5.696] (==) intel(0): DPI set to (96,96)
$ xdpyinfo | grep dots
resolution: 96x96 dots per inch
$ xrdb -query | grep dpi
Xft.dpi: 192
I tried changing lightdm.conf as mentioned in some articles, but it did not change anything.
It is again a workaround, but a lighter one than the one mentioned in the comment: you can install vncserver, start an additional lightweight X session (openbox or similar) and run icaclient there.
There are vncclients which can do clipboard sync so the experience is really seamless, and you don't need to run a full virtual machine.
(I can even imagine putting icaclient to your ~/.vnc/xstartup without any window manager for a super light experience.)
Version 2207 of the citrix workspace app introduces technical preview support for DPI matching which seems to work.