Skip to the content.

35. Xfce Desktop


Xfce is a desktop environment that aims to be fast and low on system resources, while still being visually appealing and user friendly.

Xfce embodies the traditional UNIX philosophy of modularity and re-usability. It consists of a number of components that provide the full functionality one can expect of a modern desktop environment. They are packaged separately and you can pick among the available packages to create the optimal personal working environment.

Build Xfce core packages in the order presented in the book for the easiest resolution of dependencies.

35.1 libxfce4util-4.18.1


Introduction to libxfce4util

The libxfce4util package is a basic utility library for the Xfce desktop environment.

This package is known to build and work properly using an LFS 11.3 platform.

Package Information

libxfce4util Dependencies

Required

GLib-2.74.5 and gobject-introspection-1.74.0

Vala-0.56.4

Optional

GTK-Doc-1.33.2

User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/libxfce4util

Installation of libxfce4util

Install libxfce4util by running the following commands:

./configure --prefix=/usr &&
make

This package does not come with a test suite.

Now, as the root user:

make install

Contents

Installed Program: xfce4-kiosk-query

Installed Library: libxfce4util.so

Installed Directories: /usr/include/xfce4 and /usr/share/gtk-doc/html/libxfce4util

Short Descriptions

xfce4-kiosk-query Queries the given capabilities of for the current user and reports whether the user has the capabilities or not. This tool is mainly meant for system administrators to test their Kiosk setup

libxfce4util.so contains basic utility functions for the Xfce desktop environment.

35.2 Xfconf-4.18.0


Introduction to Xfconf

Xfconf is the configuration storage system for Xfce.

This package is known to build and work properly using an LFS 11.3 platform.

Package Information

Xfconf Dependencies

Required

libxfce4util-4.18.1

Optional

GTK-Doc-1.33.2 and Vala-0.56.4

User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/xfconf

Installation of Xfconf

Install Xfconf by running the following commands:

./configure --prefix=/usr &&
make

This package does not come with a test suite.

Now, as the root user:

make install

Contents

Installed Program: xfconf-query

Installed Library: libxfconf-0.so

Installed Directories: /usr/include/xfce4/xfconf-0, /usr/lib/xfce4/xfconf, and /usr/share/gtk-doc/html/xfconf

Short Descriptions

xfconf-query is a commandline utility to view or change any setting stored in Xfconf

libxfconf-0.so contains basic functions for Xfce configuration.

35.3 libxfce4ui-4.18.2


Introduction to libxfce4ui

The libxfce4ui package contains GTK+ 2 widgets that are used by other Xfce applications.

This package is known to build and work properly using an LFS 11.3 platform.

Package Information

libxfce4ui Dependencies

Required

GTK+-3.24.36 and Xfconf-4.18.0

startup-notification-0.12

Optional

GTK-Doc-1.33.2, libgtop-2.40.0, libgudev-237, and Glade

User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/libxfce4ui

Installation of libxfce4ui

Install libxfce4ui by running the following commands:

./configure --prefix=/usr --sysconfdir=/etc &&
make

This package does not come with a test suite.

Now, as the root user:

make install

Command Explanations

--enable-gtk-doc: Use this parameter if GTK-Doc is installed and you wish to rebuild and install the API documentation.

Contents

Installed Programs: None

Installed Libraries: libxfce4kbd-private-{2,3}.so and libxfce4ui-{1,2}.so

Installed Directories: /etc/xdg/xfce4, /usr/include/xfce4/libxfce4kbd-private-2, /usr/include/xfce4/libxfce4ui-{1,2}, and /usr/share/gtk-doc/html/libxfce4ui

Short Descriptions

libxfce4kbd-private-2.so is a private Xfce library for sharing code between Xfwm4 and Xfce4 Settings

libxfce4ui-1.so contains widgets that are used by other Xfce applications.

35.4 Exo-4.18.0


Introduction to Exo

Exo is a support library used in the Xfce desktop. It also has some helper applications that are used throughout Xfce.

This package is known to build and work properly using an LFS 11.3 platform.

Package Information

Exo Dependencies

Required

GTK+-3.24.36, libxfce4ui-4.18.2, and libxfce4util-4.18.1

Optional

GTK-Doc-1.33.2

User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/exo

Installation of Exo

Install Exo by running the following commands:

./configure --prefix=/usr --sysconfdir=/etc &&
make

To test the results, issue: make check.

Now, as the root user:

make install

Command Explanations

--enable-gtk-doc: Use this parameter if GTK-Doc is installed and you wish to rebuild and install the API documentation.

Contents

Installed Programs: exo-desktop-item-edit and exo-open

Installed Libraries: libexo-2.so

Installed Directories: /usr/include/exo-2 and /usr/share/gtk-doc/html/exo-2

Short Descriptions

exo-desktop-item-edit is a command line utility to create or edit icons on the desktop

exo-open is a command line frontend to the Xfce Preferred Applications framework. It can either be used to open a list of urls with the default URL handler or launch the preferred application for a certain category

libexo-2.so contains additional widgets, a framework for editable toolbars, light-weight session management support and functions to automatically synchronise object properties (based on GObject Binding Properties).

35.5 Garcon-4.18.0


Introduction to Garcon

The Garcon package contains a freedesktop.org compliant menu implementation based on GLib and GIO.

This package is known to build and work properly using an LFS 11.3 platform.

Package Information

Garcon Dependencies

Required

libxfce4ui-4.18.2 and GTK+-3.24.36

Optional

GTK-Doc-1.33.2

User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/garcon

Installation of Garcon

Install Garcon by running the following commands:

./configure --prefix=/usr --sysconfdir=/etc &&
make

This package does not come with a test suite.

Now, as the root user:

make install

Contents

Installed Programs: None

Installed Library: libgarcon-1.so and libgarcon-gtk3-1.so

Installed Directory: /usr/include/garcon-1, /usr/include/garcon-gtk3-1, and /usr/share/gtk-doc/html/garcon

Short Descriptions

libgarcon-1.so contains functions that provide a freedesktop.org compliant menu implementation based on GLib and GIO.

35.6 xfce4-panel-4.18.2


Introduction to Xfce4 Panel

The Xfce4 Panel package contains the Xfce4 Panel.

This package is known to build and work properly using an LFS 11.3 platform.

Package Information

Xfce4 Panel Dependencies

Required

Cairo-1.17.6, Exo-4.18.0, Garcon-4.18.0, and libwnck-43.0

Optional

GTK-Doc-1.33.2 and libdbusmenu

User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/xfce4-panel

Installation of Xfce4 Panel

Install Xfce4 Panel by running the following commands:

./configure --prefix=/usr --sysconfdir=/etc &&
make

This package does not come with a test suite.

Now, as the root user:

make install

Command Explanations

--enable-gtk-doc: Use this parameter if GTK-Doc is installed and you wish to rebuild and install the API documentation.

Contents

Installed Programs: xfce4-panel, xfce4-popup-applicationsmenu, xfce4-popup-directorymenu, and xfce4-popup-windowmenu

Installed Library: libxfce4panel-2.0.so

Installed Directories: /etc/xdg/xfce4/panel, /usr/include/xfce4/libxfce4panel-1.0, /usr/lib/xfce4/panel, /usr/share/gtk-doc/html/libxfce4panel-1.0 and /usr/share/xfce4/panel

Short Descriptions

xfce4-panel is the Xfce panel

xfce4-popup-applicationsmenu is a shell script that uses D-Bus and Xfce Panel to display a popup menu of the installed applications

xfce4-popup-directorymenu is a shell script that uses D-Bus and Xfce Panel to display a popup menu of your home folder and its subdirectories

xfce4-popup-windowmenu is a shell script that uses DBus to display the Xfwm4 a popup menu

libxfce4panel-2.0.so contains the Xfce Panel API functions.

35.7 thunar-4.18.4


Introduction to thunar

Thunar is the Xfce file manager, a GTK+ 3 GUI to organise the files on your computer.

This package is known to build and work properly using an LFS 11.3 platform.

Package Information

Thunar Dependencies

Required

Exo-4.18.0

Required (Runtime)

hicolor-icon-theme-0.17

libgudev-237, libnotify-0.8.1, and PCRE-8.45

Optional

GTK-Doc-1.33.2 (for documentation), Gvfs-1.50.3 (for remote browsing and automounting), libexif-0.6.24 and tumbler-4.18.0 (runtime)

User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/thunar

Installation of Thunar

Install Thunar by running the following commands:

./configure --prefix=/usr \
            --sysconfdir=/etc \
            --docdir=/usr/share/doc/thunar-4.18.4 &&
make

This package does not come with a test suite.

Now, as the root user:

make install

Contents

