%general-entities; ]> $LastChangedBy$ $Date$ Xfce-&xfce-version; Xfce Introduction to Xfce The Xfce package contains a lightweight desktop environment. Package Information Download (HTTP): Download (FTP): Download MD5 sum: &xfce-md5sum; Download size: &xfce-size; Estimated disk space required: &xfce-buildsize; Estimated build time: &xfce-time; Xfce General Dependencies Required and Optional , , , and (untested by BLFS editors) Xfce components have additional dependencies upon each other and upon external packages. They are summarized below. libxfce4util Libxfce4util is a basic utility library for Xfce4. Libxfce4util has no external dependencies. libxfcegui4 Libxfcegui4 is a library that contains various widgets for Xfce. Libxfcegui4 depends on . libxfce4mcs Libxfce4mcs is a library that provides multi-channel settings management support for Xfce. Libxfce4mcs depends on . xfce-mcs-manager Xfce-mcs-manager is a graphical settings manager for Xfce. Xfce-mcs-manager depends on , and . xfce-mcs-plugins Xfce-mcs-plugins is a set of plugins for the multi channel settings manager. With these plugins, a user can change display settings, themes, fonts and similar desktop parameters. Xfce-mcs-plugins depend on , , and (optional, needed only at runtime, to send commands to the file manager). xfwm4 Xfwm4 is a window manager. Xfwm4 depends on , , , and . xfwm4-themes The xfwm4-themes package contains extra themes for xfwm4. xfwm4-themes have no external dependencies. xfce4-panel Xfce4-panel is the panel for the Xfce desktop environment. It contains launchers for programs, the clock, and other applets. Xfce4-panel depends on , ,and . xfce4-session Xfce4-session is the session manager for the Xfce desktop environment. Xfce4-session depends on , , (optional, untested by BLFS editors, needed for -based shutdown support, which also needs PolicyKit and ConsoleKit packages, which are not in BLFS), (optional, needed at runtime for non-HAL-based shutdown support), and (optional, needed for Assistive Technologies support, untested by BLFS editors). xfce4-mixer Xfce4-mixer contains an applet that controls sound volume levels. Xfce4-mixer depends on , , , (optional), and (optional but highly recommended, because not all controls on modern sound cards are accessible to OSS applications). gtk-xfce-engine Gtk-xfce-engine contains themes. Gtk-xfce-engine has no external dependencies. orage Orage is a time-managing application for the Xfce desktop environment. Orage depends on , , , , libical (optional, an internal copy is used if external libical is not found, external libical-0.27 is known to misinterpret daylight time saving rules in the USA), and (optional, part of LFS). xfce4-appfinder Xfce4-appfinder shows system-wide installed applications. Xfce4-appfinder depends on . xfce4-icon-theme Xfce4-icon-theme contains more than 500 48x48 and scalable icons for applications. Xfce4-icon-theme depends on . EXO EXO is an extension library for Xfce, targeted at application development. It contains some additional widgets and helpers that run the preferred applications. EXO depends on URI-1.35, , , (optional, not recommended, see explanation below), libnotify (optional, useless without , see explanation below), and PyGTK (optional, untested). Terminal Terminal is a VT-100 terminal emulator for xfce. Terminal depends on , , (optional, with bindings). xfprint Xfprint contains a print dialog and a printer manager for Xfce. Xfprint depends on , and , (optional), , and or . Due to the use of and , it cannot print UTF-8 encoded text files. mousepad Mousepad is a plain text editor for Xfce. Mousepad depends on , printing support requires at runtime. xfce-utils The xfce-utils package contains files needed to start Xfce from , and the startxfce4, xfbrowser4, xfhelp4, xflock4 (needs or xlockmore at runtime), xfmountdev4, xfterm4, xfce4-about, and xfrun utilities. Xfce-utils depend on , , , with bindings (optional), and (optional, untested by BLFS editors). Thunar Thunar is a file manager for Xfce. Thunar depends on , , (optional, for trash can support), , (optional, for the "Image" properties page), (optional, for the "Search & Replace" renamer), (optional) with bindings (optional), (optional, not recommended), and (optional, for support of GNOME thumbnailers, untested by BLFS editors). xfdesktop The xfdesktop package contains a desktop manager for Xfce. Xfdesktop depends on , , , , (optional, for file icons on desktop), (optional, for file icons on desktop), (optional, for nifty icon effects), (optional). xfce4-dev-tools The xfce4-dev-tools package contains common tools required by Xfce developers and people that want to build Xfce from SVN. In addition, this package contains the Xfce developer's handbook. The xfce4-dev-tools package has no external dependencies. Unwanted dependencies Some of Xfce components have optional dependencies on HAL. E.g., and use HAL as a volume manager in order to mount removable media. However, HAL-based volume manager is currently very buggy, so it is a good idea to disable it. E.g., in non-English environments, it is often needed to pass iocharset and codepage mount options. The need for non-default mount options also exists for English users: the kernel version in LFS (2.6.22.x) has a bug that causes the statfs(2) syscall (used in order to determine the amount of free space) to take too much time (up to a minute for a filesystem on a 80 GB video iPod) unless the usefree option is passed at mount time. However, this is currently impossible to achieve without adding all possible removable devices into /etc/fstab, because default mount options are hard-coded in the exo-mount program. Also, the automounter throws cryptic HAL error messages at the user when the user presses the Eject button on a CD-ROM drive. Installation instructions below make sure that HAL is not used as a volume manager even if found. libnotify provides support for desktop notifications. The only source of such notifications in Xfce itself is Thunar, which (if compiled with HAL) notifies the user when it is safe to remove the media. However, HAL dependency is unwanted, as explained above. Additionally, in order to actually see the notifications, one needs to compile notification-daemon-xfce, which depends upon libsexy. The xfce4-tips command from the package uses Fortune in order to display tips and funny quotes on startup. However, it is buggy: does not remember the preference what to display (tips or quotes), and does not display non-English quotes correctly in non-UTF-8 locales. For these reasons, installation of this nearly-useless program is disabled below. User Notes: Installation of Xfce Build and install the Xfce components in the order listed above by issuing the following commands for each package: sed -i '/xfce4-tips/d' Makefile.in && ./configure --prefix=/usr --sysconfdir=/etc \ --libexecdir=/usr/lib/xfce4 --enable-debug=no \ --disable-python --enable-session-screenshots \ --with-sound=alsa --disable-hal --with-volume-manager=none && make Arguments that make no sense for a package (e.g., --with-sound=alsa for ) are slently ignored, and thus they are harmless. If you use as your display manager and would like to be able to log into an Xfce session from the GDM login screen, pass the --enable-gdm option to the xfce-utils-&xfce-version; configure script (requires to be installed at run time). Also, xfprint can be configured with --enable-cups if you have installed. After building a package, run as the root user: make install When all packages are built and installed, as the root user, move the help documentation to the standard BLFS location and modify the help script to look for it there: mv -vf /usr/share/xfce4/doc /usr/share/doc/xfce4 && sed -i 's@xfce4/doc@doc/xfce4@' /usr/bin/xfhelp4 Run the following command as the root user in order to change the actions bound to multimedia keys to use the amixer command from instead of the old OSS-only aumix program: sed -i 's/aumix -v\([+-]\?\)\([^"]*\)/amixer set Master \2%\1/' \ /usr/share/xfce-mcs-plugins/shortcuts/default.xml Users of Intel HD Audio onboard sound chips should replace Master with PCM in the command above, because such chips have no Master control. Command Explanations --sysconfdir=/etc: libxfce4util, xfce4-panel, xfdesktop, xfce-utils and xfce4-session require this parameter because the path is built into the library or they install configuration files in /etc/xdg. --libexecdir=/usr/lib/xfce4: xfce4-session requires this parameter to install some utility programs to the correct location. --disable-hal: disables support in . --with-volume-manager=none: disables support in . --disable-python: disables building bindings in . --enable-session-screenshots: allows to create screenshots on logout. --with-sound=alsa: tells to use the sound system native to Linux. sed -i '/xfce4-tips/d' Makefile.in: disables the build of the useless xfce4-tips program. Configuring Xfce Config files Xfce looks for its configuration files in ~/.config and /etc/xdg directories. Thus, for changing system-wide default preferences, create or edit files in /etc/xdg, using the contents of ~/.config as a model. Configuration Information Xfce will look for the theme index from at run-time. Ensure you install the package before launching Xfce. Also, Xfce comes with SVG icons specific to it. Installation of is required in order to avoid broken icons. Issue the command below to create an .xinitrc file which will automatically run the appropriate Xfce programs when the X Window system is launched. Be sure to backup your existing .xinitrc file before proceeding. echo "exec startxfce4" >~/.xinitrc In order to allow all users to shut down and reboot the computer from Xfce, install and, using the visudo command, add the following line to the /etc/sudoers file: ALL ALL=NOPASSWD:/usr/sbin/xfsm-shutdown-helper "" ~/.xinitrc Further steps Many useful programs, panel plugins, and themes for Xfce4 are available from the Xfce Goodies Project web site. You may want to install: Xfce4 mount plugin: a panel plugin that allows to mount and unmount filesystems listed in /etc/fstab, and also shows the amount of free disk space. Xfce4 Net Load plugin: a panel plugin that shows the current load of the network interfaces of your choice. Xfce4 XKB plugin: a panel plugin that displays the current keyboard layout and allows to change it with a single mouse click. Xarchiver: a graphical front-end for most archivers. Xfmedia: a media player based on . Video support is buggy, compiling with CFLAGS="-O0" may or may not help. Contents Installed Programs Installed Libraries Installed Directories more than 50 binaries and scripts libexo-0.3.{a,so}, libexo-hal-0.3.{a,so}, libthunar-vfs-1.{a,so}, libthunarx-1.{a,so}, libxfce4mcs-client.{a,so}, libxfce4mcs-manager.{a,so}, libxfce4panel.{a,so}, libxfce4util.{a,so}, libxfcegui4.{a,so}, libxfsm-4.2.{a,so} /usr/lib/thunarx-1, /usr/lib/xfce4, /usr/share/doc/xfce4, /usr/share/xfce4, /usr/share/Terminal, /usr/share/Thunar, /usr/share/orage, /usr/share/xfce-mcs-plugins, /usr/share/xfce4-menueditor, and /usr/share/xfwm4