Xfce is a desktop environment for Unix and other Unix-like platforms (such as Linux, Solaris or BSD). Xfce is “designed for productivity. It loads and executes applications fast, while conserving system resources.” (Olivier Fourdan, creator of Xfce). This philosophy should appeal to anyone looking for a fast, modern, and efficient working environment for a *NIX box.
Xfce is pronounced “ecks-eff-see-ee”. The name Xfce originally stood for “XForms Common Environment”, but since then Xfce has been rewritten twice and doesn't use the XForms toolkit anymore. The name survived, but it is no longer capitalized as “XFCE” and is no longer an abbreviation for anything (although suggestions have been made, such as “X Freakin' Cool Environment”).
A mouse, obviously, for all kinds of reasons like world domination and monsters and such.
Xfce is developed to be versatile. It is currently supported on Linux, Solaris and BSD, but has been known to run in some shape or form on IRIX, Mac OS X, and Windows.
Xfce 4 components are licensed under free or open source licenses: GPL or BSDL for applications and LGPL or BSDL for libraries. Read the documentation, the source code, or refer to the Xfce homepage for more information.
There is no set schedule, a new version will be released when it is ready. Xfce's development is split up into key phases, each of which can take months or even years to complete. More information on the release model can be found here. Currently the wait for Xfce 4.14 has been over 4 years, here is it's current status. Although this may seem like a long time - remember, Xfce is developed by a small group of hard-working volunteers!
Xfce can be installed either from the package manager of your distro or from the source code. Installing via a package manager is preferred as it allows you to easily go back if the Xfce environment is not for you. Building from the source code allows you to try out the latest features that may be unstable for daily use.
Yes, there are three different ways to do this:
startxfce4
exec startxfce4
to your .xinitrc
in your home directory and simply use startx
.if [ "$(tty)" = "/dev/tty1" -o "$(tty)" = "/dev/vc/1" ] ; then startxfce4 fi
Yes. It's probably the default behavior of most distributions.
LXDM is the display manager of LXDE, but it is universal. It has no GNOME or KDE dependencies, a nice interface and is very complete. Most distributions have a package available that you can install. Regarding the configuration, check the presence of a file (or add) /usr/share/xsessions/06xfce4.desktop (the location may differ depending on the distributions), such as:
[Desktop Entry] Encoding=UTF-8 Name=Xfce4 Comment=Use this session to run Xfce4 as your desktop environment TryExec=/usr/bin/startxfce4 Exec=/usr/bin/startxfce4 Icon=/usr/local/share/pixmaps/xfce4_xicon1.png Type=Application
Lines TryExec and Exec may also differ between distributions.
If you want to avoid GNOME or KDE dependencies and have a more attractive interface than XDM, you can give SLiM a try. See the SLiM manual for more information.
If you installed Xfce system-wide and you want to use the GNOME Display Manager (gdm) to start your Xfce session, you will have to create a .desktop file to teach gdm how to start the Xfce session. This is a sample desktop file, Xfce.desktop:
[Desktop Entry] Encoding=UTF-8 Name=Xfce4 Comment=Use this session to run Xfce 4.4 as your desktop environment Exec=/usr/local/bin/startxfce4 Icon=/usr/local/share/pixmaps/xfce4_xicon1.png Type=Application
It is usually enough to simply copy the example file to the session directory used by gdm; this directory is usually located in /etc/dm/Sessions, /etc/X11/gdm/Sessions, /usr/share/xsessions, /usr/X11/share/gnome/xsessions or some other location. Refer to the documentation of your system for details. You need to restart gdm after you created the file.
If you installed Xfce system-wide and you want to use the KDE Display Manager (kdm) to start your Xfce session, you will have to create a .desktop file to teach kdm how to start the Xfce session.
First you need to find where kdm searches for its .desktop files:
locate kde.desktop
Common locations are /usr/share/apps/kdm/sessions or /usr/local/share/kdm/sessions. Once you found the kdm session directory, you need to create a new file named Xfce.desktop with the following:
[Desktop Entry] Encoding=UTF-8 Type=XSession Exec=/usr/local/bin/startxfce4 TryExec=/usr/local/bin/startxfce4 Name=Xfce4 Comment=The Xfce4 Desktop Environment
Xfce simply wants your hostname to be in /etc/hosts
. Example input: 127.0.0.1 localhost
For some reason, your X applications cannot connect to the session manager. Possible causes for this are: your hostname cannot be resolved (see Login problems section), your home partition or partition containing /tmp is filled up, your hostname contains non-ascii characters (no umlauts allowed, in particular) or either ~/.ICEauthority or /tmp/.ICE-unix have wrong permissions. Check .xsession-errors for clues.
Assign a key via Settings Manager → Keyboard → Application Shortcuts to the command xfdesktop -menu
. (This does not work reliably since the Linux kernel is tickless, so xfdesktop -menu needs a fix) The menu will popup where your mouse is located. You can also use xfce4-popup-applicationsmenu
to popup the panel menu.
Assign a key to the command verve-focus
.
There are two ways to achieve this. You can use a display manager that turns the numlock on automatically (e.g. gdm) or use a little program called numlockx, and add numlockx
to your .xinitrc.
Use xmodmap to assign keycodes to your media keys to make them available for the Xfce shortcut editor:
To determine keycodes of the multimedia keys use the program xev
. Create a .Xmodmap
file in your $HOME directory containing those keycodes and assign keysyms to them. Here is an example:
keycode 162 = XF86AudioPlay keycode 164 = XF86AudioStop keycode 160 = XF86AudioMute keycode 144 = XF86AudioPrev keycode 153 = XF86AudioNext keycode 176 = XF86AudioRaiseVolume keycode 174 = XF86AudioLowerVolume keycode 237 = XF86AudioMedia keycode 230 = XF86Favorites keycode 236 = XF86Mail keycode 178 = XF86WWW
All possible keysyms can be found in /usr/lib/X11/XKeysymDB or /usr/share/X11/XKeysymDB. To ensure that the .Xmodmap file is loaded when you start Xfce, add /usr/bin/xmodmap $HOME/.Xmodmap
to your .xinitrc
or .xprofile
file. When you start the shortcut editor the assigned keysyms should show up when you press one of the multimedia keys. Now it is possible to assign a command to them.
Note: Several problems with auto-loading of .Xmodmap files at xfce startup have been reported (also when issued as autostart command). Search the Xfce Bugzilla site for current problems. As a workaround, run xmodmap ~/.Xmodmap
manually every time, or try editing the somewhat less straightforward xkb configuration files.
As all keyboards are different, keycodes can differ. You can acquire keycodes from your keyboard with xev by entering the following in a terminal:
xev | grep -A2 --line-buffered '^KeyRelease' | sed -n '/keycode /s/^.*keycode \([0-9]*\).* (.*, \(.*\)).*$/\1 \2/p'
- then press the key of which you want the keycode.
There are several options. One is to use the xfce4-xkb-plugin. You can also use the setxkbmap
command with the two letter keyboard code as an argument, oryou can edit your X server configuration file to choose a different keyboard layout (change the value after Option “XkbLayout”
, e.g.: Option “XkbLayout” “dvorak”
).
Keyboard shortcuts are defined in two locations: The shortcuts to handle the Window Manager are defined in Settings Manager → Window Manager → Keyboard, and more global keyboard shortcuts such as volume adjustments, can be found in Settings Manager → Keyboard > Application Shortcuts.
Use the following command, which will produce a nicely formatted text list to standard output:
xfconf-query -c xfce4-keyboard-shortcuts -l -v | cut -d'/' -f4 | awk '{printf "%30s", $2; print "\t" $1}' | sort | uniq
If you want to put this list into a file, add > filename
at the end of command.
Unfortunately, Xfce doesn't have this ability yet.
Menu accelerators let you set a keyboard shortcut to a menu item or entry. To enable editable menu accelerators, go to Settings Manager → Appearance → Settings tab, and select the 'Enable editable accelerators' option.
The left-button single-click menu button display speed is linked to the double click speed. To make the menu appear quicker, just change the double click speed in Settings Manager → Mouse and Touchpad → Behaviour. Or, right-click on the title bar to display the menu instantly without adjusting the double-click speed. The menu will display both ways.
There are two possibilities. The first is by middle clicking on the desktop (if you have xfdesktop running), or you can add the window list plugin to the panel (which is provided with a xfce4-popup-windowlist
command).
cp ~/.cache/xfce4/desktop/menu-cache-name-of-the-generated-file.xml ~/.config/xfce4/desktop/menu2.xml cd ~/.config/xfce4/desktop/ cat menu.xml > menu3.xml cat menu2.xml >> menu3.xml mv menu.xml menu.orig.xml mv menu3.xml menu.xml
Now, you already have a menu with all the categories in the main tree with some duplicates, but you must first edit menu.xml with your favorite editor and remove the 4 following lines in the middle of the file, otherwise the menu editor will complain about a wrong format:
</xfdesktop-menu> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE xfdesktop-menu> <xfdesktop-menu>
That's all. Now you can run the menu editor, remove the few duplicates and edit freely.
Settings → Desktop → Menu → Menu Editor
Notes: by removing the “system” line, you will remove all the duplicate menu entries from the auto generated file. So, if it is changed in this auto generated file, they don't appear any more, but you will get rid of most of the duplicates.
To restore the original menu, run the following in in a terminal:
mv menu.xml menu3.xml; mv menu.orig.xml menu.xml
You can find more information about Xfce's default file manager, Thunar, in the docs section.
Unfortunately, Xfce doesn't have this capability. However, you can:
To activate the editable menu accelerators, go to Settings Manager → Appearance → Settings and select the “Editable editable accelerators” option. Then you can hover over the chosen action in Thunar and press the key on your keyboard that you want to assign it to.
Unfortunately, this capability was removed in GTK 3. As a workaround, you can edit them manually in the file ~/.config/Thunar/accels.scm
.
You can find the contents of the trash in ~/.local/share/Trash/files
.
Go to Settings Manager → Desktop → Icons and uncheck the icons you want to remove under “Default Icons”
You have the option to display icons turned off. Go to Settings Manager → Desktop → Icons and select File/launcher icons under “Icon type”.
When a new tab is opened from an external link in Firefox, it asks the Window Manager to display the window containing the new tab. If the window that has requested to be raised is not on the current workspace, the Xfce Window Manager will raise it in the current workspace by default.
To change this behavior, go to Settings Manager → Window Manager Tweaks → Focus, and select “Switch to window's workspace”.
The Xfce Window Manager has a feature called smart placement which automatically centers windows that are below a certain size. Windows above that size will be arranged automatically on the screen. You can adjust the minimum size that this happens under Settings Manager → Window Manager Tweaks → Placement.
If the application supports it, it will appear at the location you last specified. If the application doesn't support it, you can use tools such as devilspie
and wmctrl
to control where a window is placed.
You can use a tool such as wmctrl
to switch workspaces, move windows between workspaces, change window positions, maximize windows, and much more. libwnck
is a library that also does similar things.
If display compositing is enabled, the Xfce Window Manager allows you to adjust the opacity of a window by hovering your mouse over the title bar, holding down the Alt key, and using the scroll wheel. Hold Alt and scroll up to to restore opacity.
If your window borders have disappeared and you can't move windows around, xfwm4
has probably quit. If this happens, you can restart xfwm4
by entering the following command in a terminal:
xfwm4 --sm-client-id=${SESSION_MANAGER##*/} & disown
This occurs when a previous session is restored or the application is set to auto start.
To prevent Xfce from restoring your last session, go to Settings Manager → Session and Startup and uncheck “Automatically save session on logout”.
To stop an application from automatically starting on login, go to Settings Manager → Session and Startup → Application Autostart and remove the application from the list. You can also manually delete it's .desktop file in ~/.config/autostart
.
In order to fix this, you can use sudo or hal and dbus.
You need to allow the user(s) to execute <prefix>/libexec/xfsm-shutdown-helper
with sudo. <prefix>/libexec/
may be different depending on your distribution. Install sudo and run visudo
as root and add the following line, replacing “<prefix> with the correct path:
%users ALL = NOPASSWD:<prefix>/libexec/xfsm-shutdown-helper
Then add the user to the users
and power
group as root:
gpasswd -a <username> users gpasswd -a <username> power
When you re-login, you should now be able to shutdown and restart the system.
Make sure that the hal and dbus daemons are started on boot, and that you are running a recent version of dbus (at least 1.1). Refer to your distribution for exact steps.
In the steps below the groupname “power” is used. This can vary depending on your distribution.
Your /etc/dbus-1/system.d/hal.conf should contain a section similar to this:
<policy group="power"> <allow send_interface="org.freedesktop.Hal.Device.SystemPowerManagement"/> ... </policy>
Add the user to the power
group as root:
gpasswd -a <username> power
When you re-login, you should now be able to shutdown and restart the system.
You need to enable the “Prompt on logout” option in Settings Manager → Session and Startup → Logout Settings
One of the processes responsible for it has quit. You can restart it by entering the following in a terminal, depending on what has disappeared:
Panel:
xfce4-panel
Window Manager:
xfwm4
Desktop / Workspace:
xfdesktop
Install a screenshotting application such as xfce4-screenshooter, gnome-screenshot, or the command line only scrot.
The icon theme you are using renders too many SVGs, making it resource intensive to scroll. To fix this, try switching to a different icon theme.
For NVidia users, add this to your settings:
nvidia-settings -a InitialPixmapPlacement=0 -a GlyphCache=1
Otherwise, your driver may not support argb visuals very well. You can disable it for the terminal by exporting the environment variable XLIB_SKIP_ARGB_VISUALS=1. To disable it for only the terminal, create a file named “Terminal” in ~/bin
, or /usr/local/bin
, and enter the following in it:
#!/bin/sh XLIB_SKIP_ARGB_VISUALS=1 /usr/bin/Terminal
Enable the Composite extension in the X11 config file and make sure Xfwm4 is compiled with embedded compositor (xfwm4 -V
).
Section "Extensions" Option "Composite" "Enable" EndSection
Pay attention: recent versions of X.org turn composite on by default. If you experience speed problems or any other glitches you have to disable it explicitly:
Section "Extensions" Option "Composite" "Disable" EndSection
If you have a reasonably new X.org (7.1, possibly 7.0) and your graphics card is listed as “supported” at X.org's EXA status page, you should also enable EXA by adding this line to the card's Device section in your xorg.conf:
Option "AccelMethod" "exa"
Enabling EXA will normally provide a speed increase for compositing and font rendering, but may cause a small reduction in OpenGL rendering speed.
Once the Composite extension is activated, go to Settings Manager → Panel → Appearance and Settings Manager → Window Manager Tweaks → Compositor.
ATI R3xx/R4xx (9500 to X850, X1050) users may also need this in the device
section for the card:
Option "MigrationHeuristic" "greedy" Option "AccelDFS" "true" # but see radeon(4) Option "EnablePageFlip" "true" Option "EnableDepthMoves" "true"
NVidia users may also need this in the device
section for the card:
Option "RenderAccel" "true" Option "AllowGLXWithComposite" "true"
Read /usr/share/doc/nvidia-glx/README.txt.gz
(and search for “RenderAccel” and “AllowGLXWithComposite”) to see if they are recommended for your system. At least for recent NVidia GLX drivers, “AllowGLXWithComposite” “true” is only for X servers older than X11R6.9.0, and “RenderAccel” “true” is the default setting, and therefore not required. If you are running a recent NVidia driver and a recent xorg-server, you do not need these settings (and should not use the “AllowGLXWithComposite” “true” setting).
For an application launcher, right-click on the launcher and select “Properties”, then under General select “Edit the currently selected item”. Click on the icon to select a new one.
To change the application icon used in the Window Buttons, Workspace Switcher or elsewhere, change the icon theme used by the system in Settings Manager → Appearance → Icons.
In order to improve focus management, this option was removed.
Orage Clock provides this functionality. Add it to the panel, then middle-click the clock to open the Global Time window, where you can add any number of clocks.
You can report bugs on the Xfce Bugzilla site, the Xfce-bugs mailing list, or you ask on our IRC channel #xfce on Freenode for help. Please do not use the forums to report bugs. Before submitting a bug, please try your best to check if it has already been reported. When writing your bug report, try to be as descriptive as possible, but avoid verbosity. Mozilla has a nice guide on how to write a bug report.
See previous answer. Xfce's development is split up into key phases, each of which can take months or even years to complete. Although this may seem like a long time - remember, Xfce is developed by a small group of hard-working volunteers!