Xfce

Xfce is a lightweight and modular Desktop environment currently based on GTK+ 2. To provide a complete user experience, it includes a window manager, a file manager, desktop and panel.

Contents

Installation

Install the xfce4 group which is available in the official repositories. You may also wish to install the xfce4-goodies group which includes extra plugins and a number of useful utilities such as the mousepad editor. Xfce uses the Xfwm window manager by default.

Starting Xfce

Graphical login

Choose Xfce Session from the menu in a display manager of choice.

Virtual console

Add exec startxfce4 to Xinitrc.

Note: Do not use the xfce4-session script; startxfce4 is indeed the proper command which in turn does call the former when appropriate.

Configuration

Tango-mail-mark-junk.png

Tango-mail-mark-junk.png

This article or section needs language, wiki syntax or style improvements.

Reason: Content duplication, hugely complex, poor style (Discuss)

Xfce stores configuration options in Xfconf. There are several ways to modify these options:

  • In the main menu, select Settings and the category you want to customize. Categories are programs usually located in /usr/bin/xfce4-* and /usr/bin/xfdesktop-settings.
  • xfce4-settings-editor can see and modify all settings. Options modified here will take effect immediately. Use xfconf-query to change settings from the commandline; see the documentation for details.
  • Settings are stored in XML files in ~/.config/xfce4/xfconf/xfce-perchannel-xml/ which can be edited by hand. However, changes made here will not take effect immediately.

Menu

Whisker menu

xfce4-whiskermenu-plugin from the official repositories is an alternate application launcher. It shows a list of favorites and browses through all installed applications through category buttons.

Edit entries

Tango-two-arrows.png

Tango-two-arrows.png

This article or section is a candidate for merging with Desktop entries.

Notes: please use the second argument of the template to provide more detailed indications. (Discuss)

To hide a menu item, add NoDisplay=true in the respective Desktop entries. You can copy an entry in /usr/share/applications to .local/share/applications for user-specific changes, and to prevent application updates from overwriting changes.

You can also edit the application's category by editing .desktop files and modifying the Categories= line.

Alternatively, create the file ~/.config/menus/xfce-applications.menu and add the following:

<!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN"
  "http://www.freedesktop.org/standards/menu-spec/1.0/menu.dtd">
<Menu>
    <Name>Xfce</Name>
    <MergeFile type="parent">/etc/xdg/menus/xfce-applications.menu</MergeFile>
    <Exclude>
        <Filename>xfce4-run.desktop</Filename>
        <Filename>exo-terminal-emulator.desktop</Filename>
        <Filename>exo-file-manager.desktop</Filename>
        <Filename>exo-mail-reader.desktop</Filename>
        <Filename>exo-web-browser.desktop</Filename>
        <Filename>xfce4-about.desktop</Filename>
        <Filename>xfhelp4.desktop</Filename>
    </Exclude>
    <Layout>
        <Merge type="all"/>
        <Separator/>
        <Menuname>Settings</Menuname>
        <Separator/>
        <Filename>xfce4-session-logout.desktop</Filename>
    </Layout>
</Menu>

The <MergeFile> tag includes the default Xfce menu.

The <Exclude> tag excludes applications which we do not want to appear in the menu. Here we excluded some Xfce default shortcuts, but you can exclude firefox.desktop or any other application.

The <Layout> tag defines the layout of the menu. The applications can be organized in folders or however we wish. For more details see the Xfce wiki.

Separate tools are also available for this task:

  • XAME — GUI tool written in Gambas designed specifically for editing menu entires in Xfce, it will not work in other environments.
http://www.redsquirrel87.com/XAME.html || xame
  • menulibre — An advanced menu editor that provides modern features in a clean, easy-to-use interface.
https://launchpad.net/menulibre || menulibre.
  • alacarte — Menu editor for GNOME
http://www.gnome.org/ || alacarte
Note: Desktop entries which contain OnlyShowIn=Xfce; will not appear in alacarte. Similarly, entries with OnlyShowIn=GNOME; will not show in the Xfce menu. alacarte-xfce and alacarte-lxde from the AUR address this issue; latter should work in and outside LXDE.

Desktop

Transparent background for icon titles

To change the default white background of desktop icon titles to something more suitable, create or edit ~/.gtkrc-2.0:

