You can find out where the setting is changed if you open a terminal:
gsettings list-recursively>/tmp/before
echo 'Now unity-control-center should open. Please change the scaling in "Displays" and close.'
unity-control-center
gsettings list-recursively>/tmp/after
diff /tmp/before /tmp/after |grep '[>|<]'
You find out, that these settings were changed (changing from scaling 1.0 to 2.0):
< org.gnome.desktop.interface scaling-factor uint32 1
> org.gnome.desktop.interface scaling-factor uint32 2
< com.ubuntu.user-interface scale-factor {'HDMI1': 8, 'eDP1': 8}
> com.ubuntu.user-interface scale-factor {'HDMI1': 8, 'eDP1': 16}
Or changing from 1.0 to 1.5 there is changed the text-scaling-factor
instead, because scale-factor
is integer:
< org.gnome.desktop.interface text-scaling-factor 1.0
> org.gnome.desktop.interface text-scaling-factor 1.5
< org.gnome.desktop.interface cursor-size 24
> org.gnome.desktop.interface cursor-size 36
< com.ubuntu.user-interface scale-factor {'HDMI1': 8, 'eDP1': 8}
> com.ubuntu.user-interface scale-factor {'HDMI1': 8, 'eDP1': 12}
from 1.5 to 2.0:
< org.gnome.desktop.interface scaling-factor uint32 1
> org.gnome.desktop.interface scaling-factor uint32 2
< org.gnome.desktop.interface text-scaling-factor 1.5
> org.gnome.desktop.interface text-scaling-factor 1.0
< org.gnome.desktop.interface cursor-size 36
> org.gnome.desktop.interface cursor-size 24
< com.ubuntu.user-interface scale-factor {'HDMI1': 8, 'eDP1': 12}
> com.ubuntu.user-interface scale-factor {'HDMI1': 8, 'eDP1': 16}
Those settings can be edited by hand with dconf-editor
This is very interesting in context with the about:config
variable in Firefox: devPixelsPerPx
that changes the size inside Firefox (see also: Why are all HTML form elements huge with a system-wide font-scale factor 2.0?)
Also, you can write a script to change the scale factor with these settings like /usr/local/bin/setscalefactor
:
if [ "$1" == "1" ]; then
# set scaling to x1.0
gsettings set org.gnome.desktop.interface scaling-factor 1
gsettings set com.ubuntu.user-interface scale-factor "{'HDMI1': 8, 'eDP1': 8}"
else
# set scaling to x2.0
gsettings set org.gnome.desktop.interface scaling-factor 2
gsettings set com.ubuntu.user-interface scale-factor "{'HDMI1': 8, 'eDP1': 16}"
fi
additionally:
This doesn't scale the title bars and menu, but there is also unity-tweak-tool, where you can change the overall font-scaling.
Maybe that is an alternative you could use apart from the Scaling Support in System Settings
This setting is stored by dconf in /com/ubuntu/user-interface/scale-factor
.
Use the command
dconf watch /com/ubuntu/user-interface/scale-factor
to watch how it changes when you move the scale. Note that, apparently, the scale factor displayed in the GUI corresponds to exactly 1/8 of this value, e.g., when I set the scale factor, via the GUI, to 1
for my primary display (on DisplayPort-1
) the value /com/ubuntu/user-interface/scale-factor
is set to
{'DisplayPort-0': 8, 'HDMI-0': 8, 'DVI-1': 8, 'DisplayPort-1': 8}
When I set the scale factor to 2
I obtain
{'DisplayPort-0': 8, 'HDMI-0': 8, 'DVI-1': 8, 'DisplayPort-1': 16}
When I set the scale factor to 0.5
I obtain
{'DisplayPort-0': 8, 'HDMI-0': 8, 'DVI-1': 8, 'DisplayPort-1': 4}
etc.
This is analogous for the other displays, of course. Do note that this is not one value, but an array of values, keyed with the display identifiers as returned by xrandr
.
To change the setting via the command line, use something like
dconf write /com/ubuntu/user-interface/scale-factor "{'DisplayPort-0': 8, 'HDMI-0': 8, 'DVI-1': 8, 'DisplayPort-1': 8}"
Best Answer
I recall experiencing something like this when I had a 14.04 VM. My solution was simply to change the resolution to the equivalent of my screen size. If all else fails, try a different VM client like VirtualBox!