Resetting Xfce Panels to default settings?
Solution 1:
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,
xfce4-panel --quit
- Kill the xfce4 configuration daemon,
pkill xfconfd
- 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 respawnxfconfd
automatically. 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/xfconfd
which was outside of$PATH
.
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;
Solution 2:
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.
Solution 3:
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
Solution 4:
xfce ships with xfconf-query - a powerful commandline utility for dealing with the xml config files inside of:
$HOME/.config/xfce4/xfconf/xfce-perchannel-xml/
.
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