style "xfdesktop-icon-view" {
    XfdesktopIconView::label-alpha = 10
    base[NORMAL] = "#000000"
    base[SELECTED] = "#71B9FF"
    base[ACTIVE] = "#71B9FF"
    fg[NORMAL] = "#fcfcfc"
    fg[SELECTED] = "#ffffff"
    fg[ACTIVE] = "#ffffff"
}
widget_class "*XfdesktopIconView*" style "xfdesktop-icon-view"

Hide selected partitions

Tango-two-arrows.png

Tango-two-arrows.png

This article or section is a candidate for merging with udev.

Notes: please use the second argument of the template to provide more detailed indications. (Discuss)

If you wish to prevent certain partitions or drives appearing on the desktop, you can create a udev rule, for example /etc/udev/rules.d/10-local.rules:

KERNEL=="sda1", ENV{UDISKS_PRESENTATION_HIDE}="1"
KERNEL=="sda2", ENV{UDISKS_PRESENTATION_HIDE}="1"

shows all partitions with the exception of sda1 and sda2 on your desktop. Notice if you are using udisks2 the above will not work as UDISKS_PRESENTATION_HIDE is no longer supported. Instead use UDISKS_IGNORE as follows:

KERNEL=="sda1", ENV{UDISKS_IGNORE}="1"
KERNEL=="sda2", ENV{UDISKS_IGNORE}="1"

Remove Thunar options from right-click menu

Issue the following command:

$ xfconf-query -c xfce4-desktop -v --create -p /desktop-icons/style -t int -s 0

Kill window shortcut

Tango-emblem-important.png

Tango-emblem-important.png

The factual accuracy of this article or section is disputed.

Reason: No explanation what the string does over a simple xkill command (Discuss)

Xfce does not support the kill window shortcut directly, but you can add one with a simple script. Ensure you have the xorg-xkill package installed.

Create a script in ~/.config/xfce4/killwindow.sh with this content and make it executable (you can use chmod 755 killwindow.sh).

xkill -id "`xprop -root -notype | sed -n '/^_NET_ACTIVE_WINDOW/ s/^.*# *\|\,.*$//g p'`"

Now associate a shortcut using Settings > Keyboard to that script.

Session

Startup applications

To launch custom applications when Xfce starts up, click the Applications Menu > Settings > Settings Manager and then choose the Session and Startup option and click the tab Application Autostart. You will see a list of programs that get launched on startup. To add an entry, click the Add button and fill out the form, specifying the path to an executable you want to run.

Alternatively you can use a command line script to launch your applications. This includes getting necessary environment variables into the GUI runtime.

  • Copy the file /etc/xdg/xfce4/xinitrc to ~/.config/xfce4/
  • Edit this file. For example, you can add something like this somewhere in the middle:
source $HOME/.bashrc
# start rxvt-unicode server
urxvtd -q -o -f

Lock the screen

To lock an Xfce4 session (through xflock4) one of xscreensaver, gnome-screensaver, slock or xlockmore packages needs to be installed. XScreenSaver is the recommended option.

You may also make a local copy of xflock4, for example /usr/local/bin/xflock4.

To change the screensaver, or change it for applications such as the Whisker Menu (Properties > Behavior > Lock Screen). See List_of_applications/Security#Screen_lockers for a comprehensive list of other options.

User switching

Xfce4 has support for user switching when used with a Display manager that has this functionality - examples being LightDM and GDM. Please consult your display manager's wiki page for more information. When you have a display manager installed and configured correctly you can switch users from the 'action buttons' menu item in the panel.

Disable sessions

Xfce kiosk mode can be used to totally disable the saving of sessions. To disable sessions, create or edit the file /etc/xdg/xfce4/kiosk/kioskrc and add the following:

[xfce4-session]
SaveSession=NONE

If kiosk mode isn't working, user can set r/o permissions for sessions directory:

