Difference between pages "ZFS as Root Filesystem" and "Package:Xfce4-settings"

From Funtoo
(Difference between pages)
Jump to navigation Jump to search
 
(Added information about configuring the Desktop)
 
Line 1: Line 1:
== Introduction ==
{{Ebuild
|Summary=The configuration system for XFCE
|CatPkg=xfce-base/xfce4-settings
|Homepage=http://docs.xfce.org/xfce/xfce4-settings/start
}}
{{c|xfce4-settings}} provides two main utilities used to configure key components of the XFCE desktop environment:
* {{c|xfce4-settings-editor}}: Provides a {{c|dconf-editor}}-like interface used to configure components of XFCE ranging from Thunar to the XFCE notification daemon.
* {{c|xfce4-settings-manager}}: Allows users to configure the same components as can be configured in the {{c|xfce4-settings-editor}} but provides a more easy to understand interface for configuration.


This tutorial will show you how to install Funtoo on ZFS (rootfs). This tutorial is meant to be an "overlay" over the [[Funtoo_Linux_Installation|Regular Funtoo Installation]]. Follow the normal installation and only use this guide for steps 2, 3, and 8.
== Installation ==
If you have already installed the XFCE desktop environment using the {{c|xfce4-meta}} package, {{c|xfce4-settings}} should be installed. Also, if you have installed an XFCE program such as thunar in another desktop environment or window manager such as Openbox or KDE, {{c|xfce4-settings}} is probably installed on your system too. If, for some reason, the program is not installed in either of those cases and you wish to emerge it, run the command:
{{console|body=
###i## emerge xfce4-settings
}}


