Aqui está uma solução que eu encontrei para mitigar problemas de decoração de telas / janelas ao alternar entre o KDE e o xfce.
Como faço para descobrir quais arquivos o KDE modificou?
Encontrar os arquivos que foram alterados em um diretório pessoal, dentro de um período de tempo especificado, é bastante simples.
find ~ -maxdepth 5 -mmin 10
(procura alterações nos últimos 10 minutos)
No entanto, os resultados estão cheios de um grande número de arquivos dinâmicos (vários caches de aplicativos, por exemplo). Então, eu precisava excluir aqueles dos meus resultados:
find ~/ -maxdepth 5 \( -path ~/.cache -o -path ~/.xchat2 -o -path ~/.local -o -path ~/Downloads -o -path ~/.config/deluge -o -path ~/.config/chromium -o -path ~/docs -o -path ~/.dropbox -o -path ~/Dropbox -o -path ~/.pulse -o -path ~/.dbus \) -prune -o -mmin -5
Isso resulta em uma lista muito mais gerenciável para identificar os arquivos que o KDE modificou (não duvido que exista uma solução mais elegante para obter os mesmos resultados).
Quais arquivos precisam ser alterados e quais comandos devem ser executados?
Antes de sair do KDE, digite um terminal ( Ctrl - Alt - t ), e digite o seguinte comando:
rm ~/.gtkrc-2.0
Isso removerá as configurações de decoração de janelas do KDE e sua exclusão fará com que essas configurações não sejam aplicadas ao xfce. No entanto, uma vez logado no xfce, o WM precisará ser redefinido com o seguinte comando:
xfwm4 --replace
Além disso, se qualquer alteração de tema ou fonte tiver sido feita durante o trabalho no KDE, outro arquivo precisará ser excluído antes do login no xfce. Caso contrário, as fontes no navegador da Web serão modificadas.
Novamente, na linha de comando:
rm ~/.fonts.conf
Como posso automatizar (parcialmente) isso?
Eu automatizei parte disso editando /etc/lightdm/lightdm.conf
e colocando as seguintes linhas no arquivo:
[SeatDefaults]
session-cleanup-script = home/maggotbrain/clean_up_after_kde.sh
O script contém os dois comandos rm
acima. O xfwm --replace
não pode ser executado até que o ambiente da área de trabalho já tenha iniciado, portanto, isso ainda é executado manualmente.
Para que as alterações entrem em vigor, o lightdm precisa ser reiniciado. Execute o seguinte:
sudo restart lightdm
.
Sua sessão será reiniciada imediatamente após este comando e você será redirecionado para uma tela de login, portanto, assegure-se de ter salvo qualquer trabalho antes de reiniciar.
Estes comandos serão executados como parte do processo de logout agora. Observe que esse script é executado apenas após o usuário ser completamente desconectado .
Embora isso ainda seja bastante confuso, é um passo menor para diminuir o número de cliques.