15

Running Ubuntu Gnome 17.04 on Lenovo yoga 2 pro. Display is 3200x1800. My desktop scales fine, and was done automatically without any configuration when installing. My login screen however, everything is tiny. How can I scale this to match my desktop?

I've tried

sudo xhost +SI:localuser:gdm
sudo su gdm -s /bin/bash
gsettings set org.gnome.desktop.interface scaling-factor 2

and no difference. Also setting large text in universal access settings seems to have no effect.

I thought this was the correct way to change gdm interface settings? Any other ideas?

2
  • any more information needed please let me know!
    – rosghub
    Apr 20 '17 at 22:25
  • Did the command give you an error? xhost doesn't work in Wayland, when I ran "xhost +" and then the 2 commands in X, it works for me.
    – Chen Xing
    Apr 15 '18 at 2:53
16

Was searching for a solution as well and found this:

http://askubuntu.com/questions/469515/adjust-text-scaling-factor-for-all-users

tl/dr

sudo nano /usr/share/glib-2.0/schemas/org.gnome.desktop.interface.gschema.xml

Change the default value to 2 (or your desired scale factor):

<key name="scaling-factor" type="u">
<default>2</default>

and then running:

sudo glib-compile-schemas /usr/share/glib-2.0/schemas

This fixed it for me. Let me know if it works for you as well.

3
  • This makes me unable to login until the changes is reverted.
    – Nur
    Sep 5 '17 at 16:16
  • I am using 200% scale in GNOME's display settings on my desktop. This solution for the login screen stacks with my setting, so that I do have proper text size on the login screen, but suddenly have 4 times text scaling on my desktop.
    – flyx
    Jan 23 '18 at 14:27
  • this is working for me Oct 28 '19 at 8:52
12

Persistent over upgrades approach could be to create file /usr/share/glib-2.0/schemas/93_hidpi.gschema.override with

[org.gnome.desktop.interface]
scaling-factor=2
text-scaling-factor=0.87

(0.87 to make fonts bit smaller, safe to omit if you don't want to)

And reinit schemas sudo glib-compile-schemas /usr/share/glib-2.0/schemas

2
  • 1
    I suppose "persistent approach" here means that it's "persistent across upgrades", while the first approach is just "persistent until the file is overwritten again by an upgrade". Mar 19 '19 at 18:24
  • Yes, thank you. It is!
    – Lauri
    Mar 20 '19 at 8:53
3

Edit: This method appears to only work when login screen and user session are using the same windowing system(X11 or Wayland). So if it doesn't work try changing your session type in the bottom-left of the login screen.

This should also work:

  1. First you change DPI settings from Gnome settings.

  2. Then execute:

    sudo cp ~/.config/monitors.xml ~gdm/.config/
    

And it should work with Ubuntu as well.

@gonk23 mentioned chown, I personally didn't find that necessary, however it should be safer to set the correct permission:

sudo chown gdm:gdm ~gdm/.config/monitors.xml 

Found a solution here.

First you change DPI settings from Gnome settings.

Then, copy

~/.config/monitors.xml

to

/var/lib/gdm/.config/monitors.xml

So the command is

sudo cp ~/.config/monitors.xml /var/lib/gdm/.config/

The advantage over recompiling configurations is that this method works on Fedora Silverblue where you got a read only /usr so editing /usr/share/ is not realistic. It also applies the user monitor refresh rate settings to login screen.

1
  • Can confirm this is the better solution, as I was also hitting the 400% scale issue from the first answer's comments. Sep 7 at 19:48
0

Expanding upon sfvdhrnu's answer, on Ubuntu 20.04 and 21.04 the /var/lib/gdm folder doesn't exist, but /var/lib/gdm3 does exist.

So the updated answer for 20.04 and 21.04 would become:

First you change DPI settings from Gnome settings, then,

sudo cp ~/.config/monitors.xml /var/lib/gdm3/.config/
sudo chown gdm:gdm /var/lib/gdm3/.config/monitors.xml   # probably optional

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.