37. LXDE Desktop
LXDE is an extremely fast-performing and energy-saving desktop environment.
LXDE comes with a beautiful interface, multi-language support, standard keyboard shortcuts and additional features like tabbed file browsing. LXDE uses less CPU and less RAM than other environments. It is especially designed for cloud computers with low hardware specifications, such as netbooks, mobile devices (e.g. MIDs) or older computers.
Build LXDE core packages in the order presented in the book for the easiest resolution of dependencies.
37.1 lxmenu-data-0.1.5
Introduction to LXMenu Data
The LXMenu Data package provides files required to build freedesktop.org menu spec-compliant desktop menus for LXDE.
This package is known to build and work properly using an LFS 11.3 platform.
Package Information
-
Download (HTTP): https://downloads.sourceforge.net/lxde/lxmenu-data-0.1.5.tar.xz
-
Download MD5 sum: cc1989444284a65dbc7047348a68d6d4
-
Download size: 196 KB
-
Estimated disk space required: 2.1 MB
-
Estimated build time: less than 0.1 SBU
User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/lxmenu-data
Installation of LXMenu Data
Install LXMenu Data 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 Libraries: None
Installed Directories: /etc/xdg/menus and /usr/share/desktop-directories.
37.2 libfm-extra-1.3.2
Introduction to libfm-extra
The libfm-extra package contains a library and other files required by menu-cache-gen libexec of menu-cache-1.1.0.
This package is known to build and work properly using an LFS 11.3 platform.
Package Information
-
Download (HTTP): https://downloads.sourceforge.net/pcmanfm/libfm-1.3.2.tar.xz
-
Download MD5 sum: c87a0ff41ae77825079b2f785ec0741e
-
Download size: 924 KB
-
Estimated disk space required: 11 MB
-
Estimated build time: less than 0.1 SBU
libfm-extra Dependencies
Required
User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/libfm-extra
Installation of libfm-extra
Install libfm-extra by running the following commands:
./configure --prefix=/usr \
--sysconfdir=/etc \
--with-extra-only \
--with-gtk=no \
--disable-static &&
make
This package does not come with a test suite.
Now, as the root user:
make install
Command Explanations
--with-extra-only: This switch disables all components except for the libfm-extra library.
--with-gtk=no: This switch disables support for GTK+ because it is not necessary for this package.
--disable-static: This switch prevents installation of static versions of the libraries.
Contents
Installed Programs: None
Installed Library: libfm-extra.so
Installed Directories: /usr/include/libfm (symlink) and /usr/include/libfm-1.0
Short Descriptions
libfm-extra.so contains the libfm-extra API functions.
37.3 menu-cache-1.1.0
Introduction to Menu Cache
The Menu Cache package contains a library for creating and utilizing caches to speed up the manipulation for freedesktop.org defined application menus.
This package is known to build and work properly using an LFS 11.3 platform.
Package Information
-
Download (HTTP): https://downloads.sourceforge.net/lxde/menu-cache-1.1.0.tar.xz
-
Download MD5 sum: 99999a0bca48b980105208760c8fd893
-
Download size: 260 KB
-
Estimated disk space required: 3.7 MB
-
Estimated build time: less than 0.1 SBU
Additional Downloads
- Required patch: https://www.linuxfromscratch.org/patches/blfs/11.3/menu-cache-1.1.0-consolidated_fixes-1.patch
Menu Cache Dependencies
Required
Optional
GTK-Doc-1.33.2 and xdg-utils-1.1.3
User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/menu-cache
Installation of Menu Cache
First fix a memory leak and “multiple definitions” issues:
patch -Np1 -i ../menu-cache-1.1.0-consolidated_fixes-1.patch
Install Menu Cache by running the following commands:
./configure --prefix=/usr \
--disable-static &&
make
This package does not come with a test suite.
Now, as the root user:
make install
Command Explanations
--disable-static: This switch prevents installation of static versions of the libraries.
--enable-gtk-doc: Use this option if GTK-Doc is installed and you wish to build and install the API documentation.
Contents
Installed Programs: None
Installed Library: libmenu-cache.so
Installed Directories: /usr/{include,libexec,share/gtk-doc/html}/menu-cache
Short Descriptions
libmenu-cache.so contains the menu-cache API functions.
37.4 libfm-1.3.2
Introduction to libfm
The libfm package contains a library used to develop file managers providing some file management utilities.
This package is known to build and work properly using an LFS 11.3 platform.
Package Information
-
Download (HTTP): https://downloads.sourceforge.net/pcmanfm/libfm-1.3.2.tar.xz
-
Download MD5 sum: c87a0ff41ae77825079b2f785ec0741e
-
Download size: 924 KB
-
Estimated disk space required: 36 MB
-
Estimated build time: 0.3 SBU
libfm Dependencies
Required
GTK+-2.24.33 or GTK+-3.24.36 (GTK+-2 recommended since LXDE GTK+-3 support is still experimental), and menu-cache-1.1.0
Recommended
libexif-0.6.24, Vala-0.56.4, and lxmenu-data-0.1.5
Optional
GTK-Doc-1.33.2, dbus-glib-0.112 and Gvfs-1.50.3 or udisks (for volume management - experimental)
User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/libfm
Installation of libfm
Install libfm by running the following commands:
./configure --prefix=/usr \
--sysconfdir=/etc \
--disable-static &&
make
To test the results, issue: make check.
Now, as the root user:
make install
Command Explanations
--with-gtk=3: This option selects the version of gtk+ to use. The default is gtk+-2.
--disable-static: This switch prevents installation of static versions of the libraries.
--enable-gtk-doc: Use this parameter if GTK-Doc is installed and you wish to rebuild and install the API documentation.
Contents
Installed Program: libfm-pref-apps and lxshortcut
Installed Libraries: libfm.so, libfm-extra.so and libfm-gtk.so
Installed Directories: /etc/xdg/libfm, /usr/lib/libfm, /usr/share/gtk-doc/html/libfm and /usr/share/libfm
Short Descriptions
libfm-pref-apps sets preferred applications for programs based on libfm
lxshortcut is a small program used to edit application shortcuts
libfm.so contains the libfm API functions.
37.5 PCManFM-1.3.2
Introduction to PCManFM
The PCManFM package contains an extremely fast, lightweight, yet feature-rich file manager with tabbed browsing.
This package is known to build and work properly using an LFS 11.3 platform.
Package Information
-
Download (HTTP): https://downloads.sourceforge.net/pcmanfm/pcmanfm-1.3.2.tar.xz
-
Download MD5 sum: ef7c4417d2697ef138d175db7aeae15a
-
Download size: 416 KB
-
Estimated disk space required: 11 MB
-
Estimated build time: 0.1 SBU
PCManFM Dependencies
Required
Recommended
adwaita-icon-theme-43 or oxygen-icons5-5.103.0 or lxde-icon-theme-0.5.1, and FriBidi-1.0.12
User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/pcmanfm
Installation of PCManFM
Install PCManFM 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
--with-gtk=3: Selects the version of GTK+ to use. You must use this switch if you have built libfm-1.3.2 with GTK+3 support.
Contents
Installed Program: pcmanfm
Installed Libraries: None
Installed Directories: /etc/xdg/pcmanfm, /usr/lib/pcmanfm and /usr/share/pcmanfm
Short Descriptions
pcmanfm is a lightweight GTK+ based file manager for X Window System.
37.6 libwnck-2.30.7
Introduction to libwnck
The libwnck package contains a Window Navigator Construction Kit.
This package is known to build and work properly using an LFS 11.3 platform.
Package Information
-
Download (HTTP): https://download.gnome.org/sources/libwnck/2.30/libwnck-2.30.7.tar.xz
-
Download (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/libwnck/2.30/libwnck-2.30.7.tar.xz
-
Download MD5 sum: 3d20f26105a2fd878899d6ecdbe9a082
-
Download size: 612 KB
-
Estimated disk space required: 16 MB
-
Estimated build time: 0.2 SBU
libwnck Dependencies
Required
Recommended
Optional
gobject-introspection-1.74.0 and GTK-Doc-1.33.2
User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/libwnck2
Installation of libwnck
Install libwnck by running the following commands:
./configure --prefix=/usr \
--disable-static \
--program-suffix=-1 &&
make GETTEXT_PACKAGE=libwnck-1
This package does not come with a test suite.
Now, as the root user:
make GETTEXT_PACKAGE=libwnck-1 install
Command Explanations
--disable-static: This switch prevents installation of static versions of the libraries.
--program-suffix=-1: This option adds -1 to the end of the names of the installed programs to avoid overwriting the programs installed by libwnck-43.0.
GETTEXT_PACKAGE=libwnck-1: This parameter adds -1 to the end of the names of the gettext files installed by the package to avoid overwriting the files installed by libwnck-43.0.
--enable-gtk-doc: Use this parameter if GTK-Doc is installed and you wish to rebuild and install the API documentation.
Contents
Installed Programs: wnckprop-1 and wnck-urgency-monitor-1
Installed Library: libwnck-1.so
Installed Directories: /usr/include/libwnck-1.0 and /usr/share/gtk-doc/html/libwnck-1.0
Short Descriptions
wnckprop-1 Prints, modifies, or interacts with the properties of a screen/workspace/window
libwnck-1.so contains functions for writing pagers and task lists.
37.7 LXPanel-0.10.1
Introduction to LXPanel
The LXPanel package contains a lightweight X11 desktop panel.
This package is known to build and work properly using an LFS 11.3 platform.
Package Information
-
Download (HTTP): https://downloads.sourceforge.net/lxde/lxpanel-0.10.1.tar.xz
-
Download MD5 sum: c922d044789c3d7ae028f0e80dea18b0
-
Download size: 1.5 MB
-
Estimated disk space required: 30 MB
-
Estimated build time: 0.3 SBU
LXPanel Dependencies
Required
gdk-pixbuf-xlib-2.40.2, keybinder-0.3.1, libwnck-2.30.7, lxmenu-data-0.1.5 and menu-cache-1.1.0
Recommended
alsa-lib-1.2.8, gnome-screenshot-41.0 (to take screenshots using PrtScr), libxml2-2.10.3 (weather plugin), and Wireless Tools-29
Optional
libindicator (indicator plugin)
User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/lxpanel
Installation of LXPanel
Install LXPanel 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: lxpanel and lxpanelctl
Installed Libraries: liblxpanel.so and several under /usr/lib/lxpanel/plugins
Installed Directories: /etc/xdg/lxpanel, /usr/include/lxpanel, /usr/lib/lxpanel, and /usr/share/lxpanel
Short Descriptions
lxpanel is a lightweight GTK+ based panel for the LXDE Desktop
lxpanelctl is a program that controls lxpanel.
37.8 LXAppearance-0.6.3
Introduction to LXAppearance
The LXAppearance package contains a desktop-independent theme switcher for GTK+.
This package is known to build and work properly using an LFS 11.3 platform.
Package Information
-
Download (HTTP): https://downloads.sourceforge.net/lxde/lxappearance-0.6.3.tar.xz
-
Download MD5 sum: f10345313e2c12bad51c1b58bd46b454
-
Download size: 164 KB
-
Estimated disk space required: 3.2 MB
-
Estimated build time: less than 0.1 SBU
LXAppearance Dependencies
Required
Recommended
Optional
libxslt-1.1.37 with docbook-xml-4.5 and docbook-xsl-nons-1.79.2 (to build man pages)
User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/lxappearance
Installation of LXAppearance
Install LXAppearance by running the following commands:
./configure --prefix=/usr \
--sysconfdir=/etc \
--enable-dbus &&
make
This package does not come with a test suite.
Now, as the root user:
make install
Command Explanations
--enable-dbus: This switch enables DBus support in LXAppearance which is useful for communicating with LXSession. Remove it if you are not building LXDE or have not installed dbus-glib-0.112.
--enable-man: Use this switch if you have installed optional dependencies and wish to rebuild the manual pages.
Contents
Installed Program: lxappearance
Installed Libraries: None
Installed Directories: /usr/include/lxappearance and /usr/share/lxappearance
Short Descriptions
lxappearance is a program used to change GTK+ themes, icon themes, and fonts used by applications.
37.9 LXSession-0.5.5
Introduction to LXSession
The LXSession package contains the default session manager for LXDE.
This package is known to build and work properly using an LFS 11.3 platform.
Package Information
-
Download (HTTP): https://downloads.sourceforge.net/lxde/lxsession-0.5.5.tar.xz
-
Download MD5 sum: e8380acef215ee7c99c067a2241c2c7b
-
Download size: 416 KB
-
Estimated disk space required: 22 MB
-
Estimated build time: 0.1 SBU
LXSession Dependencies
Required
dbus-glib-0.112, libunique-1.1.6, Polkit-122, and Vala-0.56.4
Optional
lsb-tools-0.10 (may be used at runtime to display the distribution release in the logout dialog), GTK+-3.24.36, and libxslt-1.1.37 with docbook-xml-4.5 and docbook-xsl-nons-1.79.2 (to build man pages)
User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/lxsession
Installation of LXSession
Install LXSession by running the following commands:
./configure --prefix=/usr --disable-man &&
make
This package does not come with a test suite.
Now, as the root user:
make install
Command Explanations
--disable-man: This switch disables building of the manual pages. Remove it if you have installed optional dependencies and wish to build the manual pages.
--enable-gtk3: Builds against GTK+-3 instead of GTK+-2, which is required anyway by libunique.
Contents
Installed Programs: lxclipboard, lxlock, lxpolkit, lxsession, lxsession-db, lxsession-default, lxsession-default-apps, lxsession-default-terminal, lxsession-edit, lxsession-logout, lxsession-xdg-autostart, lxsession-xsettings, and lxsettings-daemon
Installed Libraries: None
Installed Directory: /usr/share/lxsession
Short Descriptions
lxclipboard is a clipboard utility for LXSession and LXDE
lxlock locks the local X display until a password is entered
lxpolkit is a polkit agent
lxsession is a lightweight X session manager
lxsession-db is used to modify the database for managing sessions in lxsession
lxsession-default launch default applications set by LXsession
lxsession-default-apps is an utility to configure lxsession and its default applications
lxsession-default-terminal launch the default terminal set by LXSession
lxsession-edit is the standard session edit manager used by LXDE
lxsession-logout is a program to logout from LXSession
lxsession-xdg-autostart handles the autostart spec of freedesktop.org
lxsession-xsettings is a tool to configure gtk+ themes, keyboard, and mouse for you on session startup
lxsettings-daemon is the settings daemon for LXsession.
37.10 lxde-common-0.99.2
Introduction to LXDE Common
The LXDE Common package provides a set of default configuration for LXDE.
This package is known to build and work properly using an LFS 11.3 platform.
Package Information
-
Download (HTTP): https://downloads.sourceforge.net/lxde/lxde-common-0.99.2.tar.xz
-
Download MD5 sum: 14a9d19c4576dc15d985453ccb8ca9f6
-
Download size: 869 KB
-
Estimated disk space required: 2.7 MB
-
Estimated build time: less than 0.1 SBU
LXDE Common Dependencies
Required
lxde-icon-theme-0.5.1, LXPanel-0.10.1, LXSession-0.5.5, openbox-3.6.1 (runtime), and PCManFM-1.3.2
Recommended
desktop-file-utils-0.26, hicolor-icon-theme-0.17, and shared-mime-info-2.2
Optional Runtime Dependencies
A notification daemon such as notification-daemon-3.20.0 or xfce4-notifyd-0.8.1, and a display manager such as lxdm-0.5.3 or lightdm-1.32.0
User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/lxde-common
Installation of LXDE Common
Install LXDE Common 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
If you have installed recommended dependencies, run the following commands as the root user:
update-mime-database /usr/share/mime &&
gtk-update-icon-cache -qf /usr/share/icons/hicolor &&
update-desktop-database -q
Starting LXDE
You can start LXDE from runlevel 3, using xinit-1.4.2, or from runlevel 5, using a Display Manager, such as lxdm-0.5.3.
To start LXDE using xinit-1.4.2, run the following commands:
cat > ~/.xinitrc << "EOF"
# No need to run dbus-launch, since it is run by startlxde
startlxde
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 debug 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: lxde-logout, openbox-lxde and startlxde
Installed Libraries: None
Installed Directories: /etc/xdg/{lxpanel,lxsession,openbox,pcmanfm}/LXDE and /usr/share/lxde
Short Descriptions
lxde-logout is used to quit the desktop session for LXDE
openbox-lxde is a wrapper script which runs Openbox with LXDE specific config file
startlxde is used to start the desktop session for LXDE.