调整所有用户的文本缩放系数
我在我的系统上使用gnome tweak工具,这是Ubuntu 12.04,只有一些用户设置。 我想更改所有用户帐户的文本缩放系数。
如果我使用gsettings set org.gnome.desktop.interface text-scaling-factor 0.7
可以正常工作,但仅适用于发出命令的用户。 其余用户保留了我不想要的设置。
我想从CLI做到这一点,因为我试图将其加入到puppet中。
-
更改Glib架构中的默认值
sudo nano /usr/share/glib-2.0/schemas/org.gnome.desktop.interface.gschema.xml
喜欢:
0.7 Text scaling factor Factor used to enlarge or reduce text display, without changing font size. -
编译模式
sudo glib-compile-schemas /usr/share/glib-2.0/schemas
否则,因为你想要一个简单的puppet
。
-
您可以创建dconf覆盖文件:
sudo nano /usr/share/glib-2.0/schemas/30_my-text-factor.gschema.override
-
向其附加覆盖键和值,例如:
[org.gnome.desktop.interface] text-scaling-factor=0.7
-
编译模式
sudo glib-compile-schemas /usr/share/glib-2.0/schemas
新用户和用户使用默认值(他们从未更改过值或重置它们)将使新值生效。
如果要强制用户使用默认值(其自定义值无效),请添加dconf锁:
-
添加新锁定文件或更改现有锁定文件:
/etc/dconf/db/gdm.d/locks/
-
将此行附加到它:
/org/gnome/desktop/interface/text-scaling-factor
参考文献:
- dconf-editor和gsettings不应该访问同一个数据库吗?
我找到了一个适用于一个用户的工作解决方案。 看起来好像如果使用:
su user_name bash -c 'gsetting set org.gnome.desktop.interface text-scaling-factor 0.7'
它失败的原因是:
x11连接因身份validation错误而被拒绝
这是因为X win cookie没有结转。 所以尝试了以下步骤:
root:~#echo $DISPLAY root output:~#localhost:10.0 root:~#xauth list output:~# eglisa-bh/unix:12 MIT-MAGIC-COOKIE-1 9435aa7eb876e2edf3e4f29bbe90f42a eglisa-bh/unix:10 MIT-MAGIC-COOKIE-1 5e987f3ce693dd4789fgc5c012067f31 root:~#su - student student:~#DISPLAY=localhost:10.0; export DISPLAY student:~#xauth add eglisa-bh/unix:10 MIT-MAGIC-COOKIE-1 5e987f3ce693dd4789fgc5c017f31
诀窍然后再次运行:
su user_name bash -c 'gsetting set org.gnome.desktop.interface text-scaling-factor 0.7'
文本比例根据需要更改为0.7。
我已经尝试通过在sudoers文件中添加内容来搞乱sudo:
Defaults env_keep +="DISPLAY XAUTHORIZATION XAUTHORITY"
但这也行不通。 如果有更简单的方法,我会非常感激。