=== Introduction to ZFS ===
After the emerge has finished, you can check that the package was successfully installed by running the command {{c|xfce4-settings-manager}} or by launching the program from your dock. If the package did install, you should be greeted with a window titled "Settings" that is divided into several sections with names like "Personal" and "Hardware." If the program does not launch after repeated attempts, consider filing a bug report at [http://bugs.funtoo.org Funtoo Bugs].


Since ZFS is a new technology for Linux, it can be helpful to understand some of its benefits, particularly in comparison to BTRFS, another popular next-generation Linux filesystem:
== Usage ==
To run {{c|xfce4-settings-manager}} in XFCE, navigate to the applications menu in your panel, go to "Settings" and then select "Settings Manager." Alternately, you can open your terminal emulator and type "xfce4-settings-manager" and press enter to launch the program. In other desktop environments, launch the program as you would any other.


* On Linux, the ZFS code can be updated independently of the kernel to obtain the latest fixes. btrfs is exclusive to Linux and you need to build the latest kernel sources to get the latest fixes.
=== Appearance ({{c|xfce4-appearance-settings}}) ===
==== Style ====
After clicking on the "Appearance" subsection in the section "Personal," you will find yourself in a tab titled "Style." This tab allows you to select the GTK+ theme that you would like to use from a list of themes that are currently installed in either {{c|/usr/share/themes}} or {{c|~/.themes}}. The three colored boxes to the left of the theme name show the theme's colors. To select a GTK+ theme as default, simply click on it and your theme will change immediately.  
{{note|If the theme does not change when clicked, double check to see that you are launching XFCE with the {{c|--with-ck-launch parameter}}. Theming using {{c|xfce4-settings-manager}} does not seem to work without it.}}


* ZFS is supported on multiple platforms. The platforms with the best support are Solaris, FreeBSD and Linux. Other platforms with varying degrees of support are NetBSD, Mac OS X and Windows. btrfs is exclusive to Linux.
==== Icons ====
To select the default icon theme for XFCE, click on the tab with the text "Icons." This tab, not surprisingly, allows you to edit your icon theme. To change your icon theme, click on the one that you like and the theme will change immediately. If it does not, read the above note.
{{tip|To install new icon themes, extract an icon theme to either {{c|/usr/share/icons}} (for every user on the system) or to {{c|~/.icons}} (for just you).}}


* ZFS has the Adaptive Replacement Cache replacement algorithm while btrfs uses the Linux kernel's Last Recently Used replacement algorithm. The former often has an overwhelmingly superior hit rate, which means fewer disk accesses.
==== Fonts ====
To change the default font, the DPI value of the current font, or to enable font anti-aliasing, click on the "Fonts" tab. The default font can be changed quite easily by selecting the box under "Default Font." Selecting this box will bring up a list of all the different font families that are currently installed on your system, along with the available styles for each font family. To change your font, choose the appropriate font family, style, and size and the click the button labeled "OK" at the bottom right of the window. Your font should change immediately. If it does not, the above note may help to solve the problem. A nice default font is "Ubuntu Regular 10," provided by the {{c|ubuntu-font-family}} package which can easily be installed using the following command:
{{console|body=
###i## emerge ubuntu-font-family
}}
If you are unhappy with the scaling of the fonts in XFCE, perhaps because you are using a hiDPI display, consider increasing the value next to "Custom DPI setting." Finally, to make many fonts appear more crisp and well-defined, increase the value in "Hinting" to "Medium" or "Full."


* ZFS has the ZFS Intent Log and SLOG devices, which accelerates small synchronous write performance.
==== Settings ====
If you do not like having images in menus or buttons or you would like to change the way that toolbars are displayed, navigate to the "Settings" tab. To modify how toolbars appear in GTK+ applications, modify the "Toolbar Style" dropdown to your pleasing. Here is what the different toolbar styles look like:


* ZFS handles internal fragmentation gracefully, such that you can fill it until 100%. Internal fragmentation in btrfs can make btrfs think it is full at 10%. Btrfs has no automatic rebalancing code, so it requires a manual rebalance to correct it.
{{TableStart}}
<tr class="info"><th>Style</th><th>Preview</th></tr>
<tr><td>Icons</td><td>[[File:xfce4-settings_toolbar_icons.png]]</td></tr>
<tr><td>Text</td><td>[[File:xfce4-settings_toolbar_text.png]]</td></tr>
<tr><td>Text under icons</td><td>[[File:xfce4-settings_toolbar_text_under_icons.png]]</td></tr>
{{TableEnd}}
To add or remove images on GTK+ buttons, check or uncheck the checkbox adjacent to "Show images on buttons." To remove those ''pesky'' little icons in menus, uncheck "Show images in menus."


* ZFS has raidz, which is like RAID 5/6 (or a hypothetical RAID 7 that supports 3 parity disks), except it does not suffer from the RAID write hole issue thanks to its use of CoW and a variable stripe size. btrfs gained integrated RAID 5/6 functionality in Linux 3.9. However, its implementation uses a stripe cache that can only partially mitigate the effect of the RAID write hole.
=== Desktop ({{c|xfdesktop-settings}}) ===
The desktop section of {{c|xfce4-settings}} is, not surprisingly, focused on the customization of the XFCE desktop. It includes options to customize the wallpaper, desktop icons, and desktop menus.


* ZFS send/receive implementation supports incremental update when doing backups. btrfs' send/receive implementation requires sending the entire snapshot.
==== Background ====
The first tab of the desktop section is titled "Background." This tab provides configuration options for the wallpaper of your XFCE desktop. To change the wallpaper for the current desktop, take note of the directory in which you have stored the image that you want to set as your wallpaper {{c|~/Pictures/Wallpapers/}}, for example. Then, click the box next to "Folder" in the bottom of the Background tab. When you click this box, you will get a menu displaying some directories where your photos could be located. If the picture you wish to use is not in any of the listed directories, select "Other..." and a dialog called "select a file will open." Now, navigate to the parent directory of the directory in which your wallpapers are stored ({{c|~/Pictures}} in my case) and click on the icon for that directory (should be called {{c|Wallpapers}} for me). After selecting that directory, click "Open" in the bottom right of the "Select a file" dialog. Now you should be able to choose the wallpaper that you wanted from the "Wallpaper for my desktop" box in the Background tab. To change to that wallpaper, simply click on the image of the desired wallpaper and your background should change immediately.  


* ZFS supports data deduplication, which is a memory hog and only works well for specialized workloads. btrfs has no equivalent.
==== Menus ====
The "Menus" tab controls the appearance of menus that appear on your desktop when you right and middle click.  


* ZFS datasets have a hierarchical namespace while btrfs subvolumes have a flat namespace.
==== Icons ====
Clicking on the tab labeled "Icons" allows you to customize the appearance of desktop icons. If you do not like having icons on your desktop and have struggled to find a way to remove the "Home," "Filesystem," and "Trash" icons from your desktop, you're in luck! Go to the bottom of the configuration dialog and uncheck all of the boxes in the "Default Icons" box. One by one, those pesky little icons will fade away into the nothingness that they deserve. Conversely, if you love desktop icons, you can always add more by right clicking on your desktop and selecting the appropriate "Create *" option in the menu that appears.


* ZFS has the ability to create virtual block devices called zvols in its namespace. btrfs has no equivalent and must rely on the loop device for this functionality, which is cumbersome.
To remove the large tooltips that appear when you hover over an icon on your desktop, uncheck the box "Show icon tooltips" in {{c|xfce4-settings}}. You can also shrink the size of the tooltip icon, and hence the tooltip itself, by decreasing the value in the box next to "Size:"


The only area where btrfs is ahead of ZFS is in the area of small file
{{warning|The rest of this page is still 'under construction.'}}
efficiency. btrfs supports a feature called block suballocation, which
=== File Manager ({{c|thunar-settings}}) ===
enables it to store small files far more efficiently than ZFS. It is
{{EbuildFooter}}
possible to use another filesystem (e.g. reiserfs) on top of a ZFS zvol
to obtain similar benefits (with arguably better data integrity) when
dealing with many small files (e.g. the portage tree).
 
For a quick tour of ZFS and have a big picture of its common operations you can consult the page [[ZFS Fun]].
 
=== Disclaimers ===
 
{{fancywarning|This guide is a work in progress. Expect some quirks.}}
{{fancyimportant|'''Since ZFS was really designed for 64 bit systems, we are only recommending and supporting 64 bit platforms and installations. We will not be supporting 32 bit platforms'''!}}
== Downloading the ISO (With ZFS) ==
In order for us to install Funtoo on ZFS, you will need an environment that already provides the ZFS tools. Therefore we will download a customized version of System Rescue CD with ZFS included.
 
<pre>
Name: sysresccd-4.2.0_zfs_0.6.2.iso  (545 MB)
Release Date: 2014-02-25
md5sum 01f4e6929247d54db77ab7be4d156d85
</pre>
 
 
'''[http://ftp.osuosl.org/pub/funtoo/distfiles/sysresccd/ Download System Rescue CD with ZFS]'''<br />
 
== Creating a bootable USB from ISO (From a Linux Environment) ==
After you download the iso, you can do the following steps to create a bootable USB:
 
<console>
Make a temporary directory
# ##i##mkdir /tmp/loop
 
Mount the iso
# ##i##mount -o ro,loop /root/sysresccd-4.2.0_zfs_0.6.2.iso /tmp/loop
 
Run the usb installer
# ##i##/tmp/loop/usb_inst.sh
</console>
 
That should be all you need to do to get your flash drive working.
 
== Booting the ISO ==
 
{{fancywarning|'''When booting into the ISO, Make sure that you select the "Alternate 64 bit kernel (altker64)". The ZFS modules have been built specifically for this kernel rather than the standard kernel. If you select a different kernel, you will get a fail to load module stack error message.'''}}
 
== Creating partitions ==
There are two ways to partition your disk: You can use your entire drive and let ZFS automatically partition it for you, or you can do it manually.
 
We will be showing you how to partition it '''manually''' because if you partition it manually you get to create your own layout, you get to have your own separate /boot partition (Which is nice since not every bootloader supports booting from ZFS pools), and you get to boot into RAID10, RAID5 (RAIDZ) pools and any other layouts due to you having a separate /boot partition.
 
==== gdisk (GPT Style) ====
 
'''A Fresh Start''':
 
First lets make sure that the disk is completely wiped from any previous disk labels and partitions.
We will also assume that <tt>/dev/sda</tt> is the target drive.<br />
 
<console>
# ##i##sgdisk -Z /dev/sda
</console>
 
{{fancywarning|This is a destructive operation and the program will not ask you for confirmation! Make sure you really don't want anything on this disk.}}
 
Now that we have a clean drive, we will create the new layout.
 
First open up the application:
 
<console>
# ##i##gdisk /dev/sda
</console>
 
'''Create Partition 1''' (boot):
<console>
Command: ##i##n ↵
Partition Number: ##i##↵
First sector: ##i##↵
Last sector: ##i##+250M ↵
Hex Code: ##i##↵
</console>
 
'''Create Partition 2''' (BIOS Boot Partition):
<console>Command: ##i##n ↵
Partition Number: ##i##↵
First sector: ##i##↵
Last sector: ##i##+32M ↵
Hex Code: ##i##EF02 ↵
</console>
 
'''Create Partition 3''' (ZFS):
<console>Command: ##i##n ↵
Partition Number: ##i##↵
First sector: ##i##↵
Last sector: ##i##↵
Hex Code: ##i##bf00 ↵
 
Command: ##i##p ↵
 
Number  Start (sector)    End (sector)  Size      Code  Name
  1            2048          514047  250.0 MiB  8300  Linux filesystem
  2          514048          579583  32.0 MiB    EF02  BIOS boot partition
  3          579584      1953525134  931.2 GiB  BF00  Solaris root
 
Command: ##i##w ↵
</console>
 
 
=== Format your /boot partition ===
 
<console>
# ##i##mkfs.ext2 -m 1 /dev/sda1
</console>
 
=== Create the zpool ===
We will first create the pool. The pool will be named `tank` and the disk will be aligned to 4096 (using ashift=12)
<console># ##i##zpool create -f -o ashift=12 -o cachefile= -O compression=on -m none -R /mnt/funtoo tank /dev/sda3</console>
 
=== Create the zfs datasets ===
We will now create some datasets. For this installation, we will create a small but future proof amount of datasets. We will have a dataset for the OS (/), and your swap. We will also show you how to create some optional datasets: <tt>/home</tt>, <tt>/var</tt>, <tt>/usr/src</tt>, and <tt>/usr/portage</tt>.
 
<console>
Create some empty containers for organization purposes, and make the dataset that will hold /
# ##i##zfs create -p tank/funtoo
# ##i##zfs create -o mountpoint=/ tank/funtoo/root
 
Optional, but recommended datasets: /home
# ##i##zfs create -o mountpoint=/home tank/funtoo/home
 
Optional datasets: /usr/src, /usr/portage/{distfiles,packages}
# ##i##zfs create -o mountpoint=/usr/src tank/funtoo/src
# ##i##zfs create -o mountpoint=/usr/portage -o compression=off tank/funtoo/portage
# ##i##zfs create -o mountpoint=/usr/portage/distfiles tank/funtoo/portage/distfiles
# ##i##zfs create -o mountpoint=/usr/portage/packages tank/funtoo/portage/packages
</console>
 
=== Create your swap zvol ===
For modern machines that have greater than 4 GB of RAM, A swap size of 2G should be enough. However if your machine doesn't have a lot of RAM, the rule of thumb is either 2x the RAM or RAM + 1 GB.
 
For this tutorial we will assume that it is a newer machine and make a 2 GB swap.
 
<console>
# ##i##zfs create -o sync=always -o primarycache=metadata -o secondarycache=none -o volblocksize=4K -V 2G tank/swap
</console>
{{fancywarning|ZFS swap is not stable and should be used with precautions.}}
 
=== Format your swap zvol ===
<console>
# ##i##mkswap -f /dev/zvol/tank/swap
# ##i##swapon /dev/zvol/tank/swap
</console>
 
Now we will continue to install funtoo.
 
== Installing Funtoo ==
 
=== Pre-Chroot ===
 
<console>
Go into the directory that you will chroot into
# ##i##cd /mnt/funtoo
 
Make a boot folder and mount your boot drive
# ##i##mkdir boot
# ##i##mount /dev/sda1 boot
</console>
 
[[Funtoo_Linux_Installation|Now download and extract the Funtoo stage3 ...]]
 
Once you've extracted the stage3, do a few more preparations and chroot into your new funtoo environment:
 
<console>
Bind the kernel related directories
# ##i##mount -t proc none proc
# ##i##mount --rbind /dev dev
# ##i##mount --rbind /sys sys
 
Copy network settings
# ##i##cp -f /etc/resolv.conf etc
 
Make the zfs folder in 'etc' and copy your zpool.cache
# ##i##mkdir etc/zfs
# ##i##cp /etc/zfs/zpool.cache etc/zfs
 
Chroot into Funtoo
# ##i##env -i HOME=/root TERM=$TERM chroot . bash -l
</console>
 
=== In Chroot ===
Sync your tree
<console>
# ##i##emerge --sync
</console>
 
=== Add filesystems to /etc/fstab ===
 
Before we continue to compile and or install our kernel in the next step, we will edit the <tt>/etc/fstab</tt> file because if we decide to install our kernel through portage, portage will need to know where our <tt>/boot</tt> is, so that it can place the files in there.
 
Edit <tt>/etc/fstab</tt>:
 
<pre>
# <fs>                  <mountpoint>    <type>          <opts>          <dump/pass>
 
/dev/sda1              /boot          ext2            defaults        0 2
/dev/zvol/tank/swap    none            swap            sw              0 0
</pre>
 
== Kernel Configuration ==
...wip
 
== Installing the ZFS userspace tools and kernel modules ==
Emerge {{Package|sys-fs/zfs}}. This package will bring in {{Package|sys-kernel/spl}}, and {{Package|sys-fs/zfs-kmod}} as its dependencies:
 
<console>
# ##i##emerge zfs
</console>
 
Check to make sure that the zfs tools are working. The <code>zpool.cache</code> file that you copied before should be displayed.
 
<console>
# ##i##zpool status
# ##i##zfs list
</console>
 
If everything worked, continue.
 
== Create the initramfs ==
There are two ways to do this, you can use "genkernel" or "bliss-initramfs". Both will be shown.
 
=== genkernel ===
Install genkernel and run it:
<console>
# ##i##emerge genkernel
 
You only need to add --luks if you used encryption
# ##i##genkernel --zfs --luks initramfs
</console>
 
== Installing & Configuring the Bootloader ==
 
=== GRUB 2  ===
<console>
# ##i##emerge grub
</console>
 
You can check that grub is version 2.00 by typing the following command:
 
<console>
# ##i##grub-install --version
grub-install (GRUB) 2.00
</console>
 
Now install grub to the drive itself (not a partition):
<console>
# ##i##grub-install /dev/sda
</console>
 
You should receive the following message:
 
<console>
Installation finished. No error reported.
</console>
 
You should now see some a grub directory with some files inside your /boot folder:
 
<console>
# ##i##ls -l /boot/grub
total 2520
-rw-r--r-- 1 root root    1024 Jan  4 16:09 grubenv
drwxr-xr-x 2 root root    8192 Jan 12 14:29 i386-pc
drwxr-xr-x 2 root root    4096 Jan 12 14:28 locale
-rw-r--r-- 1 root root 2555597 Feb  4 11:50 unifont.pf2
</console>
 
=== boot-update ===
boot-update comes as a dependency of grub2, so if you already installed grub, it's already on your system!
 
==== Genkernel ====
If your using genkernel you must add 'real_root=ZFS=<root>' and 'dozfs' to your params.
Example entry for <tt>/etc/boot.conf</tt>:
 
<pre>
"Funtoo ZFS" {
        kernel vmlinuz[-v]
        initrd initramfs-genkernel-x86_64[-v]
        params real_root=ZFS=tank/funtoo/root
        params += dozfs=force
}
</pre>
 
After editing /etc/boot.conf, you just need to run boot-update to update grub.cfg
 
<console>
###i## boot-update
</console>
 
== Final configuration ==
=== Add the zfs tools to openrc ===
<console># ##i##rc-update add zfs boot</console>
 
=== Clean up and reboot ===
We are almost done, we are just going to clean up, '''set our root password''', and unmount whatever we mounted and get out.
 
<console>
Delete the stage3 tarball that you downloaded earlier so it doesn't take up space.
# ##i##cd /
# ##i##rm stage3-latest.tar.xz
 
Set your root password
# ##i##passwd
>> Enter your password, you won't see what you are writing (for security reasons), but it is there!
 
Get out of the chroot environment
# ##i##exit
 
Unmount all the kernel filesystem stuff and boot (if you have a separate /boot)
# ##i##umount -l proc dev sys boot
 
Turn off the swap
# ##i##swapoff /dev/zvol/tank/swap
 
Export the zpool
# ##i##cd /
# ##i##zpool export tank
 
Reboot
# ##i##reboot
</console>
 
{{fancyimportant|'''Don't forget to set your root password as stated above before exiting chroot and rebooting. If you don't set the root password, you won't be able to log into your new system.'''}}
 
and that should be enough to get your system to boot on ZFS.
 
== After reboot ==
 
=== Forgot to reset password? ===
==== System Rescue CD ====
If you aren't using bliss-initramfs, then you can reboot back into your sysresccd and reset through there by mounting your drive, chrooting, and then typing passwd.
 
Example:
<console>
# ##i##zpool import -f -R /mnt/funtoo tank
# ##i##chroot /mnt/funtoo bash -l
# ##i##passwd
# ##i##exit
# ##i##zpool export -f tank
# ##i##reboot
</console>
 
==== Using bliss-initramfs ====
If you forgot to reset your password and are using '''bliss-initramfs''', you can add the '''su''' option to your bootloader parameters and the initramfs will throw you into the rootfs of your drive. In there you can run 'passwd' and then type 'exit'. Once you type 'exit', the initramfs will continue to boot your system as normal.
 
=== Create initial ZFS Snapshot ===
Continue to set up anything you need in terms of /etc configurations. Once you have everything the way you like it, take a snapshot of your system. You will be using this snapshot to revert back to this state if anything ever happens to your system down the road. The snapshots are cheap, and almost instant.
 
To take the snapshot of your system, type the following:
<console># ##i##zfs snapshot -r tank@install</console>
 
To see if your snapshot was taken, type:
<console># ##i##zfs list -t snapshot</console>
 
If your machine ever fails and you need to get back to this state, just type (This will only revert your / dataset while keeping the rest of your data intact):
<console># ##i##zfs rollback tank/funtoo/root@install</console>
 
{{fancyimportant|'''For a detailed overview, presentation of ZFS' capabilities, as well as usage examples, please refer to the [[ZFS_Fun|ZFS Fun]] page.'''}}
 
== Troubleshooting ==
 
=== Starting from scratch ===
If your installation has gotten screwed up for whatever reason and you need a fresh restart, you can do the following from sysresccd to start fresh:
 
<console>
Destroy the pool and any snapshots and datasets it has
# ##i##zpool destroy -R -f tank
 
This deletes the files from /dev/sda1 so that even after we zap, recreating the drive in the exact sector
position and size will not give us access to the old files in this partition.
# ##i##mkfs.ext2 /dev/sda1
# ##i##sgdisk -Z /dev/sda
</console>
 
Now start the guide again :).
 
[[Category:HOWTO]]
[[Category:Filesystems]]
[[Category:Featured]]
[[Category:Install]]
 
__NOTITLE__

Revision as of 14:07, April 1, 2015

Xfce4-settings

   Tip

We welcome improvements to this page. To edit this page, Create a Funtoo account. Then log in and then click here to edit this page. See our editing guidelines to becoming a wiki-editing pro.

xfce4-settings provides two main utilities used to configure key components of the XFCE desktop environment:

  • xfce4-settings-editor: Provides a dconf-editor-like interface used to configure components of XFCE ranging from Thunar to the XFCE notification daemon.
  • xfce4-settings-manager: Allows users to configure the same components as can be configured in the xfce4-settings-editor but provides a more easy to understand interface for configuration.

Installation

If you have already installed the XFCE desktop environment using the xfce4-meta package, xfce4-settings should be installed. Also, if you have installed an XFCE program such as thunar in another desktop environment or window manager such as Openbox or KDE, xfce4-settings is probably installed on your system too. If, for some reason, the program is not installed in either of those cases and you wish to emerge it, run the command:

root # emerge xfce4-settings

After the emerge has finished, you can check that the package was successfully installed by running the command xfce4-settings-manager or by launching the program from your dock. If the package did install, you should be greeted with a window titled "Settings" that is divided into several sections with names like "Personal" and "Hardware." If the program does not launch after repeated attempts, consider filing a bug report at Funtoo Bugs.

Usage

To run xfce4-settings-manager in XFCE, navigate to the applications menu in your panel, go to "Settings" and then select "Settings Manager." Alternately, you can open your terminal emulator and type "xfce4-settings-manager" and press enter to launch the program. In other desktop environments, launch the program as you would any other.

Appearance (xfce4-appearance-settings)

Style

After clicking on the "Appearance" subsection in the section "Personal," you will find yourself in a tab titled "Style." This tab allows you to select the GTK+ theme that you would like to use from a list of themes that are currently installed in either /usr/share/themes or ~/.themes. The three colored boxes to the left of the theme name show the theme's colors. To select a GTK+ theme as default, simply click on it and your theme will change immediately.

   Note

If the theme does not change when clicked, double check to see that you are launching XFCE with the --with-ck-launch parameter. Theming using xfce4-settings-manager does not seem to work without it.

Icons

To select the default icon theme for XFCE, click on the tab with the text "Icons." This tab, not surprisingly, allows you to edit your icon theme. To change your icon theme, click on the one that you like and the theme will change immediately. If it does not, read the above note.

   Tip

To install new icon themes, extract an icon theme to either /usr/share/icons (for every user on the system) or to ~/.icons (for just you).

Fonts

To change the default font, the DPI value of the current font, or to enable font anti-aliasing, click on the "Fonts" tab. The default font can be changed quite easily by selecting the box under "Default Font." Selecting this box will bring up a list of all the different font families that are currently installed on your system, along with the available styles for each font family. To change your font, choose the appropriate font family, style, and size and the click the button labeled "OK" at the bottom right of the window. Your font should change immediately. If it does not, the above note may help to solve the problem. A nice default font is "Ubuntu Regular 10," provided by the ubuntu-font-family package which can easily be installed using the following command:

root # emerge ubuntu-font-family

If you are unhappy with the scaling of the fonts in XFCE, perhaps because you are using a hiDPI display, consider increasing the value next to "Custom DPI setting." Finally, to make many fonts appear more crisp and well-defined, increase the value in "Hinting" to "Medium" or "Full."

Settings

If you do not like having images in menus or buttons or you would like to change the way that toolbars are displayed, navigate to the "Settings" tab. To modify how toolbars appear in GTK+ applications, modify the "Toolbar Style" dropdown to your pleasing. Here is what the different toolbar styles look like:

StylePreview
IconsXfce4-settings toolbar icons.png
TextXfce4-settings toolbar text.png
Text under iconsXfce4-settings toolbar text under icons.png

To add or remove images on GTK+ buttons, check or uncheck the checkbox adjacent to "Show images on buttons." To remove those pesky little icons in menus, uncheck "Show images in menus."

Desktop (xfdesktop-settings)

The desktop section of xfce4-settings is, not surprisingly, focused on the customization of the XFCE desktop. It includes options to customize the wallpaper, desktop icons, and desktop menus.

Background

The first tab of the desktop section is titled "Background." This tab provides configuration options for the wallpaper of your XFCE desktop. To change the wallpaper for the current desktop, take note of the directory in which you have stored the image that you want to set as your wallpaper ~/Pictures/Wallpapers/, for example. Then, click the box next to "Folder" in the bottom of the Background tab. When you click this box, you will get a menu displaying some directories where your photos could be located. If the picture you wish to use is not in any of the listed directories, select "Other..." and a dialog called "select a file will open." Now, navigate to the parent directory of the directory in which your wallpapers are stored (~/Pictures in my case) and click on the icon for that directory (should be called Wallpapers for me). After selecting that directory, click "Open" in the bottom right of the "Select a file" dialog. Now you should be able to choose the wallpaper that you wanted from the "Wallpaper for my desktop" box in the Background tab. To change to that wallpaper, simply click on the image of the desired wallpaper and your background should change immediately.

Menus

The "Menus" tab controls the appearance of menus that appear on your desktop when you right and middle click.

Icons

Clicking on the tab labeled "Icons" allows you to customize the appearance of desktop icons. If you do not like having icons on your desktop and have struggled to find a way to remove the "Home," "Filesystem," and "Trash" icons from your desktop, you're in luck! Go to the bottom of the configuration dialog and uncheck all of the boxes in the "Default Icons" box. One by one, those pesky little icons will fade away into the nothingness that they deserve. Conversely, if you love desktop icons, you can always add more by right clicking on your desktop and selecting the appropriate "Create *" option in the menu that appears.

To remove the large tooltips that appear when you hover over an icon on your desktop, uncheck the box "Show icon tooltips" in xfce4-settings. You can also shrink the size of the tooltip icon, and hence the tooltip itself, by decreasing the value in the box next to "Size:"

   Warning

The rest of this page is still 'under construction.'

File Manager (thunar-settings)