How do I reset my Xfce panels to the default settings that Xubuntu uses?
XFCE stores it's configuration for the running session in
xfconfd. Feel free to back up the files you're going to delete first.
- Shut down the panel first,
- Kill the xfce4 configuration daemon,
- First delete settings for the panel,
rm -rf ~/.config/xfce4/panel
- Clear out the settings for xfconfd,
rm -rf ~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml
- Restart the panel, run
xfce4-panel. This will respawn
xfconfdautomatically. Note if you need or want to restart xfconfd manually know that on my installation it was in
/usr/lib/x86_64-linux-gnu/xfce4/xfconf/xfconfdwhich was outside of
This clears it for the running session, regenerates the files, and sets up the default for future sessions.
Want it in one line?
xfce4-panel --quit ; pkill xfconfd ; rm -rf ~/.config/xfce4/panel ~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml ; xfce4-panel;
The only thing I can say that would make it easier to just run:
rm -r ~/.config/xfce4
Then simply log out and back in. This will just reset
xfce4 back to default. I'd recommend avoiding the
-f flag unless necessary especially if you are using the
sudo command which is not an issue here but anyway. Using only the minimal force necessary is always a good idea.
This also limits the commands a user has to enter, you can also open up your file manager and select view hidden files and go into the .config folder and right click and delete the
xfce4 folder and then log out and back in. No commands necessary.
In my case I didn't want to switch the entire panel to the default, I just wanted to switch to the default layout because I recently upgraded from Xubuntu 16.04 to 18.04 and there were some changes to the panel plugins.
Here's what I did:
- Right-click anywhere on the panel (except for one of the open window buttons) > Panel > Panel Preferences
- Click Backup and restore
- (Optional) Click the Save Configuration button to save your current configuration
- In the list of configurations, select the one corresponding to your version of Xubuntu. For example, I'm using Xubuntu 18.04, so I selected Xubuntu Bionic.
- Click Apply Configuration
xfce ships with xfconf-query - a powerful commandline utility for dealing with the xml config files inside of:
There is no man page (on Fedora only?) but there is help available:
$ xfconf-query -h Usage: xfconf-query [OPTION…] - Xfconf commandline utility Help Options: -h, --help Show help options Application Options: -V, --version Version information -c, --channel The channel to query/modify -p, --property The property to query/modify -s, --set The new value to set for the property -l, --list List properties (or channels if -c is not specified) -v, --verbose Verbose output -n, --create Create a new property if it does not already exist -t, --type Specify the property value type -r, --reset Reset property -R, --recursive Recursive (use with -r) -a, --force-array Force array even if only one element -T, --toggle Invert an existing boolean property -m, --monitor Monitor a channel for property changes
To list the available channels you can open xfce4-settings-editor which is the gui tool for working with xfconf. Or you can run xfconf-query -l.
We can use this knowledge to create a script to reset every existing xfconf property to its default via --reset or -r
#!/usr/bin/env bash while read channel do for property in $(xfconf-query -l -c $channel) do xfconf-query -c $channel -r -p $property done done < channels.txt
$ cat channels.txt displays ristretto thunar xfce4-desktop xfce4-keyboard-shortcuts xfce4-notifyd xfce4-panel xfce4-power-manager xfce4-session xfce4-settings-editor xfce4-settings-manager xfwm4 xsettings
or slightly better (without the need for a static channel list):
#!/usr/bin/env bash for channel in $(xfconf-query -l | grep -v ':' | tr -d "[:blank:]") do for property in $(xfconf-query -l -c $channel) do xfconf-query -c $channel -r -p $property done done