$ rm ~/.cache/sessions/* && chmod 500 ~/.cache/sessions

This will prevent Xfce from saving any sessions despite settings and/or configs.

Default window manager

Note: For the changes to take effect, you will need to clear the saved sessions and ensure that session saving is disabled when logging out for the first time. Once the window manager of choice is running, session saving can be enabled again.

The global setting for window manager is contained within /etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml. The per-user configuration can be generated by executing:

$ cp /etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml ~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml
Within these files the window manager is specified on the line just below that containing "Client0_Command". The line should be changed from
<value type="string" value="xfwm4"/>
to
<value type="string" value="window_manager_executable"/>

Alternatively, run the command window_manager --replace replacing window_manager with the name of the window manager in question - for example, metacity.

If saved sessions are enabled then logging out whilst the alternative window manager is running will mean that the alternative window manager will be started automatically next time you log in.

Note: If you are using the autostart list to start the alternative window manager, it is advisable to disable saved sessions. If saved sessions are not disabled, the window manager may be started twice at login.

If you do not wish to use saved sessions, you can add the alternative window manager to the autostart list in Xfce instead. To do this, from the main menu navigate to Settings Manager > Session and Startup > Application Autostart and click Add. Enter the correct command for your window manager in the Command field and enter a name and description. Click Ok and then log and in again for the changes to take effect.

Themes

XFCE themes are available at [1]. Xfwm themes are stored in /usr/share/themes/xfce4, and set in Settings > Window Manager. GTK+ themes are set in Settings > Appearance.

Consistency

To achieve a uniform look for all applications it is advisable to use an up to date GTK+ 3 theme like the Adwaita theme as GTK+ 3 themes have inbuilt support for GTK+ 2 applications.

For details see GTK+#GTK+ 3.x for GTK+ 3 and Uniform Look for Qt and GTK Applications for Qt.

Cursors

See Cursor themes. Xfce sets themes in Settings > Mouse.

Icons

See Icons.

Fonts

See Font configuration. Xfce sets fonts in Settings > Appearance.

Sound

Configuring xfce4-mixer

xfce4-mixer is the GUI mixer app / panel plugin made by the Xfce team. It is part of the xfce4 group, so you probably already have it installed. Xfce 4.6 uses gstreamer as the backend to control volume, so first you have to make gstreamer cooperate with xfce4-mixer. One or more of the gstreamer plugin packages listed as optional dependencies to xfce4-mixer must be installed. Without one of these required plugins packages, the following error arises when clicking on the mixer panel item.

 GStreamer was unable to detect any sound devices. Some sound system specific GStreamer packages may be missing.

Which plugins are needed depends on the hardware. Most people should be fine with gstreamer0.10-base-plugins which can be installed from Official repositories.

If the xfce4-mixer panel item was already running before one of the plugins packages was installed, logout and login to see if it worked, or just remove the mixer plugin from the panel and add it again. If that does not work, you might need more or different gstreamer plugins. Try to install package gstreamer0.10-good-plugins or gstreamer0.10-bad-plugins.

If you had to change the soundcard in the audio mixer, then you should log out and back in to hear sound.

For further details, for example how to set the default sound card, see Advanced Linux Sound Architecture. Alternatively you can use PulseAudio together with pavucontrol.

Xfce4-mixer and OSS4

If you tried the above section to get xfce4-mixer to work and it does not work at all, then you may have to compile gstreamer0.10-good-plugins yourself. Download the PKGBUILD and other files needed from ABS or here, edit the PKGBUILD, add --enable-oss.

 ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \
   --enable-oss \
   --disable-static --enable-experimental \
   --disable-schemas-install \
   --disable-hal \
   --with-package-name="GStreamer Good Plugins (Archlinux)" \
   --with-package-origin="https://www.archlinux.org/"

and then run makepkg -i.

 makepkg -i

Other LINKS: OSS forum

Xfce4-mixer and pulseaudio

Open xfce4-settings-editor, navigate to xfce4-mixer. You might want to change the value of active-card. check below sound-cards and you might find a few lines under it and one of them should be similar to PlaybackInternalAudioAnalogStereoPulseAudioMixer. It is pulseaudio recognized by xfce4. So all you need to do is make it default. Copy it and replace values of active-card and sound-card. Reboot or xfce4-mixer restart might be required.

Keyboard Volume Buttons

Go to Settings > Keyboard, then click the Application Shortcuts tab and add click the Add button. Add the following by entering the command, then pressing the corresponding button at the next window:

ALSA

For the raise volume button:

amixer set Master 5%+

For the lower volume button:

amixer set Master 5%-

For the mute button:

amixer set Master toggle

You can also run these commands to set the above commands to the standard XF86Audio keys:

xfconf-query -c xfce4-keyboard-shortcuts -p /commands/custom/XF86AudioRaiseVolume -n -t string -s "amixer set Master 5%+ unmute"
xfconf-query -c xfce4-keyboard-shortcuts -p /commands/custom/XF86AudioLowerVolume -n -t string -s "amixer set Master 5%- unmute"
xfconf-query -c xfce4-keyboard-shortcuts -p /commands/custom/XF86AudioMute -n -t string -s "amixer set Master toggle"

If amixer set Master toggle does not work, try the PCM channel (amixer set PCM toggle) instead.

The channel must have a "mute" option for the toggle command to work. To check whether or not your Master channel supports toggling mute, run alsamixer in a terminal and look for the double M's (MM) under the Master channel. If they are not present, then it does not support the mute option. If, for example, you had to change the toggle button to use the PCM channel, make sure to also set the PCM channel as the Mixer Track under Xfce Mixer properties.

PulseAudio

For the raise volume button:

sh -c "pactl set-sink-mute 0 false ; pactl set-sink-volume 0 +5%"

For the lower volume button:

sh -c "pactl set-sink-mute 0 false ; pactl -- set-sink-volume 0 -5%"

For the mute button:

pactl set-sink-mute 0 toggle

These settings assume the device you want to control has index 0. Use pactl list sinks short to list sinks.

OSS

See OSS#Using_multimedia_keys_with_OSS.

Xfce4-volumed

Tango-two-arrows.png

Tango-two-arrows.png

This article or section is a candidate for merging with Xfce#Xfce4-mixer_and_pulseaudio.

Notes: Bloat (Discuss)

xfce4-volumed daemon from the AUR automatically maps volume keys of your keyboard to Xfce-mixer. Additionally you get OSD through Xfce4-notifyd when changing volume. Xfce4-volumed does not need any configuration and is started automatically with Xfce.

If you use pulseaudio and xfce4-volumed unmute does not work then change the keyboard commands to the pactl commands for pulseaudio as shown above in the pulseaudio section.

Tip: Users of PulseAudio can also install the fork from Xubuntu using the package xfce4-volumed-pulse.

Also you might want to change your default sound card on xfce4 to pulse audio - Xfce#Xfce4-mixer_and_pulseaudio.

Volumeicon

volumeicon is an alternative to xfce4-volumed in the community repo also handling keybindings and notifications through xfce4-notifyd.

Note: Volumeicon can only handle ALSA keybindings. If you are using Pulseaudio and Volumeicon is handling the media keys you may notice issues such as not being able to unmute the volume using the multimedia keys.
Extra keyboard keys

If you are coming from another distro, you may be interested in enabling extra keys on your keyboard, see Extra keyboard keys.

Adding startup/boot sound

Arch does not have a built-in startup sound configuration tool, but there is a workaround by adding the following command to your Application Autostart settings:

aplay /boot/startupsound.wav

The file location and filename can be whatever you want, but naming it descriptively and putting it in /boot keeps things tidy.

Keyboard Shortcuts

Keyboard shortcuts are defined in two places: Settings > Window Manager > Keyboard, and Settings > Keyboard > Shortcuts.

Complex Shortcuts

Xfce4 from the official repositories is not able to set certain shortcuts, such as Super+Shift+j, even if you modify the keyboard.xml file manually. In order to set such a shortcut, you will need to either use another application such as xbindkeys, or install libxfce4ui-devel from the AUR.

Polkit Authentication Agent

XFCE does not include a Polkit authentication agent. See Polkit#Authentication agents.

Tips & Tricks

xdg-open integration (Preferred Applications)

Most applications rely on xdg-open for opening a preferred application for a given file or URL.

In order for xdg-open and xdg-settings to detect and integrate with the XFCE desktop environment correctly, you need to install the xorg-xprop package.

If you do not do that, your preferred applications preferences (set by exo-preferred-applications) will not be obeyed. Installing the package and allowing xdg-open to detect that you are running XFCE makes it forward all calls to exo-open instead, which correctly uses all your preferred applications preferences.

To make sure xdg-open integration is working correctly, ask xdg-settings for the default web browser and see what the result is:

# xdg-settings get default-web-browser

If it replies with:

xdg-settings: unknown desktop environment

it means that it has failed to detect XFCE as your desktop environment, which is likely due to a missing xorg-xprop package.

Screenshots

XFCE has its own screenshot tool, xfce4-screenshooter. It is part of the xfce4-goodies group.

Print Screen key

Go to XFCE Menu > Settings > Keyboard, Application Shortcuts. Add the xfce4-screenshooter -f command to use the PrintScreen key in order to take fullscreen screenshots. See screenshooter's man page for other optional arguments.

Alternatively, an independent screenshot program like scrot can be used.

Disable Terminal F1 and F11 shortcut

The xfce terminal binds F1 and F11 to help and fullscreen, respectively, which can make using programs like htop difficult. To disable those shortcuts, create or edit its configuration file, then log out and log back in. F10 can disabled in the Preferences menu.

~/.config/xfce4/terminal/accels.scm
(gtk_accel_path "<Actions>/terminal-window/fullscreen" "")
(gtk_accel_path "<Actions>/terminal-window/contents" "")

Terminal color themes or pallets

Terminal color themes or pallets can be changed in GUI under Appearance tab in Preferences. These are the colors that are available to most console applications like Emacs, Vi and so on. Their settings are stored individually for each system user in ~/.config/xfce4/terminal/terminalrc file. There are also so many other themes to choose from. Check forum thread Terminal Colour Scheme Screenshots for hundreds of available choices and themes.

Changing default color theme

XFCE's extra/terminal package comes with a darker color palette. To change this, append the following in your terminalrc file for a lighter color theme, that is always visible in darker Terminal backgrounds.

~/.config/xfce4/terminal/terminalrc
ColorPalette5=#38d0fcaaf3a9
ColorPalette4=#e013a0a1612f
ColorPalette2=#d456a81b7b42
ColorPalette6=#ffff7062ffff
ColorPalette3=#7ffff7bd7fff
ColorPalette13=#82108210ffff

Terminal tango color theme

To switch to tango color theme, open with your favorite editor

~/.config/xfce4/terminal/terminalrc

And add(replace) these lines:

ColorForeground=White
ColorBackground=#323232323232
ColorPalette1=#2e2e34343636
ColorPalette2=#cccc00000000
ColorPalette3=#4e4e9a9a0606
ColorPalette4=#c4c4a0a00000
ColorPalette5=#34346565a4a4
ColorPalette6=#757550507b7b
ColorPalette7=#060698989a9a
ColorPalette8=#d3d3d7d7cfcf
ColorPalette9=#555557575353
ColorPalette10=#efef29292929
ColorPalette11=#8a8ae2e23434
ColorPalette12=#fcfce9e94f4f
ColorPalette13=#72729f9fcfcf
ColorPalette14=#adad7f7fa8a8
ColorPalette15=#3434e2e2e2e2
ColorPalette16=#eeeeeeeeecec

Colour management

Tango-two-arrows.png

Tango-two-arrows.png

This article or section is a candidate for merging with Color management.

Notes: please use the second argument of the template to provide more detailed indications. (Discuss)

xfce4-settings-manager does not yet have any colour management / calibration settings, nor is there any specific XFCE program to characterise your monitor.

There is a very good article on how to do colour profiling with dispwin etc. under XFCE, below are the basics:

Loading a profile

If you wish to load an icc profile (that you have previously created or downloaded) to calibrate your display on startup, you can download xcalib from AUR, then open the XFCE4 Settings Manager, click Session and Startup icon, the Autostart tab, and add a new entry where the command is /usr/bin/xcalib /path/to/your/profile.icc. You still need to tell your applications, which display profile should be used to have the displayed images colour managed.

Another option is dispwin. Dispwin not only calibrates the display, but also sets the _ICC_PROFILE atom in X so that some applications can use a "system" display profile instead of requiring the user to set the display profile manually (GIMP, Inkscape, darktable, UFRaw, etc.).

See ICC Profiles#Loading ICC Profiles for more information.

Creating a profile

If you wish to create an icc profile for your display (ie. characterising/profiling, e.g. with the ColorHug, or some other colorimeter, or a spectrophotometer, or "by eye"), the simplest option may be to install dispcalgui from AUR.

Another option is to install gnome-settings-daemon and gnome-color-manager (available in extra). In order to start the calibration from the command line, first do /usr/lib/gnome-settings-daemon/gnome-settings-daemon & (note: this might change your keyboard layout and who knows what else, so probably good to do it on a throwaway account), then colormgr get-devices and look for the "Device ID" line of your monitor. If this is e.g. "xrandr-Lenovo Group Limited", you start calibration with the command gcm-calibrate --device "xrandr-Lenovo Group Limited".

Note: The reason you need gnome-settings-daemon running is because XFCE does not yet have a session component for colord: https://bugzilla.xfce.org/show_bug.cgi?id=8559 . A lightweight daemon, xiccd, may (and probably should) be used instead.

See ICC Profiles for more information.

Multiple Monitors

If you have configured X.org so that your display spans multiple monitors, usually when you login to an XFCE session, it will appear as if your monitors are simple clones of one another. You can use an xrandr tool to tweak your setup but if this is not called at an appropriate time in the startup sequence, some functionality may be lost with parts of your display being inaccessible to the mouse pointer.

A better way is to configure XFCE to match your desired display arrangement. However, at present (xfce-settings 4.10), there is no tool available to assist with configuring multiple monitors directly.

  • The Settings > Display tool does allow configuration of screen resolution, rotation and enabling individual monitors; warning: using this tool to adjust display settings will reset or lose settings made manually for properties not explicitly offered as buttons in the tool (see below).
  • The Settings > Settings Editor allows manipulation of all configuration items in particular the displays settings which are saved in the file displays.xml below
~/.config/xfce4/xfconf/xfce-perchannel-xml
  • Alternatively, the displays.xml can be edited using your favourite editor.

The main requirement for multiple monitors is their arrangement relative to one another. This can be controlled by setting the Position properties (X and Y) to suit; an (x,y) position of 0,0 corresponds to the top, left position of the monitor array. This is the default position for all monitors and if several monitors are enabled they will appear as a cloned display area extending from this point.

To extend the display area correctly across both monitors:

  • for side-by-side monitors, set the X property of the rightmost monitor to equal the width of the left-most monitor
  • for above-and-below monitors, set the Y property of the bottom monitor to equal the height of the upper monitor
  • for other arrangements, set the X and Y properties of each monitor to correspond to your layout

Measurements are in pixels. As an example, a pair of monitors with nominal dimensions of 1920x1080 which are rotated by 90 and placed side-by-side can be configured with a displays.xml like this:

<channel name="displays" version="1.0">
 <property name="Default" type="empty">
   <property name="VGA-1" type="string" value="Idek Iiyama 23"">
     <property name="Active" type="bool" value="true"/>
     <property name="Resolution" type="string" value="1920x1080"/>
     <property name="RefreshRate" type="double" value="60.000000"/>
     <property name="Rotation" type="int" value="90"/>
     <property name="Reflection" type="string" value="0"/>
     <property name="Primary" type="bool" value="false"/>
     <property name="Position" type="empty">
       <property name="X" type="int" value="0"/>
       <property name="Y" type="int" value="0"/>
     </property>
   </property>
   <property name="DVI-0" type="string" value="Digital display">
     <property name="Active" type="bool" value="true"/>
     <property name="Resolution" type="string" value="1920x1080"/>
     <property name="RefreshRate" type="double" value="60.000000"/>
     <property name="Rotation" type="int" value="90"/>
     <property name="Reflection" type="string" value="0"/>
     <property name="Primary" type="bool" value="false"/>
     <property name="Position" type="empty">
       <property name="X" type="int" value="1080"/>
       <property name="Y" type="int" value="0"/>
     </property>
   </property>
 </property>
</channel>

Usually, editing settings in this way requires a logout/login to action them.

A new method for configuring multiple monitors will be available in the forthcoming xfce-settings 4.12 release.

XDG User Directories

freedesktop.org specifies the "well known" user directories like the desktop folder and the music folder. See Xdg user directories for detailed info.

SSH Agents

By default Xfce 4.10 will try to load gpg-agent or ssh-agent in that order during session initialization. To disable this, create an xfconf key using the following command:

xfconf-query -c xfce4-session -p /startup/ssh-agent/enabled -n -t bool -s false

To force using ssh-agent even if gpg-agent is installed, run the following instead:

xfconf-query -c xfce4-session -p /startup/ssh-agent/type -n -t string -s ssh-agent

To use GNOME Keyring, simply tick the checkbox Launch GNOME services on startup in the Advanced tab of Session Manager in Xfce's settings. This will also disable gpg-agent and ssh-agent.

Source: http://docs.xfce.org/xfce/xfce4-session/advanced

Bluetooth functionality

Users have 3 options for using Bluetooth in Xfce:

  • You can use command line tools to access Bluetooth functionality. Obex can be used for sending and receiving files and bluetoothctl can be used for device pairings. See the Bluetooth article for more information.

Scroll a background window without shifting focus on it

Go to Main Menu > Settings > Window Manager Tweaks > Accessibility tab Uncheck Raise windows when any mouse button is pressed.

Troubleshooting

Action Buttons/Missing Icons

This happens if icons for some actions (Suspend, Hibernate) are missing from the icon theme, or do not have the expected names. First, find out the currently used icon theme in the Settings Manager (Appearance > Icons). Match this with a subdirectory of /usr/share/icons. For example, if the icon theme is GNOME, make a note of the directory name /usr/share/icons/gnome.

icontheme=/usr/share/icons/gnome

Install an icon theme which has the necessary icons already added; see Icons.

xfce4-power-manager also contains the needed icons. Create symbolic links from the current icon theme into the hicolor icon theme.

ln -s /usr/share/icons/hicolor/16x16/actions/xfpm-suspend.png   ${icontheme}/16x16/actions/system-suspend.png
ln -s /usr/share/icons/hicolor/16x16/actions/xfpm-hibernate.png ${icontheme}/16x16/actions/system-hibernate.png
ln -s /usr/share/icons/hicolor/22x22/actions/xfpm-suspend.png   ${icontheme}/22x22/actions/system-suspend.png
ln -s /usr/share/icons/hicolor/22x22/actions/xfpm-hibernate.png ${icontheme}/22x22/actions/system-hibernate.png
ln -s /usr/share/icons/hicolor/24x24/actions/xfpm-suspend.png   ${icontheme}/24x24/actions/system-suspend.png
ln -s /usr/share/icons/hicolor/24x24/actions/xfpm-hibernate.png ${icontheme}/24x24/actions/system-hibernate.png
ln -s /usr/share/icons/hicolor/48x48/actions/xfpm-suspend.png   ${icontheme}/48x48/actions/system-suspend.png
ln -s /usr/share/icons/hicolor/48x48/actions/xfpm-hibernate.png ${icontheme}/48x48/actions/system-hibernate.png

Log out and in again, and you should see icons for all actions.

Desktop icons rearrange themselves

At certain events (such as opening the panel settings dialog) icons on the desktop rearrange themselves. This is because icon positions are determined by files in the ~/.config/xfce4/desktop/ directory. Each time a change is made to the desktop (icons are added or removed or change position) a new file is generated in this directory and these files can conflict.

To solve the problem, navigate to the directory and delete all the files other than the one which correctly defines the icon positions. You can determine which file defines the correct icon positions by opening it and examining the locations of the icons. The topmost row is defined as row 0 and the leftmost column is defined by col 0. Therefore an entry of:

[Firefox]
row=3
col=0

means that the Firefox icon will be located on the 4th row of the leftmost column.

GTK themes not working with multiple monitors

Some configuration tools may corrupt displays.xml, which results in GTK themes under Applications Menu > Settings > Appearance ceasing to work. To fix the issue, delete ~/.config/xfce4/xfconf/xfce-perchannel-xml/displays.xml and reconfigure your screens.

HTML files not opened correctly in Firefox

When opening HTML files with blank spaces, and Firefox set as default browser in exo-preferred-applications, each word is opened as a separate URL.[2] Open the file directly with firefox.desktop (Firefox) instead of exo-web-browser.desktop (Web Browser), or in /usr/share/xfce4/helpers/firefox.desktop change:

X-XFCE-CommandsWithParameter=%B -remote "openURL(%s)";%B %s;

to (adding quotes to %s)

X-XFCE-CommandsWithParameter=%B -remote "openURL(%s)";%B "%s";

Alternatively, install exo-helpers-patch from the AUR.

Icons do not appear in right-click menus

Users may find that icons do not appear when right-clicking options within some applications, including those made with Qt. This problem only appears to happen within Xfce. Run these two commands:

$ gconftool-2 --type boolean --set /desktop/gnome/interface/buttons_have_icons true
$ gconftool-2 --type boolean --set /desktop/gnome/interface/menus_have_icons true

Keyboard settings are not saved in xkb-plugin

There is a bug in xfce4-xkb-plugin 0.5.4.1-1 which causes it to lose keyboard, layout switching and compose key settings. As a workaround, enable Use system defaults in xfce4-keyboard-settings, then reconfigure xfce4-xkb-plugin.

Locales ignored with GDM

Add your locale to /var/lib/AccountsService/users/$USER:

[User]
Language=your_locale
XSession=xfce

To do so with sed:

# sed -i 's/Language=.*/Language=hu_HU\.UTF-8/' /var/lib/AccountsService/users/$USER

