Xfce Setup and Customization Guide

Quick answers
  • All settings: open Settings Manager (xfce4-settings-manager).
  • Panel: right-click it → Panel → Panel Preferences.
  • Panel broken? xfce4-panel -r restarts it.
  • Screen tearing? Window Manager Tweaks → Compositor → enable compositing and vsync.

Install Xfce

Xfce is light, stable and changes slowly, which makes it good for older hardware and for people who want a desktop that stays the same for years. The current major series is Xfce 4.20 (December 2024). Distro editions with Xfce as the default: Xubuntu, Linux Mint Xfce, Fedora Xfce, and the Xfce flavours of Debian and openSUSE.

DistroCommand
Ubuntusudo apt install xubuntu-desktop (full) or xubuntu-desktop-minimal
Debiansudo apt install task-xfce-desktop
Linux MintUse the Xfce edition ISO; see install Linux Mint
Fedorasudo dnf install @xfce-desktop-environment
Archsudo pacman -S xfce4 xfce4-goodies lightdm lightdm-gtk-greeter, then sudo systemctl enable lightdm
openSUSEsudo zypper install -t pattern xfce

Log out and pick the Xfce Session on the login screen. Check the version with xfce4-about or xfce4-session --version.

Panels and the Whisker Menu

Right-click a panel → Panel → Panel Preferences. Each panel has three tabs:

  • Display: mode (horizontal, vertical, deskbar), lock position, auto-hide, size, number of rows, length.
  • Appearance: background style and opacity, icon size.
  • Items: add, remove, reorder and configure plugins.

Common items to add: Whisker Menu (searchable app menu; package xfce4-whiskermenu-plugin), Docklike Taskbar (icon-only, dock-style taskbar; xfce4-docklike-plugin), PulseAudio Plugin (volume, also works with PipeWire), Status Tray, Clock and Action Buttons.

Bind the Whisker Menu to the Super key so it behaves like a Start menu: in Keyboard → Application Shortcuts add the command xfce4-popup-whiskermenu and press Super.

To save a layout you like, the Panel Profiles tool (xfce4-panel-profiles) exports and imports complete panel setups and ships with layouts that mimic other desktops.

Themes, icons and fonts

Xfce separates two kinds of theme, which is the most common source of mismatched looks:

  • Appearance → Style: the GTK theme for applications and panels.
  • Window Manager → Style: the xfwm4 theme for window borders and titlebars.

Pick matching pairs (for example Greybird for both, or Adwaita-dark with Default-hdpi). To install themes by hand:

mkdir -p ~/.themes ~/.icons
# extract a GTK/xfwm4 theme into ~/.themes and an icon theme into ~/.icons
tar -xf Theme-Name.tar.xz -C ~/.themes
# or from packages
sudo apt install arc-theme papirus-icon-theme       # Fedora: dnf install arc-theme papirus-icon-theme

Fonts, anti-aliasing, hinting and DPI are in Appearance → Fonts. On high-resolution screens set Window Scaling to 2x in Appearance → Settings and choose an -xhdpi window manager theme, or raise the custom DPI (for example 120 or 144) for a smaller step.

Keyboard shortcuts and window behaviour

Xfce has two shortcut tables, and conflicts between them are why a shortcut "does nothing":

  • Keyboard → Application Shortcuts: launch commands (terminal, file manager, screenshots).
  • Window Manager → Keyboard: window actions (tile, maximise, move to workspace, close).

Useful window manager options in Window Manager Tweaks: Cycling (Alt+Tab behaviour), Focus, Accessibility → Key used to grab and move windows, Placement and Workspaces. Edge tiling (drag a window to the side) is under Window Manager → Advanced → Windows snapping.

xfconf-query: settings from the terminal

Every Xfce setting is a property in an xfconf channel. That makes it easy to script a new install.

# list channels, then properties in one channel
xfconf-query -l
xfconf-query -c xfwm4 -l
# read and set a value
xfconf-query -c xfwm4 -p /general/use_compositing
xfconf-query -c xfwm4 -p /general/use_compositing -s true
# GTK theme and icon theme
xfconf-query -c xsettings -p /Net/ThemeName -s 'Greybird-dark'
xfconf-query -c xsettings -p /Net/IconThemeName -s 'Papirus-Dark'
# tap-to-click for libinput touchpads (device name from: xinput list)
xfconf-query -c pointers -l
# watch changes live while you click in Settings Manager
xfconf-query -c xfce4-panel -m

