Вопрос или проблема
Я слышал о kwriteconfig
как о эквиваленте для gsettings
.
Мне хотелось бы иметь возможность имитировать функциональность, показанную в моем скрипте для GNOME, в KDE Plasma.
Скрипт Gnome
Настройте GNOME по своему вкусу.
- установить тему окон
- установить тему значков
- установить внешний вид курсора
- установить расположение кнопок окна
Код
#!/bin/bash
#yaourt -Sy
declare -a Pacs=(
'macos-icon-theme'
'macos-arc-white-theme'
'capitaine-cursors'
'gtk-theme-united-gnome'
);
for i in ${Pacs[@]}; do
yaourt -S $i --noconfirm --needed
done
# Список установленных тем GNOME
#gsettings list-recursively org.gnome.desktop.interface
#gsettings list-keys org.gnome.desktop.interface
#gsettings get org.gnome.shell.extensions.user-theme name
# GTK
gsettings set org.gnome.desktop.interface gtk-theme "United-Ubuntu"
# Значки
gsettings set org.gnome.desktop.interface icon-theme "macOS"
# Окна
gsettings set org.gnome.desktop.wm.preferences theme ""
# Курсор
gsettings set org.gnome.desktop.interface cursor-theme "Capitain"
# Кнопки слева (использует : как разделитель)
gsettings set org.gnome.desktop.wm.preferences button-layout "close,minimize,maximize:"
# Тема оболочки
gsettings set org.gnome.shell.extensions.user-theme name "United-Arch"
# экран входа lightdm
yaourt -S lightdm-webkit-theme-litarvan
kwriteconfig ‘просто’ записывает записи конфигурации в ~/.config/
.
В отличие от gsettings
, он не имеет возможностей интроспекции.
Также обратите внимание, что KDE не отслеживает все свои файлы конфигурации, т.е. большинство настроек, записанных с помощью kwriteconfig, становятся действительными только после следующего входа в систему или после отправки команды перезагрузки/обновления через dbus какому-либо компоненту.
Возможно, самый простой способ узнать имя файла, группу, ключ и значение для вызовов kwriteconfig — это сделать снимок ~/.config/
, изменить настройку в интерфейсе KSettings, нажать ‘Применить’ и сравнить ваш снимок с текущим ~/.config/
.
Вы можете использовать git, btrfs snapshots, резервные копии или аналогичные средства для создания снимков ~/.config/
.
Пример:
# 'Аппаратное обеспечение -> Устройства ввода -> Клавиатура -> Дополнительно'
# 'Настроить параметры клавиатуры'
kwriteconfig5 --file kxkbrc --group Layout --key ResetOldOptions true
# 'Положение клавиши Compose'
kwriteconfig5 --file kxkbrc --group Layout --key Options compose:ralt
Результат в ~/.config/kxkbrc
, который выглядит так:
[Layout]
Options=compose:ralt
ResetOldOptions=true
Подмножество настроек KDE также может быть задано с помощью специализированных командных инструментов plasma-apply-*
.
На момент plasma 5.27 это:
plasma-apply-colorscheme
plasma-apply-cursortheme
plasma-apply-desktoptheme
plasma-apply-lookandfeel
plasma-apply-wallpaperimage
В отличие от kwriteconfig5 эти инструменты действительно предоставляют интроспекцию через --list
(или --list-$someword
или -l
).
Пользователь Github shalva97 опубликовал некоторые детали о настройке расположения кнопок окна.
.
Ответ или решение
Имитация функциональности gsettings
в KDE Plasma с помощью командной строки
Для начинающих пользователей KDE Plasma, переход с GNOME может показаться сложным, особенно когда речь идет о настройках интерфейса. Одной из наиболее важных функций, которую вы хотите воспроизвести, является настройка различных аспектов рабочего стола с помощью командной строки, аналогично тому, как это делается с помощью gsettings
в GNOME. В этом ответе мы подробно рассмотрим, как достичь этой цели с использованием инструментов KDE.
Установка необходимых пакетов
Прежде всего, вам потребуется установить нужные темы и значки. В вашем скрипте это делается с помощью пакетного менеджера yaourt
. Он предназначен для работы с AUR (Arch User Repository), и, если вы используете другую дистрибуцию, вам может понадобиться изменить команду установки пакетов на подходящую для вашего дистрибутива.
declare -a Pacs=(
'macos-icon-theme'
'macos-arc-white-theme'
'capitaine-cursors'
'gtk-theme-united-gnome'
);
for i in ${Pacs[@]}; do
yaourt -S $i --noconfirm --needed
done
Изменение тем и значков с помощью kwriteconfig и plasma-apply
KDE Plasma использует систему конфигурации, которая отличается от GNOME. Чтобы изменить настройки, вам необходимо воспользоваться такими командами, как kwriteconfig5
и специализированными инструментами, как plasma-apply-*
.
-
Установка GTK темы:
Для изменения темы GTK вы можете использоватьkwriteconfig5
. Вам нужно будет указать файл конфигурации и соответствующие ключи. Однако, для GTK тем вы можете использоватьplasma-apply
:plasma-apply-lookandfeel United-Ubuntu
-
Значки:
Аналогично, вы можете изменить тему значков:plasma-apply-colorscheme macOS
-
Темы окон:
Для тем окон вам может понадобиться изменить соответствующий конфигурационный файл. Например, вы можете использовать:kwriteconfig5 --file ~/.config/kwinrc --group 'Decorations' --key 'theme' 'macOS'
-
Курсоры:
Для изменения темы курсоров вам нужно выполнить следующее:plasma-apply-cursortheme captain
-
Расположение кнопок окна:
Положение кнопок окна на панели управления достаточно специфично для KDE. Для этого вы можете использовать следующие команды:kwriteconfig5 --file kwinrc --group 'General' --key 'buttonLayout' 'close,minimize,maximize:'
-
Установка темы для сессии:
Если вы хотите изменить тему сессии или поведение при входе в систему, вы можете использовать:plasma-apply-lookandfeel United-Arch
Восстановление изменений
После изменения параметров в KDE Plasma необходимо перезапустить соответствующие компоненты, чтобы изменения вступили в силу. В некоторых случаях может потребоваться перезагрузка системы или выход и повторный вход в систему.
Заключение
Имитация функциональности gsettings
в KDE Plasma с помощью командной строки требует понимания, как работает система конфигурации KDE и какие инструменты вам доступны. Используя перечисленные команды и методы, вы сможете гибко настраивать внешний вид и поведение вашего рабочего стола KDE в соответствии с вашими предпочтениями, подобно тому, как вы это делаете в GNOME.
Убедитесь, что каждый раз, когда вы вносите изменения, вы проверяете, как они влияют на вашу систему, и при необходимости делайте резервные копии файлов конфигурации перед внесением изменений.