52

How do I reset my Xfce panels to the default settings that Xubuntu uses?

91

XFCE stores it's configuration for the running session in xfconfd. Feel free to back up the files you're going to delete first.

  1. Shut down the panel first, xfce4-panel --quit
  2. Kill the xfce4 configuration daemon, pkill xfconfd
  3. First delete settings for the panel, rm -rf ~/.config/xfce4/panel
  4. Clear out the settings for xfconfd, rm -rf ~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml
  5. Restart the panel, run xfce4-panel. This will respawn xfconfd 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;
  • 4
    I suggest using the mv command or at least suggesting to copy the folder elsewhere before deleting anything. – Mateo Nov 30 '12 at 22:05
  • 1
    I wouldn't suggest that. This is a simple reset to defaults. In no paradigm does a Reset to Defaults → Apply provide for an Undo. I take it the users understand this, as I could not think of anything that would lead them to expect anything else. – Evan Carroll Nov 30 '12 at 23:14
  • 2
    except that using rm -rf can be dangerous if you miss-type, If you accidentally move something else, you can simply move it back. – Mateo Nov 30 '12 at 23:51
  • 1
    THANK YOU! my panel disappeared and I was having trouble finding a way to restore it with my old (backed up) settings without logging out, this worked! – weronika Dec 20 '12 at 5:22
  • 1
    @EvanCarroll I did back when I made that comment - apparently it got some downvotes as well. – weronika Mar 26 '13 at 21:04
8

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.

  • 1
    You could just as easily do it in one line, pkill xfconfd; rm -rf ~/.config/xfce4/panel ~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml; xfec4-panel, which would stop you from having to logout, and not nuke other potentially useful settings in ~/.config/xfce4. – Evan Carroll Dec 23 '13 at 18:18
  • The other answer did not work for me on xfce 4.12 on Ubuntu 16.04 LTS, but this answer worked great. Just thought I would give a heads up for anyone reading this. – Ken Aug 6 '17 at 7:36
  • solution from @EvanCarroll is better. Worked for me. Thank you kind sir! – n.podbielski Sep 26 at 10:14
3

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
2

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:

  1. Right-click anywhere on the panel (except for one of the open window buttons) > Panel > Panel Preferences
  2. Click Backup and restore
  3. (Optional) Click the Save Configuration button to save your current configuration
  4. 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.
  5. Click Apply Configuration

Not the answer you're looking for? Browse other questions tagged or ask your own question.