Installed Programs: Thunar (symlink to thunar), thunar, and thunar-settings

Installed Library: libthunarx-3.so

Installed Directories: /etc/xdg/Thunar, /usr/include/thunarx-3, /usr/lib/Thunar, /usr/lib/thunarx-3, /usr/share/Thunar, /usr/share/doc/thunar-4.18.4, and /usr/share/gtk-doc/html/thunarx

Short Descriptions

thunar is the Xfce file manager

thunar-settings is a shell script that launches a dialog box to allow you to alter the behavior of Thunar

libthunarx-3.so contains the Thunar extension library which permits adding new features to the Thunar file manager.

35.8 thunar-volman-4.18.0


Introduction to the Thunar Volume Manager

The Thunar Volume Manager is an extension for the Thunar file manager, which enables automatic management of removable drives and media.

This package is known to build and work properly using an LFS 11.3 platform.

Package Information

Thunar Volume Manager Dependencies

Required

Exo-4.18.0 and libgudev-237

libnotify-0.8.1

Gvfs-1.50.3

User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/thunar-volman

Installation of the Thunar Volume Manager

Install the Thunar Volume Manager by running the following commands:

./configure --prefix=/usr &&
make

This package does not come with a test suite.

Now, as the root user:

make install

Contents

Installed Programs: thunar-volman and thunar-volman-settings

Installed Libraries: None

Installed Directories: None

Short Descriptions

thunar-volman is the Thunar Volume Manager, a command line utility to automatically mount or unmount removable media

thunar-volman-settings is a small GTK+ 3 application for changing Thunar Volume Manager settings.

35.9 tumbler-4.18.0


Introduction to tumbler

The Tumbler package contains a D-Bus thumbnailing service based on the thumbnail management D-Bus specification. This is useful for generating thumbnail images of files.

This package is known to build and work properly using an LFS 11.3 platform.

Package Information

Tumbler Dependencies

Required

GLib-2.74.5

Optional

cURL-7.88.1, FreeType-2.13.0, gdk-pixbuf-2.42.10, gst-plugins-base-1.22.0, GTK-Doc-1.33.2, libjpeg-turbo-2.1.5.1, libgsf-1.14.50, libpng-1.6.39, Poppler-23.02.0, FFmpegThumbnailer, libgepub, and libopenraw

User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/tumbler

Installation of Tumbler

Install Tumbler by running the following commands:

./configure --prefix=/usr --sysconfdir=/etc &&
make

This package does not come with a test suite.

Now, as the root user:

make install

Contents

Installed Programs: tumblerd

Installed Library: libtumbler-1.so and several under /usr/lib/tumbler-1/plugins/

Installed Directories: /etc/xdg/tumbler, /usr/include/tumbler-1, /usr/lib/tumbler-1 and /usr/share/gtk-doc/html/tumbler

Short Descriptions

tumblerd is a D-Bus service for applications such as Thunar and Ristretto to use thumbnail images

libtumbler-1.so contains functions that the Tumbler daemon uses to create thumbnail images.

35.10 xfce4-appfinder-4.18.0


Introduction to Xfce4 Appfinder

Xfce4 Appfinder is a tool to find and launch installed applications by searching the .desktop files installed on your system.

This package is known to build and work properly using an LFS 11.3 platform.

Package Information

Xfce4 Appfinder Dependencies

Required

Garcon-4.18.0

User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/xfce4-appfinder

Installation of Xfce4 Appfinder

Install Xfce4 Appfinder by running the following commands:

./configure --prefix=/usr &&
make

This package does not come with a test suite.

Now, as the root user:

make install

Contents

Installed Programs: xfce4-appfinder and xfrun4 (symlink)

Installed Libraries: None

Installed Directories: None

Short Descriptions

xfce4-appfinder Is a GTK+ 3 application that enables you to quickly search through the .desktop files installed on your system looking for an application.

35.11 xfce4-power-manager-4.18.1


Introduction to Xfce4 Power Manager

The Xfce4 Power Manager is a power manager for the Xfce desktop, Xfce power manager manages the power sources on the computer and the devices that can be controlled to reduce their power consumption (such as LCD brightness level or monitor sleep). In addition, Xfce4 Power Manager provides a set of freedesktop-compliant DBus interfaces to inform other applications about current power level so that they can adjust their power consumption.

This package is known to build and work properly using an LFS 11.3 platform.

Package Information

Xfce4 Power Manager Dependencies