Restart GDM to take effect.

Missing menu entries for WINE

Wine applications may not be listed in /usr/share/applications. See the “Other” category in ~/.local/share/applications/wine/.

Multiple suspend events

If using xfce4-power-manager to control ACPI events, and not systemd, edit /etc/systemd/logind.conf:

HandlePowerKey=ignore
HandleSuspendKey=ignore
HandleHibernateKey=ignore
HandleLidSwitch=ignore

Non ASCII characters when mounting USB sticks

Tango-two-arrows.png

Tango-two-arrows.png

This article or section is a candidate for merging with Mount.

Notes: please use the second argument of the template to provide more detailed indications. (Discuss)

A common problem when automounting USB sticks formatted with fat filesystem is the inability to properly show characters as umlauts, ñ, ß, etc. This may be solved by changing the default iocharset to UTF-8, which is easily done adding a line to /etc/xdg/xfce4/mount.rc:

[vfat]
uid=<auto>
shortname=winnt
utf8=true
# FreeBSD specific option
longnames=true
flush=true

Note that when using utf-8, the system will distinct between upper- and lowercases, potentially corrupting your files, so be careful.

It is possible to mount vfat devices with flush option, so that when copying to USB sticks data flushes more often, thus making thunar's progress bar to stays up until finished. Adding async instead will speed up write ops, but make sure to use Eject option in Thunar to unmount the stick. Globally, mount options for storage devices present at boot can be set in fstab, and for other devices in udev rules.

