You are not logged in.
Pages: 1
Hello, I am using Arch with Gnome and last week wanted to try XFCE. Well, after several customizations, turned back to Gnome but Shell and several core Gnome apps such as gnome-contol-center are looking broken layouts. I've tried almost every solution provided. Removed any .config/gtk, uninstalled all other themes, then reinstalled everything (just pacman -S for gnome), resetted dconf org/gnome. Nothing changed the broken layout, element margins in screenshot.
I've created a new user, logged in with it and still no luck.
Does anyone know what should I do, or how to search this problem?
Thank you in advance.
Last edited by risyasin (2024-06-23 10:39:49)
Offline
I'm guessing the two DE's share some files in /usr/share/ and/or /usr/local/share/, especially if you did any configurations using any system apps, those can potentially change those shared files in /usr/local/share rather than ~/.local/share, ~/.config etc. It is normally heavily discouraged to install two DE's on a single system specifically for this reason.
You cooould try uninstalling any suspects like Gnome or GTK with the -n flag (-Rns) or maybe even removing Gnome and then getting rid of all the remaining dependencies while passing the -n flag, hoping their files get removed (same for XFCE). And then finally, you can always just remove some of those files manually, anything related to gnome or gtk that you can find in /usr/share and /usr/local/share and then reinstalling Gnome, that should do the trick. To make this easier, you could try computing the intersection of the files owned by both desktops and checking those manually or simply deleting all of them before reinstalling Gnome, this feels like the best way to do this imo.
alias ffs='sudo $(fc -ln -1)'
Offline
I'm guessing the two DE's share some files in /usr/share/ and/or /usr/local/share/, especially if you did any configurations using any system apps, those can potentially change those shared files in /usr/local/share rather than ~/.local/share, ~/.config etc. It is normally heavily discouraged to install two DE's on a single system specifically for this reason.
You cooould try uninstalling any suspects like Gnome or GTK with the -n flag (-Rns) or maybe even removing Gnome and then getting rid of all the remaining dependencies while passing the -n flag, hoping their files get removed (same for XFCE). And then finally, you can always just remove some of those files manually, anything related to gnome or gtk that you can find in /usr/share and /usr/local/share and then reinstalling Gnome, that should do the trick. To make this easier, you could try computing the intersection of the files owned by both desktops and checking those manually or simply deleting all of them before reinstalling Gnome, this feels like the best way to do this imo.
Thank you a lot BrianDMS and you're absolutely right about two DE's sharing resources/configs can be problematic. I didn't know -n for -R in pacman. Used it. Literally re-installed eeverything. Completely removed XFCE and all themes, cursors etc. Nothing helped. I knew it was not a user level problem, bc I've tested with a new user account.
I've checked /etc director with any relevant setting/cinfig line etc.
Voila. Clearly I had set GTK_THEME=Adwaita:dark at some point in /etc/environment.
As soon as I've removed and rebooted. Problem is gone.
[Problem]
Globally set environment variable. GTK_THEME=Adwaita:dark
make sure you don't have anything sets System or Session level, this command can help to figure out.
printenv | grep -i gtk
[SOLUTION]
Remove any GTK_THEME variable set at system or session level.
Additionally, If you want old GTK apps to follow dark theme. Just edit the desktop entry. Don't mess any system level variable.
Exec=env GTK_THEME=Adwaita:dark /usr/bin/mycommand
Offline
Nice to see it solved, just an advice for the future which you/someone might find useful that'd prevent this issue: it's usually the best idea to export such environment variables from your user-specific login shell configuration file e.g. ~/.bash_profile. Since this file gets sourced by the login shell, every further process on the system (including a desktop environment or any GUI software) will inherit this variable so in like 99% of cases this can be used instead of /etc/environment.
alias ffs='sudo $(fc -ln -1)'
Offline
Pages: 1