Настройте коэффициент масштабирования текста для всех пользователей
Я использую инструменты настройки GNOME в моей системе, которая является Ubuntu 12.04 с несколькими установленными пользователями. Я хочу изменить коэффициент масштабирования текста для всех учетных записей пользователей.
Если я использую gsettings set org.gnome.desktop.interface text-scaling-factor 0.7
делает работу хорошо, но только для пользователя, который вводит команду. Остальные пользователи сохраняют свои настройки, которые я не хочу.
Я хочу сделать это из CLI, так как я пытаюсь включить это позже в марионетку.
2 ответа
Изменить значение по умолчанию в схеме Glib
sudo nano /usr/share/glib-2.0/schemas/org.gnome.desktop.interface.gschema.xml
Подобно:
<key type="d" name="text-scaling-factor"> <range min="0.5" max="3.0"/> <default>0.7</default> <summary>Text scaling factor</summary> <description>Factor used to enlarge or reduce text display, without changing font size.</description> </key>
Компилировать схемы
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
Рекомендации:
Я нашел рабочее решение для одного пользователя за раз. Похоже, если использовать:
su user_name bash -c 'gsetting set org.gnome.desktop.interface text-scaling-factor 0.7'
Это терпит неудачу из-за:
x11 соединение отклонено из-за неправильной аутентификации
Это потому что 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, как и хотелось.
Я также попытался поиграться с sudo, добавив внутрь файла sudoers:
Defaults env_keep +="DISPLAY XAUTHORIZATION XAUTHORITY"
Но это тоже не сработало. Если есть какой-то более простой способ, я был бы очень признателен.