Since XFCE scored third (after LXDE and KDE4) on our user poll of favorite desktops, I thought it would be useful to create module so that members of the community can check it out.
Any help is appreciated, as I'm still relatively new to the world of desktop environment configuration.
XFCE itself, as well as the core dependencies are all compiled using the scripts and source code from Robby Workman's site: http://connie.slackware.com/~rworkman/xfce-4.8/
I've also downloaded some additional apps and addons, many of them compiled from source (so lots of room for error on my part!).
Thoughts? Suggestions? Encouragement? Free beer?
-Cheers!
*******************************************************************************
DOWNLOAD
All modules can be downloaded from my googlecode download page:
http://code.google.com/p/porteus-xfce/downloads/
January 26th, 2011:
updated versions of all modules posted. Calling this a 4th beta for all modules.
For both architectures there now exists:
-base XFCE module
-lxde dependency replacement module
-apps module
-midori+flash module
TO USE:
Download and place all desired modules in /porteus/modules. Add the cheatcode 'xfce' to your boot instructions (edit your porteus.cfg or press tab at the SYSLINUX/EXTLINUX menu), and it will boot into xfce.
Note that you will only need the "deps from lxde" module if you have removed or otherwise deactivated the LXDE module that comes with the default porteus ISO.
Note: These were built for use with Porteus V1.1 Final, but ought to work for V1.0 as well.
*********************************************************************************
Porteus-XFCE FAQ:
1) My screen doesn't lock or require a password when resuming from suspend/sleep. How can I lock it?
The XFCE desktop does not contain an actual screen locking program of it's own. Instead, it includes a wrapper script which is capable of calling third-party screen locking programs, such as xscreensaver, xlockmore, and slock. Porteus-xfce includes the slock program, but does not enable it in the default configuration. This is because slock does not offer any prompt for entering the password on resume; instead, it leaves the screen entirely blank. The user must type the correct password and press enter in order to unlock the screen. This behavior may be confusing to those who are unfamiliar with slock, as their system will appear to be frozen or stuck.
If you would like to lock your screen, you may do so by running 'slock' from the command line, or by enabling screen locking in the XFCE power management settings. To do this, go to: XFCE menu -> Settings -> Power Manager. Then, select your desired power profile from the menu on the left, and enable locking the screen. Once your screen is locked by whatever method you choose, you will need to type your password for the current user, then press enter to unlock it.
If you would like a GUI prompt to unlock your screen, then you can install a different screen locking program, such as xscreensaver or xlockmore.
2) I prefer to use firefox or chrome instead of midori. Why is midori included here?
Midori is included with Porteus-xfce as an alternative to Firefox, for three reasons: first, it is lighter than firefox, using less disk space and RAM. Second, it is part of the XFCE suite of applications. Third, variety is the spice of life. If you don't like using midori, then you can delete the midori+flash xzm module and replace it with the firefox module from the standard Porteus ISO. The web browser launcher in the XFCE panel is configured to launch firefox instead of midori if firefox is found.
3) I like using midori, but I don't like how it handles downloads. What can be done?
If you left click on a link to a file in midori, it will attempt to open or save the file with a program as determined by the file's mimetype. If you have an undefined mimetype, the download may fail. To work around this, you can right click on the link instead, and choose, 'Save as' to open a dialog and choose a location to store your file. Also, you can manage downloads through the uGet program. To do this through midori, you can start uGet from the XFCE menu and minimize or close it (selecting the option to minimize it to the tray). By default, uGet monitors your desktop clipboard for links to files, so you can then right click on a link to a file in midori and select "Copy Link destination". This copies the file's location to your clipboard, and uGet will then popup with the link already in place, and you can click "OK" to download the file through Uget. In uGet, you can pause and resume downloads, specify bandwith usage, etc. If uGet isn't picking up your files when you copy them to the clipboard, open uGet, click Edit->Clipboard Option, and add your filetype (e.g. pdf) to the specified file types string, separated by pipes (|).
4) How can I get midori's spellchecker to work with a language other than English?
Midori uses the aspell libraries for spellchecking. Different languages have their own package, and only the english package (aspell-en-6.0) is included with the default modules. To use the spellchecker with your desired language, please download and install the appropriate package for your language. For example:
slackyd -u #update slackyd
slackyd -s aspell #search for all aspell packages, and find the correct package for your language
slackyd -g aspell-fr # downlod the french aspell package
txz2xzm /var/slackyd/aspell-fr-0.50_3-noarch-4.txz /mnt/sdb1/porteus/modules/aspell-fr-0.50_3-noarch-4.xzm
This will download the package and convert it to a module in your /porteus/modules folder, such that it will be activated every time you boot up. Make sure you replace the examples above with the proper package name and path to your /modules folder.
5) When I try to play an XYZ media file in a gstreamer app, it tells me that I'm missing a plugin. How can I install more plugins?
Several applications in Porteus-xfce are based on gstreamer (including parole, xfburn, xnoise and xfce4-mixer), which is a cross-platform multimedia framework. Gstreamer has literally hundreds of plugins, which are grouped into several packages. By default, Porteus-xfce contains the gst-plugins-base, gst-plugins-good, and gst-ffmpeg plugin packages. If you are trying to play a file and your plugin is not found, you may want to try installing additional plugin packages, for example gst-plugins-bad and gst-plugins-ugly. These packages are not included with Porteus-xfce by default because they are rather large and require multiple dependencies. Some of the plugins also present license and/or copyright conflicts, so each user needs to read the respective licenses and understand their local copyright laws prior to downloading and installing these packages. A script to download and build a module with these packages will be included in future releases of Porteus-xfce, but for the time being, they can be installed manually with the following commands, for example:
slackyd -u #update slackyd
slackyd -g gst-plugins-bad #download the package, with dependency resolution
mkdir /tmp/gst-plugins
installpkg -root /tmp/gst-plugins /var/slackyd/*.t?z
dir2xzm /tmp/gst-plugins /tmp/gst-plugins-bad+deps.xzm
Note that slackyd will attempt to download many dependencies for some of the gst-plugins packages; some of the plugins will not need any of these dependencies to function properly, but others will.
Also note that the included codecs will play mp3 files, but do not support seeking (i.e., they will not show how far into a song you are). For this functionality, you will need the gst-plugins-ugly package.
6) The XFCE desktop has transparency enabled by default. I don't like the way this looks, and/or my hardware can't handle it. It also causes trouble when I view HD movies. What can I do?
One of the attractive features (for many) of XFCE is it's ability to handle transparency. However, this does increase RAM usage, and it may cause problems on older hardware. In order to disable transparency and window shading on startup, you can use the 'opaque' cheatcode. When you start up your computer and the bootloader menu appears, highlight your desired boot entry and press tab. Then, type the word 'opaque' without the quotemarks, separated from any other text by a space. Then press enter, and xfce will load with compositing disabled. If you would like to disable or modify your transparency settings after booting into the GUI, you can do so by going to: XFCE menu -> Settings -> Window Manager Tweaks and clicking on the 'Compositor' tab.
Also, there have been reports that displaying high resolution movies inside transparent windows causes some tearing of the image. If this is the case for you, or if you would like to disable transparency on an individual window for any reason (such as to make a text file more visible when not in focus), you can press ctrl+shift+f4. This will turn your cursor into a crosshair. Drag the crosshair to the desired window and left click on it. Transparency will then be ignored for this window.
*********************************************************************************
KNOWN ISSUES (help appreciated!):
- (minor) Now that I have patched xfce4-session, it may take a few seconds for XFCE to close out when you select 'logout', 'restart', or 'shut down' from the XFCE menu. I've observed this when saving changes to an ext2 filesystem, but not in other cases. If this bothers you, you can shut down or restart from the command line instead (halt or reboot). The patch prevents the system from dropping back to the login manager and hanging there.
- (minor) 64-bit only: if you start XFCE without loading the KDE module at startup, and then activate the KDE module after the destkop is up and running, the menu entries for CMake and wpa_gui will be missing. To fix this, run: /etc/rc.d/init.d/xfce.sh start; xfce4-panel -r
- (minor) both editions: if you login as guest, open a Terminal and su to root, then try to activate/deactivate a module from the command line, then the xfce4 panel will not restart properly. To resolve this: activate modules from the GUI, or enter the command to activate while still logged in as guest; you can also use the command 'su -p' to login as root while preserving environmental variables, and then activate will work properly.
***********************************************************************************
CHANGELOG:
11/09/2011 - uploaded modules for xfce 4.6 and 4.8 plus dependencies. Need to add seamonkey-solibs to the build for 4.8 or find a build of libproxy that does not require libmozjs.
11/10/2011 (4.8 version only):
- added seamonkey-solibs, reconfigured the panel and moved it to the bottom of the screen.
modified slim.conf to point it to /etc/X11/xinitrc/xinitrc.xfce instead of manually running xfce-session.
Also added hi-color-icon theme to fix missing icons (seems to be related to the index.theme file being overwritten by a kde package).
11/14/2011: (4.8 version only)
-added gvfs from salix 13.37. This fixes automounting and the network folders still appears to work in thunar (though I haven't actually tested with networked folders).
-modified slim.conf to point to /usr/bin/startxfce4, and used the -login -i options (thanks to crashman's porteus-xf settings). This resolved the bug with mc linebreaks as well as the root authentication in terminal bug.
-disabled use of the F10 key in Terminal, so that F10 works properly with mc and mcedit.
-added desktop button to the panel to easily switch to the desktop.
11/17/2011 (4.8 version only)
-compiled dependency chain from source (still haven't compiled xfce and apps, but may do so soon)
-resolved network button's dbus error in thunar -- had to run glib-compile-schemas /usr/share/glib-2.0/schemas.
-NEW! service menus -- these use the program ktsuss ("keep the su simple, stupid") to change to root privileges if you are logged in as guest. You can now convert .txz's, debs, and rpm's to xzm's by right clicking in thunar, as well as create modules from directories, extract modules, etc. --- many thanks to fanthom and brokenman, they wrote the scripts for kde and I swiped them (with minor modifications) for this. Please test and let me know if you have problems, or if you think of any others that may be useful.
NOTE: this version uses gvfs and gnome-disk-utility, as compiled by me, using Robby Workman's source/slackbuilds. Hopefully this will work better for automounting than what I've pushed out before.
11/24
-most of the dependency chain has now been compiled from source, and all of the XFCE packages have been as well. This build overwrites gvfs which is included in the lxde module, but relies upon some of the other packages in the lxde module (udisks, upower, libatasmart, etc) -- please verify that automounting still works

-I found and implemented transparency. feedback is appreciated (too much? get rid of it? add more?)
-all customizations to startup scripts (rc.4, rc.M, etc) have now been converted to sysvinit style scripts, so these files are not overwritten by the module. This should make things cleaner and less likely to cause problems with your existing installation.
-I wrote a small script to hide the kde default desktop icons (home and system) to avoid duplicates
-Added a new icon them, xubuntu studio icons
-Added xfce4-volumed and one dep (keybinder), which allows you to control the volume with laptop/keyboard volume buttons, without having to map them manually.
Enjoy!
11/29
-added a modification to /opt/porteus-scripts/activate and deactivate so that the xfce panel and desktop database are updated when modules containing applications are activated/deactivated. This modification is performed by /etc/rc.d/init.d/xfce.sh during boot-up; copies of the scripts are made before the modifications and replaced when the system is booting down.
-fixed the missing icon for the keyboard settings and xfce4-mixer
-added xfce4-xkb-plugin to the panel and configured it so that users can switch between up to 4 keyboard layouts (us, de, es, and ru by default -- let me know how you like the settings on this, I can modify these defaults).
-configured the kmixer panel plugin to show the master and speaker channels. This fixes the icon so that it shows the sound level (or mute) but may have locked in the default configuration to my sound card (HDA Intel) -- please let me know if this causes problems with different hardware.
-I'm now calling this a beta release. This means I've put together just about everything I think this module needs, and will respond to bug reports and feature requests, but don't expect updates every 2-3 days anymore

12/05
-uploaded the first 64-bit version

12/05
-uploaded add-on modules
12/06
-uploaded some alpha-test worthy applications.
12/08
- second beta testing modules for XFCE released;
- new Icon theme, and all icons fixed (that I could find).
- 64-bit activate script now works properly to restart the panel and show application icons.
- browser button in the panel now opens firefox if it is present, but midori if firefox is not present.
- porteus-specific apps should now work (Terminal and Midori were added to /opt/porteus-scripts/paths)
- added 'update-ca-certificates' to startup script, so midori will open without ssl errors.
12/15/2011 (update between beta 2 and beta 3)
- made rc.4.xfce into rc.4 so it directly overwrites the standard rc.4 instead of moving it around, and removed that bit from xfce.sh
- got wicd to start in notifyd tray in 32-bit
- Added Clipman to main XFCE module and launch on start-up
- rebuilt core packages with new compile flags
- altered xfce.pbuild script to use new compile flags; clean it up so 0 entry variables cannot be used; recompile everything
- set home page in midori to Porteus forum
- reduced number of desktops to 2
- create a custom theme for SLiM (copy image from 32-bit kdm theme?)
- bound screenshooter to the print screen button:
- wrote script that creates ~/.config/xfce4/panel/xfce4-mixer-plugin-*.rc and ~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-mixer.xml, to autoconfigure the mixer and mixer-plugin -- NEEDS TESTING!
- remove mount xzm and unmount xzm choices from Thunar menu (remove scripts from /opt/porteus-scripts as well)
- recompiled add-ons and folded in to main module packages: thunar-archive-plugin, calculator, verve and xkb plugins. "add-ons" module is no more.
- added a new theme - axiom
- added new package: gtk-engines-2 -- fix themes, gtk apps
- new wallpaper (dolphins!)
- defined exo buttons in menu so they don't need to be set up. Works for xfce-apps module, not kde/lxde
- created cheatcode to disable compositing -- 'opaque'
- modified power management settings to suspend the system and deal with laptop lid close, etc
--need to address screen lock, probably an issue with SLiM
12/18/2011
-posted new apps modules. apps added (plus deps):
PowerTOP 150KB
gppp 63KB (awfully large for what it does)
wvdial 82KB
wvstreams 1.2MB
xfvnc 28KB
gtk-vnc 91KB
epdfview 115KB (very small, no added deps)
grsync 120KB (small, rsync already in system for 32; added for 64)
gftp 550KB (much smaller than filezilla, no extra deps)
mtpaint 390KB -- now pretty old, no extra deps
transmission? 1.2MB -- requires
libevent-2.0.so.5 180KB
uget 110KB no addn't deps -- need to learn how to use with midori
galculator 105KB
xnoise 165KB (also xnoise-plugins-core, 44KB)
medit 1MB
postler and all of its deps was removed, but I added a mailwatch panel plugin -- users who want local mail storage can add claws-mail, sylpheed, etc on their own (claws is on the porteus repo).
- removed /etc/ld.so.conf from the apps module and added a script to append the needed directories to ld.so.conf (seamonkey and wvstreams) instead.
- set home page for midori to the porteus forum, and changed the default search engine to google.
12-19-2011-1/26/2012 (Changes applied for the Fourth Beta version)
- fixed axiom-theme to make it a standard package
- removed 'xfwm4-themes' from build (via editing slackbuild to not build it)
- added a patch to xfce4-session to fix broken reboot/shutdown buttons (thanks francois for finding/testing this bug!)
- added a fix to rworkman's xfce slackbuild make sure hal is disabled in xfce4-session
-rebuilt xfce (both archs), which includes upstream updates per rworkman's notes (updates to xfwm4, xfconf, and libxfce4ui).
- migrated scripts from /opt/porteus-scripts/thunar to /opt/porteus-scripts/xfce
- removed the menu item for opening an email application
- bound the string 'xprop -f _NET_WM_WINDOW_OPACITY_LOCKED 32c -set _NET_WM_WINDOW_OPACITY_LOCKED 1' to <ctrl>+<shift>+f4, so when this key combo is pressed, a crosshair will appear -- then click on any window and that window will then ignore transparency. useful, for example, with high-def videos, to avoid tearing.
- added flashblock script to midori (still need to move files from module to apps-customization
- compiled new ristretto -0.3.2
- modified /opt/porteus-scripts/paths to point to Thunar as /tmp/.wmanager, removed alteration of this script from /etc/rc.d/init.d/xfce.sh in favor of overwriting the script with a replacement in the module.
- compiled new midori--0.4.3
- compiled and packaged catfish -- installed and integrated into Thunar custom actions for right click 'find'
- compiled and packaged slock, tweaked power management settings to avoid locking the screen
- added Find files and folders entry to menu (catfish)
- reverted to old squeeze (not master in GIT) to avoid 'hang when called from command line' bug
- added resetwifi script to /opt/porteus-scripts, since suspend knocks off wifi
- customized ~/.gtkrc-2.0 to make icon labels on the desktop transparent
- added laptop-mode-tools and upgraded PowerTop to latest from GIT
- recompiled orage in 32-bit to remove dependency on ical (it found ical headers in the devel module)
- compiled gst-ffmpeg and gst-plugins-good from source; added liboil for gst-ffmpeg. bumped gst-ffmpeg to version 0.10.10 because 0.10.13 fails to work in 64-bit. Since gst-plugins-good is compiled against porteus, it removes support for some plugins: ASCII Art video sinks, esound, halelements, and rtpmanager. If users want support for these plugins, they can install gst-plugins from slackyd.
- split midori+flash to a separate module, to make it easy for users to drop midori for firefox+flash from standard ISO, or even to replace firefox with midori in the standard ISO.
- compiled poppler from source to eliminate qt4 dependencies
- set default behavior for panel tasklist to stop grouping windows by title/timestamp and allowing drag and drop
- compiled gnutls from source to eliminate guile dependency, dropped guile package from build
- created symlink at /usr/lib/libperl.so to help libproxy find it.
- added a section to xfce.sh that will remove CMake.desktop and wpa_gui if qt4 is not found - note that this will prevent CMake.desktop from showing up in the menu if you activate the kde module or add qt4 to a running system and don't reinstall cmake.
- removed Thunar menu item to load module tools
- added kde and lxde icon themes as 'inherits' in index.theme for elementary icons, to fix broken kde icons.
Thanks for testing!!