Alguns anos atrás tentei achar algo parecido, mas focado em personalizar absolutamente tudo do XFCE4 pelo terminal.
A ideia era criar máquinas com temas exatamente iguais via script e foi tão difícil encontrar que acabei criando um Gist com a solução.
Se alguém se interessar, vou deixar como um complemento para a publicação 🤝
Listando os canais disponíveis para alteração
xfconf-query -l
Listando as propriedades por canal
xfconf-query -c $PROPERTY -l -v
# Por exemplo, a propriedade "xfce4-desktop":
xfconf-query -c xfce4-desktop -l -v
-v: mostra o valor das propriedades.- Cada
/é uma subpropriedade.
Monitorando as alterações em tempo real
xfconf-query -c $PROPERTY -m
# Por exemplo, a propriedade "xfce4-desktop":
xfconf-query -c xfce4-desktop -m
- Por exemplo, se o plano de fundo do
workspace0for alterado, o monitoramento irá mostrar o caminho completo da propriedade alterada:/backdrop/screen0/monitorrdp0/workspace0/last-image. - Você pode iniciar a monitoração e fazer as alterações via GUI, onde todas as alterações serão exibidas no
Terminalpara usar posteriormente via Linha de Comando.
Criando ou atualizando uma propriedade
xfconf-query -c $CHANNEL -np $PROPERTY -t 'bool' -s 'true';
# Por exemplo, o canal "xfce4-panel" e a propriedade "/panels/dark-mode":
xfconf-query -c xfce4-panel -np '/panels/dark-mode' -t 'bool' -s 'true';
-n: garante que se a propriedade não existir, ela será criada.- Você precisa informar o tipo do valor da propriedade:
[ 'string', 'int', 'bool', 'double' ] -s: define o valor da propriedade.- Para inserir um
arraycom múltiplos elementos, basta inserir o tipo e valor em sequência:-t int -s 0 -t int -s 1 -t int -s 2 #... - Para forçar um único item como
array:-t int -s 0 -a
Removendo uma propriedade
xfconf-query -c $CHANNEL -p $PROPERTY -r -R;
# Por exemplo, removendo o "Panel 2" completamente:
xfconf-query -c xfce4-panel -p '/panels/panel-2' -r -R;
-r: indica a remoção.-R: garante que todas as subpropriedades serão excluídas junto com a propriedade.
Xfce Terminal
- Você pode editar as preferências do Xfce Terminal em:
~/.config/xfce4/terminal/terminalrc. - Você pode realizar as alterações via GUI e copiar o arquivo para uso posterior.
- Apenas feche e reabra o
Terminalpara visualizar as alterações.
- Apenas feche e reabra o
Whisker Menu
- Se você usa o Whisker Menu, você pode editar as preferências em:
~/.config/xfce4/panel/whiskermenu-**.rc.- Substitua
**pela a ordem do plugin:Busque pelo plugin
whistermenuemxfce4-panel/pluginspara visualizar a ordem do plugin.Por exemplo, se o Whister Menu for o
plugin-19, então:~/.config/xfce4/panel/whiskermenu-19.rc.
- Substitua
- Você pode realizar as alterações via GUI e copiar o arquivo para uso posterior.
Considerações:
- A maioria das alterações que afetam o frontend necessitam deslogar e logar novamente para visualizar as alterações, especialmente o
panel. - O comando
xfconf-querysó funciona com o display ativo.
Abaixo, uma solução completa como exemplo:
#!/bin/sh
# Check the display's availability
if [ -z $DISPLAY ]; then exit 1; fi;
# Prevent suspend and lock the sreen
xfconf-query -c xfce4-screensaver -np '/lock/enabled' -t 'bool' -s 'false';
xfconf-query -c xfce4-screensaver -np '/lock/saver-activation/enabled' -t 'bool' -s 'false';
xfconf-query -c xfce4-screensaver -np '/saver/enabled' -t 'bool' -s 'false';
xfconf-query -c xfce4-power-manager -np '/xfce4-power-manager/inactivity-on-ac' -t int -s 0;
xfconf-query -c xfce4-power-manager -np '/xfce4-power-manager/blank-on-ac' -t int -s 0;
xfconf-query -c xfce4-power-manager -np '/xfce4-power-manager/dpms-on-ac-sleep' -t int -s 0;
xfconf-query -c xfce4-power-manager -np '/xfce4-power-manager/dpms-on-ac-off' -t int -s 0;
xfconf-query -c xfce4-power-manager -np '/xfce4-power-manager/lock-screen-suspend-hibernate' -t 'bool' -s 'false';
xfconf-query -c xfce4-power-manager -np '/xfce4-power-manager/dpms-enabled' -t 'bool' -s 'false';
# Remove dock
xfconf-query -c xfce4-panel -p '/panels/panel-2' -r -R;
xfconf-query -c xfce4-panel -np '/panels' -t int -s 1 -a;
# Removing wallpaper
xfconf-query -c xfce4-desktop -np '/backdrop/screen0/monitorrdp0/workspace0/color-style' -t int -s 0;
xfconf-query -c xfce4-desktop -np '/backdrop/screen0/monitorrdp0/workspace0/image-style' -t int -s 0;
xfconf-query -c xfce4-desktop -np '/backdrop/screen0/monitorrdp0/workspace0/rgba1' -t double -s 0.184314 -t double -s 0.207843 -t double -s 0.258824 -t double -s 1.000000;
# Personal settings
xfconf-query -c xfce4-desktop -np '/desktop-icons/tooltip-size' -t 'double' -s 48.000000;
xfconf-query -c xfce4-desktop -np '/desktop-icons/gravity' -t int -s 0;
xfconf-query -c xfwm4 -np '/general/workspace_count' -t int -s 1;
# Put menu in bottom
xfconf-query -c xfce4-panel -np '/panels/dark-mode' -t 'bool' -s 'true';
xfconf-query -c xfce4-panel -np '/panels/panel-1/position' -t 'string' -s 'p=10;x=0;y=0';
xfconf-query -c xfce4-panel -np '/plugins/plugin-1/show-tooltips' -t 'bool' -s 'true';
# Grouping tasklist
xfconf-query -c xfce4-panel -np '/plugins/plugin-2/grouping' -t int -s 1;
# Logout settings
xfconf-query -c xfce4-session -np '/shutdown/ShowSuspend' -t 'bool' -s 'false';
xfconf-query -c xfce4-session -np '/shutdown/LockScreen' -t 'bool' -s 'false';
xfconf-query -c xfce4-session -np '/shutdown/ShowHibernate' -t 'bool' -s 'false';
xfconf-query -c xfce4-session -np '/general/PromptOnLogout' -t 'bool' -s 'false';
# Logout to save changes
xfce4-session-logout --logout --fast;