The -m monitor mode shows you the exact property name behind any checkbox. The graphical equivalent is Settings Editor in Settings Manager.

Screen tearing, compositor and display

Tearing during video or scrolling is the most common Xfce complaint. Try these in order:

  1. Built-in compositor: Window Manager Tweaks → Compositor → Enable display compositing. In xfwm4 the vsync method can be set explicitly:
    xfconf-query -c xfwm4 -p /general/vblank_mode -s glx
    # alternatives: xpresent, auto, off
    xfwm4 --replace &
  2. Driver-level TearFree (Intel/AMD on Xorg): create /etc/X11/xorg.conf.d/20-tearfree.conf:
    Section "Device"
        Identifier "GPU"
        Driver     "modesetting"
        Option     "TearFree" "true"
    EndSection
    Log out and back in. Use "amdgpu" as the driver if you have the xserver-xorg-video-amdgpu driver installed.
  3. NVIDIA proprietary driver: in nvidia-settings → X Server Display Configuration → Advanced, enable Force Full Composition Pipeline.

Displays are configured in Display; save a profile per setup (laptop alone, docked) and enable automatic profile switching. From the terminal, xrandr works because Xfce runs on X11. Experimental Wayland support in Xfce 4.20 exists, but most users and distros still run the X11 session; see Wayland vs X11.

Power, lock screen and login

  • Power Manager: lid-close action, display blanking, critical battery behaviour and the panel battery icon. If the laptop doesn't suspend on lid close, check that only one power manager is running: pgrep -a xfce4-power.
  • Screensaver / lock: recent Xfce uses xfce4-screensaver; Xubuntu and Mint may use light-locker. Lock with xflock4.
  • Login screen: usually LightDM. Change its look with LightDM GTK+ Greeter settings (lightdm-gtk-greeter-settings).
  • Autostart apps: Session and Startup → Application Autostart; files live in ~/.config/autostart/.

Reset and troubleshooting

Restart or reset the panel

# restart the panel
xfce4-panel -r
# full reset to defaults
xfce4-panel --quit
pkill xfconfd
rm -rf ~/.config/xfce4/panel
rm -f ~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml
xfce4-panel &

On restart the panel asks whether to use the default configuration or one empty panel; choose default. This deletes your panel layout only.

Window borders vanished

xfwm4 --replace &

If the borders come back, add xfwm4 to the saved session or clear the saved session (Session and Startup → Session → Clear saved sessions).

Reset all of Xfce

Back up first

This removes every Xfce setting for your user. Log out of Xfce first and run it from a TTY (Ctrl+Alt+F3) so the running session can't write its settings back.

cp -a ~/.config/xfce4 ~/xfce4-config-backup
rm -rf ~/.config/xfce4 ~/.cache/sessions

Log in again and Xfce creates fresh defaults (distro defaults on Xubuntu and Mint come from /etc/xdg/xfce4/). If you still can't get a desktop, check ~/.xsession-errors and journalctl -b -p err. For comparisons with other desktops, see GNOME customization and the KDE Plasma guide; upstream docs are at docs.xfce.org.

Frequently asked questions

How do I reset the Xfce panel to default?

Run xfce4-panel --quit, pkill xfconfd, delete ~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml and ~/.config/xfce4/panel, then start xfce4-panel and choose the default configuration.

Does Xfce support Wayland?

Partially. Xfce 4.20 added experimental Wayland support for most components, but the default and fully supported session is still X11, which is why Xfce is a common choice for people who need X11.

How do I fix screen tearing in Xfce?

Enable the compositor with vsync in Window Manager Tweaks → Compositor, or use the TearFree option of your graphics driver. NVIDIA users can enable Force Full Composition Pipeline.

Where are Xfce settings stored?

In XML files under ~/.config/xfce4/xfconf/xfce-perchannel-xml/, managed by the xfconfd daemon. Use Settings Manager or xfconf-query rather than editing them while logged in.

Spotted a mistake or a command that no longer works? Send a correction — pages are re-checked when reports come in.