NVIDIA and xfce4-sensors-plugin

To detect and use sensors of nvidia gpu you need to install libxnvctrl and then rebuild xfce4-sensors-plugin with ABS.

Persistent display blanking

Xfce4 (as of 4.12) does not respect monitor power settings in xfce4-power-manager. It instead attempts to run the screensaver every 10 minutes. This can be verified with $ xset q. Run $ xset s noblank to prevent this behaviour; see DPMS.

Alternatively, add the following to /etc/X11/xorg.conf.d/:

20-blank.conf
Section "ServerFlags"
 Option "BlankTime" "0"
EndSection

Preferred Applications preferences have no effect

If you have set preferred applications with exo-preferred-applications, but they are not taken into consideration, see #xdg-open integration (Preferred Applications).

Redundant context menu entry on desktop

Note: It has been tested that Xfce 4.10 (with Thunar 1.63, xfdesktop 4.10.2) has this bug. Not sure if this bug is related to xfdesktop.

When creating a new empty (text) file on the desktop, right clicking it will show a redundant Set as wallpaper entry. To disable this, rebuild Thunar with the --disable-wallpaper-plugin flag.

Restore default settings

If for any reason you need to revert back: to the default settings, rename ~/.config/xfce4-session/ and ~/.config/xfce4/

$ mv ~/.config/xfce4-session/ ~/.config/xfce4-session-bak
$ mv ~/.config/xfce4/ ~/.config/xfce4-bak

Relogin for changes to take effect. If you get "Unable to load a failsafe session" upon login, see the #Session failure.

Session failure

Symptoms include:

  • The mouse is an X and/or does not appear at all;
  • window decorations have disappeared and windows cannot be closed;
  • (xfwm4-settings) will not start, reporting These settings cannot work with your current window manager (unknown);
  • errors reported by a display manager such as No window manager registered on screen 0.

Restarting xfce or rebooting your system may solve the problem, but a corrupt session is the likely cause. Delete the session folder:

$ rm -r ~/.cache/sessions/

See also