Required

libnotify-0.8.1, UPower-1.90.0, and xfce4-panel-4.18.2

Optional

NetworkManager-1.42.0 and Polkit-122

User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/xfce4-power-manager

Installation of Xfce4 Power Manager

Install Xfce4 Power Manager by running the following commands:

./configure --prefix=/usr --sysconfdir=/etc &&
make

This package does not come with a test suite.

Now, as the root user:

make install

Contents

Installed Programs: xfce4-power-manager, xfce4-power-manager-settings, xfce4-pm-helper, and xfpm-power-backlight-helper

Installed Libraries: libxfce4powermanager.so

Installed Directories: None

Short Descriptions

xfce4-pm-helper is a helper program for the suspend and hibernate functions of xfce4-power-manager

xfce4-power-manager is the Xfce Power Manager

xfce4-power-manager-settings is a utility that comes with the Xfce Power Manager to access/change its configuration

xfpm-power-backlight-helper is a command line utility to get or set the brightness of your screen.

35.12 xfce4-settings-4.18.2


Introduction to Xfce4 Settings

The Xfce4 Settings package contains a collection of programs that are useful for adjusting your Xfce preferences.

This package is known to build and work properly using an LFS 11.3 platform.

Package Information

Xfce4 Settings Dependencies

Required

Exo-4.18.0 and Garcon-4.18.0

Required (Runtime)

gnome-icon-theme-3.12.0 or lxde-icon-theme-0.5.1

libcanberra-0.30, libnotify-0.8.1 and libxklavier-5.4

Optional

colord-1.4.6, libinput-1.22.1, and UPower-1.90.0

User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/xfce4-settings

Installation of Xfce4 Settings

Install Xfce4 Settings by running the following commands:

./configure --prefix=/usr --sysconfdir=/etc &&
make

This package does not come with a test suite.

Now, as the root user:

make install

Command Explanations

--enable-sound-settings: Use this switch to enable sound settings in GUI.

--enable-pluggable-dialogs: Use this switch to enable support for embedded settings dialogs.

Contents

Installed Programs: xfce4-accessibility-settings, xfce4-appearance-settings, xfce4-color-settings, xfce4-display-settings, xfce4-find-cursor, xfce4-keyboard-settings, xfce4-mime-helper, xfce4-mime-settings, xfce4-mouse-settings, xfce4-settings-editor, xfce4-settings-manager and xfsettingsd

Installed Libraries: None

Installed Directories: None

Short Descriptions

xfce4-accessibility-settingsis a GTK+ 3 GUI to allow you to change some of your keyboard and mouse preferences

xfce4-appearance-settings is a GTK+ 3 GUI to allow you to change some of your theme, icon and font preferences

xfce4-display-settings is a GTK+ 3 GUI to allow you to change some of your screen preferences

xfce4-keyboard-settings is a GTK+ 3 GUI to allow you to change some of your keyboard preferences

xfce4-mime-settings is a GTK+ 3 GUI to allow you to change which applications are used to handle different mime types

xfce4-mouse-settings is a GTK+ 3 GUI to allow you to change some of your mouse preferences

xfce4-settings-editor is a GTK+ 3 GUI to allow you to change your preferences stored in Xfconf

xfce4-settings-manager is a GTK+ 3 GUI to allow you to change many of your Xfce preferences

xfsettingsd is the Xfce settings daemon.

35.13 Xfdesktop-4.18.1


Introduction to Xfdesktop

Xfdesktop is a desktop manager for the Xfce Desktop Environment. Xfdesktop sets the background image / color, creates the right click menu and window list and displays the file icons on the desktop using Thunar libraries.

This package is known to build and work properly using an LFS 11.3 platform.

Package Information

Xfdesktop Dependencies

Required

Exo-4.18.0 and libwnck-43.0

libnotify-0.8.1, startup-notification-0.12 and thunar-4.18.4

User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/xfdesktop

Installation of Xfdesktop

Install Xfdesktop by running the following commands:

./configure --prefix=/usr &&
make

This package does not come with a test suite.

Now, as the root user:

make install

Contents

Installed Programs: xfdesktop and xfdesktop-settings

Installed Libraries: None

Installed Directories: /usr/share/backgrounds/xfce and /usr/share/pixmaps/xfdesktop

Short Descriptions

xfdesktop is the Xfce Desktop Environment’s desktop manager

xfdesktop-settings is a GTK+ 3 application that allows you to change your desktop background, some preferences for the right click menu and what icons are displayed on the desktop.

35.14 Xfwm4-4.18.0


Introduction to Xfwm4

Xfwm4 is the window manager for Xfce.

This package is known to build and work properly using an LFS 11.3 platform.

Package Information

Xfwm4 Dependencies

Required

libwnck-43.0 and libxfce4ui-4.18.2

startup-notification-0.12

Optional

libxpresent

User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/xfwm4

Installation of Xfwm4

Install Xfwm4 by running the following commands:

./configure --prefix=/usr &&
make

This package does not come with a test suite.

Now, as the root user:

make install

Contents

Installed Programs: xfwm4, xfwm4-settings, xfwm4-tweaks-settings and xfwm4-workspace-settings

Installed Libraries: None

Installed Directories: /usr/lib/xfce4/xfwm4, /usr/share/themes/{Daloa,Default{,-hdpi,-xhdpi},Kokodi,Moheli}, and /usr/share/xfwm4

Short Descriptions

xfwm4 is the Xfce window manager

xfwm4-settings is a GTK+ 3 application that allows setting some preferences such as your theme, keyboard shortcuts and mouse focus behavior

xfwm4-tweaks-settings is a GTK+ 3 application that allows setting some more preferences for Xfwm4

xfwm4-workspace-settings is a GTK+ 3 application that allows setting your workspace preferences.

35.15 xfce4-session-4.18.1


Introduction to Xfce4 Session

Xfce4 Session is a session manager for Xfce. Its task is to save the state of your desktop (opened applications and their location) and restore it during a next startup. You can create several different sessions and choose one of them on startup.

This package is known to build and work properly using an LFS 11.3 platform.

Package Information

Xfce4 Session Dependencies

Required

libwnck-43.0 and libxfce4ui-4.18.2

desktop-file-utils-0.26, xfce4-screensaver or XScreenSaver-6.06, shared-mime-info-2.2 and polkit-gnome-0.105

Required Runtime

Xfdesktop-4.18.1

User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/xfce4-session

Installation of Xfce4 Session

Install Xfce4 Session by running the following commands:

./configure --prefix=/usr \
            --sysconfdir=/etc \
            --disable-legacy-sm &&
make

This package does not come with a test suite.

Now, as the root user:

make install

Command Explanations

--disable-legacy-sm: This switch disables legacy session management which isn’t necessary on modern system.

Configuring Xfce4 Session

There are several optional run time dependencies for Xfce4: dbus-1.14.6, GnuPG-2.4.0, hicolor-icon-theme-0.17 and OpenSSH-9.2p1

When building an Xfce4 package, some configuration files are installed in /usr/share/applications, /usr/share/icons, and /usr/share/mime. In order to use those files in your Xfce4 session, you need to update various databases. Do that by running, as the root user (you need to have the recommended dependencies installed):

update-desktop-database &&
update-mime-database /usr/share/mime

Starting Xfce4

You can start Xfce4 from a TTY using xinit-1.4.2, or from a graphical display manager, such as lightdm-1.32.0.

To start Xfce4 using xinit-1.4.2, run the following commands:

cat > ~/.xinitrc << "EOF"
dbus-launch --exit-with-x11 startxfce4
EOF

startx

The X session starts on the first unused virtual terminal, normally vt7. You can switch to another vt_n_ simultaneously pressing the keys Ctrl-Alt-F_n_ (n=1, 2, …). To switch back to the X session, normally started at vt7, use Ctrl-Alt-F7. The vt where the command startx was executed will display many messages, including X starting messages, applications automatically started with the session, and eventually, some warning and error messages. You may prefer to redirect those messages to a log file, which not only will keep the initial vt uncluttered, but can also be used for debugging purposes. This can be done starting X with:

startx &> ~/.x-session-errors

When shutting down or rebooting, the shutdown messages appear on the vt where X was running. If you wish to see those messages, simultaneously press keys Alt-F7 (assuming that X was running on vt7).

Contents

Installed Programs: startxfce4, xfce4-session, xfce4-session-logout, xfce4-session-settings, and xflock4

Installed Library: None

Installed Directories: /usr/lib/xfce4/session

Short Descriptions

xfce4-session starts up the Xfce Desktop Environment

xfce4-session-logout logs out from Xfce

xfce4-session-settings is a GTK+ 3 GUI which allows you to alter your preferences for your Xfce Session.