LXDE stands for Lightweight X11 Desktop Environment. It is by design a lightweight, no frills, computer-friendly, user-friendly general desktop control system for a variety of operating system. It's not designed to be powerful and bloated, but to be usable and slim and to keep the resource usage low. Different from other desktop environments, LXDE doesn't tightly integrate every component. Instead, LXDE tried to make all components independent, so that each of them can be used independently with fewer dependencies. It is basic, and rather primitive by comparison to the slick and bigger desktops. But don't be fooled by the lightweight characterization. LXDE can do everything the bigger distributions do. It is mostly a matter of personal preference. Do you want to spend time removing bloat from a heavy distribution, or add just what you want to a lightweight one? You want plasmoids, fancy multi-dimensional drop-down menus, rotating cubes, etc, just add them. Do you want your computer to be a tool or a toy? Although I sometimes treat it as a toy, I really want it, first and foremost, to be a tool. I want it to conveniently and quickly launch and shutdown the maximum possible number of applications (software) possible, and to flawlessly run these applications. The role of the desktop and its associated companions, the file browser and windows manager, is to supply the tools that do the launching and shutting down. This is where LXDE delivers. It is simple to adjust, offers a broad range of operations and performs quickly. You click on something and BAM there it is, no waiting. LXDE is the most stable of the Linux desktops in my experience. Things that work today will work the same way tomorrow. Finally, don't be fooled by the "conventional propaganda" that the LXDE desktop is only for old computers with lack-luster hardware. Others cry out, "our modern computers are so powerful, it doesn't matter," whenever you mention system requirements these days. The fact remains though - it does matter. A desktop that runs fast on a slow system will fly on a quick system. Resources should be there for your applications to use, not for your desktop environment to eat up. I put LXDE or its components on all my computers, some of which have 8 GB of memory and none of which has a CPU under 2 GHz, because it is the best desktop tool available for performance, and it is reliable, too. For a somewhat outdated but still accurate comparison of the 4 main Linux desktops regarding system memory useage, see the chart at the bottom of Beginners Guide.
Most new computers over the past few years come with dual or more CPUs and 4 GBs or more RAM, which means they perform for most tasks better with a 64-bit (Amd64) operating system, instead of a 32-bit (i386, i486, i686) one. See 32-bit vs 64-bit for a comparison. On 64-bit systems LXDE is even faster, but well-supported, good, ready-made 64-bit LXDE systems are not popular with developers. However, this lack of good stock 64-bit LXDE systems can be easily circumvented by loading an LXDE desktop on almost any 64-bit system and then choosing LXDE as the default. My favorites are Sparky Linux and Crunchbang Linux, which are constructed around Openbox, the LXDE windows manager. Little supplementing is required to change them to a complete LXDE system, second to none, after-market or otherwise. Also, any XFCE desktop can be easily converted to an LXDE desktop. The bigger desktops are not so easy to convert without retaining garbage that will slow down performance.
LXDE does have a price. Without a lot of GUI's (Graphical User Interfaces) it is a bit harder for some to set-up the initial desktop. The main purpose of this Guide is to offer help for getting past this initial barrier. The big things - internet connection, apps launching, sound, video, etc - probably depend more upon the underlying operating system and your computer's hardware than the desktop system.
The LXDE system consists of 11 primary packages and a few supporting packages depending upon the distribution, each related to a special function and each essentially independent, which makes after-market installing and substituting very easy. The 11 primary packages are:
To install an aftermarket LXDE desktop, simply use synaptic to install lxde-core, or:
sudo apt-get install lxde-core.
Then, log-out and back-in, choosing lxde or lxsession when asked. Configure your lxde desktop as outlined in this guide, and add and remove applications as desired. Finish by installing upgrade-system and/or wajig. Run
sudo upgrade-system
and/or
sudo wajig purge-orphans.
Useful configurations for Firefox (Iceweasel):
Useful configurations for Pcmanfm:
Pcmanfm has many very useful features:
If Pcmanfm isn't performing perfectly, he can be relaunched by putting the following in the terminal:
pcmanfm --desktop --profile=LXDE.
There are 3 installed GUI's (Graphical User Interfaces) for customizing the desktop, excluding panels and wallpaper:
A new desktop-right-click-menu offers a small application menu, the Openbox Applications Menu (see photo below-left, which is after an edit). To really get a useful Openbox Menu, edit it to include any and all applications with icons, provided you have Openbox 3.5.0-2 or later, by coping the text file named menu.xml in /etc/xdg/openbox to your home directory to more easily edit it. Put all the applications that you want in this menu. Enter applications according to the pattern in the picture on the upper-right. Put the icons of .png type associated with your apps into /usr/share/icons and make that address the icon entry. See Openbox Menu for a template of menu.xml and an expanded discussion. When finished, place a copy of your modified menu.xml in the following 3 openbox directories (replacing any menu.xml already there):
/etc/xdg/openbox
/usr/share/lxde/openbox
~/.config/openbox .
These addresses (part before openbox) may be slightly different depending upon the underlying distribution.
Edit the rc.xml or lxde-rc.xml in the above 3 openbox directories so that the line following <menu> is
<showIcons>yes</showIcons>.
While the rc.xml or lxde-rc.xml are open, edit their keybinding parts as illustrated by the picture on the right. Make sure keybindings exist for at least terminal, pcmanfm, main menu, lxpanel and screenshooter. Some day these will come in useful!
Use icons of the .png type as .svg icons do not seem to work. By the way, there is nothing sacred about the bloated, repetitive dull icon sets included in distro installs. Get a nice image editor like PhotoFiltre and create your own. I keep a special icon directory in my network storage just for LXDE installs. One of the first things that I do to a new install is copy this set of icons to /usr/share/icons, and then use them as needed. Most distributions appear to have icons stored in numerous directories. One particular bountiful one in some distributions is /usr/share/app-install/icons. See section 20 below for others.
I also keep a stock openbox menu.xml to use to replace the ones in a new install. Again, see Openbox Menu for an expanded discussion on setting up Openbox menus and all the useful things that can be included.
Right click anywhere on an open space in a panel (the default after the install is usually for just a bottom panel) to get a menu for that panel. Choosing Panel Preferences brings up 4 categories - Geometry, Appearance, Panel Applets, Advanced - for editing. Here you can change the panel geometry, appearance and applets. The Advanced category offers the choice of hiding the panel and/or allowing windows to cover an unhidden panel (uncheck the two boxes in Properties). Clicking Add-Remove also brings up a menu to add applets and one to add any application in the Main Menu. To add applications, click Add>Application Launch Bar>Add, which will bring up a second box and put an empty spot on the right side of the Panel. In this second box choose the application you wish to add to the panel, click it, then click add. For example, if you want to add Firefox, click the + sign by Internet and a list with Firefox appears. Click Firefox>add. Continue this procedure with each application that you want in this group. Applications are added in groups, because an empty space on the panel is generally obtained only between groups and not between applications in the same group, However, even the latter can be achieved by just adding an Application Launch Bar without specifying an Application. So you should decide ahead which applications you want on the taskbar and how you want them grouped. All the application groups, other stuff and spaces can be ordered by highlighting and using the up and down arrows. You will notice the icon for a new applications will always first appear on the right side of the panel. Highliting it in the main list and repeated clicking up will move the app's icon on the panel to the left. Clicking down will move it to the right. For more details and pictures of these procedures, see Configuring LXPanel.
There are 2 autostart files, a general one associated with the LXDE desktop and a local one associated with Openbox. There is also a local autostart directory associated with Openbox. These are located at
/etc/xdg/lxsession/LXDE/autostart
~/.config/openbox/autostart.sh
~/.config/autostart.
If the lxde-core desktop is installed, then the lxde-autostart takes precedence. If only Openbox is installed or lxde-autostart doesn't do the job, then the best bet for autostarting something is putting an application desktop file (see Section 11 below) for it into the ~/.config/autostart directory. This seems to always work.
In a traditional set-up wallpaper can be changed by terminal launching a wallpaper GUI:
pcmanfm --desktop-pref,
or by directly editing ~/.config/pcmanfm/LXDE/pcmanfm.conf. The default wallpaper folders are /usr/share/backgrounds and
/usr/share/lxde/wallpapers.
| rotator.sh #! /bin/bash DIR=~/Wallpaper/ FLOOR=1 RANGE=`ls -1 "$DIR"/*.jpg | wc | awk '// {print $1}'` number=0 while [ 1 -eq 1 ]; do number=$RANDOM while [ "$number" -le $FLOOR ]; do number=$RANDOM done let "number %= $RANGE" # Scales $number down within $RANGE. COUNTER=1 for X in "$DIR"/*.jpg do if [ $number -eq $COUNTER ]; then pcmanfm --set-wallpaper "$X" fi COUNTER=$(($COUNTER+1)) done COUNTER=1 sleep 5m done |
Wallpaper pictures look best if their size mimics the screen resolution. For example, if your resolution is 1680x1050, then only use pictures 1680 pixels wide and 1050 pixels high. To use photos whose dimension proportions are not 1680 to 1050, first change the photo size, maintaining dimension proportion, so that either the width is 1680 and the height is less than 1050, or the height is 1050 and the width is less than 1680. Then center your photo on a colorful 1680x1050 canvas, and the result is set to go as wallpaper. All this can be easily accomplished by using a simple photo editor like PhotoFiltre Editor, which has the exact tool (Tools>Automate Batch) needed to resize and canvas batches of images. PhotoFiltre saves your settings, and thereafter, resizing and canvassing takes about 1 second per image to do a batch.
A great shell script to set-up an automatic rotator (slide show) for wallpaper is given by Longform in the Pclinuxos Forums. The script is given on the right. Just copy and paste it with your text editor, edit DIR= and sleep to your desire, and save as rotator.sh, wherever you like. I use the directory, ~/bin, present in some distributions (just create it if not present), for special programs like this and Wine programs, forgoing the Linux default ~/.wine/drive_c/'Program Files' directory. This makes these programs quickly accessible, ownership is automatic and editing is quick and easy. Make rotator.sh executable and put @~/bin/rotator.sh in /etc/xdg/lxsession/LXDE/autostart. I also forgo the Linux default wallpaper directories identified above by creating a special wallpaper directory, ~/Wallpaper, in my home directory. So DIR=~/Wallpaper/ is the address in my rotator.sh script.
To cap the wallpaper story for LXDE, install a small application, webilder, which is an automatic, but controllable, picture downloader from Flickr, a great source of interesting images. Webilder also contains a wallpaper rotator, but it does not work in LXDE. To install webilder, download the .deb file from webilder.org, and install using gdebi. Launch webilder_desktop (use run or terminal if not in the menu) to get a GUI for adjusting the rate, type, destination, etc of the downloads.
Add (as root) the following line to /etc/apt/sources.list:
deb http://www.debian-multimedia.org sid main.
Next, put into the terminal in turn:
sudo apt-get update
sudo apt-get install debian-multimedia-keyring
sudo apt-get install handbrake-gtk.
Java is one of the equalizers in the operating system world. Pure java programs can be run on any operating system with a good java platform installed. Oracle-Java (sometimes refered to as Sun-Java), probably the best available java, installs easily in Linux and is free to at least home users. We will review some good pure java applications, like Arachnophilia, in the future. Just watch the Applications portion of this page's links. To install Oracle-Java go to the Oracle Website and download the appropriate tarball version (32-bit or 64-bit) of JDK. Suppose you have downloaded
jdk-7u4-linux-x64.tar.gz to your Downloads directory. Open it by putting into the terminal:
tar -xvf ~/Downloads/jdk-7u4-linux-x64.tar.gz.
Be sure the folder name in the above command reflects exactly the name of the jdk file in your Downloads directory. It will be different if you downloaded the 32-bit, or if these instructions are outdated. This should put in your home directory a folder, named something like jdk1.7.0_03. Next:
sudo apt-get install build-essential
sudo mkdir -p /usr/lib/jvm/jdk1.7.0
sudo mv jdk1.7.0_03/* /usr/lib/jvm/jdk1.7.0/ .
Be sure the first directory name in the last command exactly reflects the name of the extracted java folder in your home directory. This command is just moving the downloaded java files to the newly created directory. Now do each of these commands in turn:
sudo update-alternatives --install "/usr/bin/java" "java" "/usr/lib/jvm/jdk1.7.0/bin/java" 1
sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/lib/jvm/jdk1.7.0/bin/javac" 1
sudo update-alternatives --install "/usr/bin/javaws" "javaws" "/usr/lib/jvm/jdk1.7.0/bin/javaws" 1 .
Next, creat a Mozilla plugin in your home directory:
mkdir ~/.mozilla/plugins/ .
Finally, create a symbolic link to your Mozilla plugins folder. For 32-bit systems, replace "amd64" with "i386":
ln -s /usr/lib/jvm/jdk1.7.0/jre/lib/amd64/libnpjp2.so ~/.mozilla/plugins/ .
You can now use Synaptic and remove openjdk-7-jre and the other icedtea and OpenJDK installations. Finally, as insurance to make sure that OpenJDK remnants are not going to confuse your computer, configure your java components to make Oracle-Java the default:
sudo update-alternatives --config javac,
sudo update-alternatives --config java,
sudo update-alternatives --config javaws.
See the next section for a guide to putting Java on the Lxde-menu. Java applications come in files carrying the suffix .jar in their name. To launch an app.jar, put the following in the terminal:
sudo java -jar path-to-app.jar





If you have installed a 32-bit operating system, then the repositories likely contain versions of Wine and Skype that can be directly installed using Synaptic or apt-get. However, Wine and Skype do not yet have a 64-bit architecture that works in a 64-bit Debian-based Linux, which means the 32-bit versions have to be installed and adapted to work in the 64-bit environment. If you do not have at least 4 GB of memory, then it probably isn't worth the bother to install a 64-bit system and have to deal with the double arch system. To see if the necessary 32-bit architecture is installed, put the following in the terminal:
dpkg --print-foreign-architectures.
If i386 comes up, then your set to install wine and skype. If it does not, then install i386:
sudo dpkg --add-architecture i386
sudo apt-get update,
followed by
sudo apt-get install wine-bin:i386.
to hopefully install Wine. Unfortunately, this procedure has generally not immediately worked for me. To make it work, I use Synaptic to install a package named Wine. This, by itself, does not work either, but apparently does install some needed tools. Now, run sudo apt-get install wine-bin:i386 again.
You will probably want to install the mscorefonts-installer:
sudo apt-get install ttf-mscorefonts-installer .
To configure Wine and put .wine in your home directory, run the following in the terminal:
winecfg,
and to get Wine Windows Program Loader to show in the Main Menu/System, you may have to edit its .desktop file in /usr/share/applications so that
Categories=System;
NoDisplay=false.
Windows applications that work in linux can be now installed and easily put on the main menu using lxmed. See the links above for some of my favorite applications that run well with wine.
To install Skype, given that the dual architecture is already installed, as outlined above, simply download skype-debian_4.1.0.20-1_i386.deb, or whatever the latest Debian version is, and install it. If errors are reported in the installation, follow with
sudo apt-get --no-remove -f install,
which will hopefully fix the errors.
As I have already mentioned, I use the directory ~/bin, for Wine and any shell programs that I may use. When a Windows program is installed using Wine, tell the installer to put the program in ~/bin (most Windows program installers give you a choice) rather than in the installer's default~/.wine/drive_c/'Program Files'. Before you use a Wine program, or any .exe, which is a file extension that only applies to Windows, you need to first right click on the .exe, and from the ensuing menu, select Properties>General and choose Wine Windows Program Loader to Open with, and then select Properties>Permissions and check the Make executable box.
One of the greatest weaknesses of Linux operating systems is lack of good application choices. One of the main consideration a wise newcomer to Linux will consider is the size of the Application Repositories that come with a distribution. No matter how great an operating system operates, it is a useless tool if greatly limited in applications. This is why getting applications, especially non-proprietory ones, built for Windows operating systems to work on Linux is really important. Linux users should search out Windows applications and publicize the ones that can be adapted, and Linux developers should be encouraged to move some of their great creative energy to applications and away from cloning a so-called new operating system every 6 months, or whatever time interval applies. To get information on Wine compatible programs or how your favorite Windows program might fare under Wine, go to Wine HQ and complete the filter form. If you have a particular app in mind, just put its name in the Name box and click Update Filter.
My favorite Windows programs (all are freeware) are:
Araneae HTML Editor Faststone Image Viewer & Editor PhotoFiltre Image Editor.
To install PhotoFiltre, create a folder named photofiltre in ~/bin, and then download the .zip version and simply extract its contents into ~/bin/photofiltre. All the files to run PhotoFiltre are already present in the .zip and so no installation is required. The same procedure applies to the portable version of Faststone Image Editor. In my opinion PhotoFiltre Editor is the best photo editing program available for non-professionals, and Faststone Image Editor is well put together and unique for its combining photos tool. Araneae is a simple, basic html, xhtml, xml, editor whose structure consists mostly of text files that are easy to edit. Thus, it is easy to adjust these files to construct an editor that fits your needs, that has the buttons, clips and templates that you use, not what somebody else thinks you and the rest of the world want. Most HTML-editors, like a lot of applications and operating systems, are bulky and clumsy because their developers include too much which in turn leaves them impossible to edit. Not Araneae, you could say it is the LXDE of html editors! To read more about Araneae and to download my clips, go to ARANEAE. Use lxmed to put your Wine applications in the Main Menu, from which you can link them to all your panels and menus. For the 3 applications just mentioned, use ("command")
Exec=wine ~/bin/photofiltre/PhotoFiltre.exe
Exec=wine ~/bin/FSViewer46/FSViewer.exe
Exec=wine ~/bin/Araneae5/araneae.exe,
appropriately edited to give your addresses to the .exe's, if not set up the same as mine.



The LXDE desktop and panels can be linked to just about everything on the computer or on the internet. The diagram on the left shows how this linkage occurs. It shows 4 paths (→) to the DESKTOP and 1 path to PANELS. With the exception of the symlink path, which is not a very pleasing path, all paths must pass through a desktop file. So desktop files are very important to getting items on menus, desktops and panels.
There are three kinds of desktop files (.desktop) in Linux distributions, the two most used are illustrated on the right. The upper one is called an application desktop file; the lower one is a link desktop file. These two images can be used as templates for all .desktop files of these types. Anyone can construct a desktop file with any text editor (leafpad, geany, ...), and then move it (as root) to any directory. The significance of the contents is the following:
Linux systems have a pre-set collection of directories that the computer will search to carry out a command whose exec path is not completely specified. When an application's exec is in one of these directories, it is said to be on the path. The directories in this search path can be identified by putting the following into the terminal:
echo $PATH.
Lxmed is good at finding application desktop files, putting those that do not fit into one of its programed categories into a general, catch-all Others category. Lxmed can be used to directly edit any application's desktop file by opening Properties>Edit code manually for that application. Lxmed can be used to construct an application's desktop file by selecting category>New item, filling out the form and then clicking OK. It will be saved in /usr/local/share/applications.
To link an internet site to your desktop, put a link desktop file into ~/Desktop with URL=path-to-site, and make it executable. The template example on the upper-right will create a link to this Guide. To put an application launcher on the desktop, put an application desktop file, appropriately constructed for that application (generally, you can just copy as root the applications desktop file already present usually in /usr/share/applications or /usr/local/share/applications), into ~/Desktop, and make it executable. The template example on the upper-right will create a launcher for the xkill tool. A simple alternate way to get a desktop link to an application already listed in the Main Menu is to right click the name, which will bring up Add to desktop.


Now for some slightly more interesting stuff. Some people like to launch multiple applications and/or multiple web sites with just a single click, or to have desktop links to attached storage devices. These are easy to achieve in LXDE. All that is needed are simple bash scripts like those pictured on the left.



The procedure is almost the same for grouping a set of internet links. The third image on the left is the bash script that launches my gmail while putting my other emails in the firefox taskbar. If you want more than the last email on the list to open, then replace firefox by firefox -new-window as launcher for the emails you want opened. If you use chromium-browser, then just replace firefox in the script with chromium-browser. Use this script as a template for your situation, and from it create an application desktop file, etc, etc.
The places.sh is a script that launches the external hard drive named freeagnt mounted in /media and simultaneously puts the external hard drive named hitachi in the pcmanfm taskbar. Save it in ~/bin, doing the usual execute and ownership stuff. Now create an applications desktop file with exec=~/bin/places.sh and icon=[path to a pretty icon]. Save it in ~/Desktop, and you have a pretty link on the desktop, if desktop clutter is your thing.
An alternate way to get a desktop link to a folder is to use a symlink, which is a Linux shortcut. The general terminal code for a symlink is:
sudo ln -s path-to-folder path-to-symlink.
For example, the previously described desktop link to just freeagnt can be also created by the terminal command:
sudo ln -s /media/freeagnt ~/Desktop.
However, in this case, the desktop icon is just the standard, dull folder icon with the name freeagnt underneath.
The easiest way to change names and users is to use Preferences/Users & Groups. If you do not have Users & Groups, then try adding it by installing adduser from Synaptic. Changing names this way is a bit tricky if it is the computer administrator that is being changed. Suppose I want to change administrator doug to administrator roger. First, I create roger as a new user with his own home directory and any password (GUI requires longer password than I usually like). I give roger administrative powers, and test that roger really can function - login at start, open synaptic, etc. If roger passes this test, then he can use Users & Groups to delete the user doug. He can also delete the home directory doug, but I do not recommend this because that will delete everything including program subdirectories like ~/bin and doug's hidden files that may include important configuration files. So I would keep the directory doug, and just delete or move individual files in doug to roger, or whereever, which roger can do as root. Finally, use terminal to change roger's password to what he really wanted (something shorter):
sudo passwd roger
and follow the prompts. There is no restriction on password length here!
To use terminal to add a new, ordinary user named roger with home directory /home/roger, password xyz, starting shell /bin/shell (this is normal) and in the group named users (this can be omitted):
sudo useradd -m roger -d /home/roger -p xyz -s /bin/bash -g users .
To remove the user roger and his home directory:
sudo userdel -r roger .
To see user names and primary groups:
sudo cat /etc/passwd .
To add the user roger to the sudo group:
sudo adduser roger sudo .
More information can be found at ahinc.
Preferences/Passwords and Encryption Keys should show passwords. To change one, right click on it and select change password, complete the form and click Ok. Changing a user key does not necessarily change the password to keyring, the main controller. To change that, right click Passwords: login, and follow the same procedure. If you have "enter password to unlock your keyring" annoying you after every boot, you should be able to get rid of it by deleting login.keyring in ~/.gnome2/keyrings.
Your computer has a name, which can be seen at Preferences/System Monitor/System, at System Tools/System Profiler and Benchmark/Operating System, and every time you launch the terminal. To change it, enter the following into the terminal:
sudo old-name new-name .
If this doesn't work, then replace the old name with the new one in the files responsible for naming the computer: /etc/hostname and /etc/hosts.
To activate autologin, open (as root) /etc/lxdm/default.conf, /etc/lxdm/lxdm.conf, /etc/xdg/lxdm/lxdm.conf and edit # autologin= to autologin=user-name. Reboot.
| tlaunch.sh #! /bin/bash $@ /bin/bash |
| ispell.sh #! /bin/bash xdotool key super+t & sleep 1 xdotool key type ispell & sleep 1 xdotool key "Return" & fi |
Alternatively, apps like ispell can sometimes be launched from the menu by taking advantage of keyboard bindings and a small application named xdotool. See Section 17 for the route to editing and/or setting keybindings. For example, I like to program super+t to launch the main terminal (super is also called windows key). The small bash script in the table on the right will launch ispell without using xterm, and it will be set-up ready for your spelling guess.
To establish dual monitors with LXDE, install Arandr from Synaptics. Arandr can set-up placement, orientation and resolution (for each monitor). Before saving, set up the geometry of any horizontal panels. For a bottom panel across both monitors, align the bottoms of the displays; for a top panel, align the tops. A second horizontal panel can be only set-up on the display whose unaligned edge is outermost, since any extension onto the smaller display will be hidden. Otherwise, the horizontal placement and geometry in general can be achieved in the usual way, right click an open spot on the panel and choose Panel Settings (see Section 4). Clicking the save setting in Arandr will save the final template in ~/.screenlayout, for example, suppose it is named acer-dv6.sh. After each boot, acer-dv6.sh needs to be clicked to establish this monitor setting unless you put @~/.screenlayout/acer-dv6.sh in /etc/xdg/lxsession/LXDE/autostart, which should start it automatically. If it doesn't, then put an application desktop file (see Section 11 above) for it into the ~/.config/autostart directory (see Section 4 above).

If Arandr doesn't work, then install its near-clone Grandr. Grandr does not have the save tool, so a typical dual monitor shell command is illustrated on the left. If you build one of these and it does not work, then redo it changing the order of the monitors in the command. I speculate the laptop monitor data has to come first in the command for it to work.
To turn individual monitors on or off, use lxrandr. It is useful to have lxrandr in the panel or on the desktop of both monitors so that there is a visible control to turn on the monitor that is off. Alternatively, just add lxrandr to the openbox right click menu as described in section 3, and you have access to a switch regardless which monitor is off.
Having rotating wallpaper in dual monitors of different resolutions and in extended desktop mode is possible with a little prepatory work. The idea is to create wallpaper images that cover the extended desktop and consist of two images such that the image on the left centers on the left monitor and the image on the right centers on the right monitor. To illustrate the procedure, assume two monitors with resolutions 1280x1024 and 1920x1200, a rather extreme situation. Also, assume the monitors are alligned at the bottom (bottom panel scenario). First, create two wallpaper directories, one for images 1280x1024 and one for images 1920x1200. Follow the procedure described at the end of Section 5 above. Next, extend the images in the 1280x1024 directory to be 1280x1200 by putting a canvas behind them so that the image is at the bottom of the canvas. Put the image at the top if your monitor set-up is aligned at the top. Finally, use a simple photo editor like Faststone-Image-Viewer, mentioned in Section 10 above, to horizontally join images from the 1280x1200 folder to images from the 1920x1200 folder to create a third folder containing 3200x1200 images. This becomes the Wallpaper directory for the extended dual monitor desktop. Set the pcmanfm wallpaper setting (sudo pcmanfm --desktop-pref) to this directory and Center on the screen.
Sound problems will generally be corrected with the installation of pavucontrol. If pavucontrol (Sound and Video>PulseAudio Volume Control) doesn't immediately work, then check Synaptic to make sure pulseaudio, pulseaudio-utils and libgtk-3-0 are installed. With an audio player playing something that you know makes sound, simply try the available choices offered by PulseAudio Volume Control until your sound hopefully becomes functional.
Recording streaming audio (radio) was once easy using the universal what-you-hear is what- you-record setting on most recording software. Then the recording industry colluded with Microsoft and computer manufacturers to effectively eliminate that option. Recently I discovered that VLC player can save (record exactly) streaming audio and video, albeit, the set-up is rather hidden.
First, you will need the URL of the stream. One way to get it is to go to the station's website and play the audio output on VLC. Right Click the station title on the VLC playlist and select Information. Copy the station URL from the ensuing information. If there appears to be nothing in the URL box, run the cursor in highlite mode (left clicker held down) over the box. This will create a colored background so that the URL will show if it happens to be in white font, something that occasionally happens with VLC installs.


The procedure to set-up recording is as follows (see photos):
Sometimes, especially with older CD's, audio players cannot find where to go to play a CD audio. The file browser may show the audio in /Media/cdrom but the audio player won't play it, because the version it needs is in another directory. To find it with VLC player, first try the playlist skin of VLC (click the appropriate icon on the bottom of the regular VLC skin). Click Devices>Discs. If CD is on the list, right click it and choose "play". If it isn't there, then go back to the regular VLC skin and follow the path Media>Open Disc. Check "Audio CD" and choose a track other than 0. Then, click the drop-down arrow associated with "Disc devise" and choose one of the listed directories and then click "play." Repeat until you find the directory containing the CD audio. The most likely candidate is /dev/sr0, so try it first. This will only play the chosen track. If you want to play without interruption the complete CD, then go back to playlist>Devices>Discs. The CD should be now on the list.
Sound Juicer is an excellent Linux app for ripping CD audio. Not so well known is that it is also an excellent CD audio player that seems to be able to always find the audio.
Computer alert sounds can be turned off by changing the two iNet entries in ~/.config/lxsession/LXDE/desktop.conf from 1 to 0. In this address, LXDE may be replaced by the operating system name.
WICD is an alternate network control to Preferences>Network Connections. Once installed, it should appear on the Menu in the Internet category from which it can be put on a Panel.
If there is a problem getting a wireless connection to the Internet, then you may have to install additional firmware. First, however, check to make sure the wireless switch that exists on most laptops is open. The switch is often well hidden enough to be missed. It is usually somewhere along the front edge or somewhere above the keyboard. Firmware depends upon the network card. Put
lspci | grep -i ethernet
into the terminal to identify your network card. Then use Synaptic to install firmwares that most closely matches your network card name. A good choice to try are the packages firmware-b43-installer and b43-fwcutter, and uninstalling bcmwl-kernal-source if necessary. You can also download b43.zip from this website by putting the following into the terminal:
wget http://lxlinux.com/b43.zip.
Extract b43 from b43.zip and move it to /lib/firmware, and finish the procedure by entering the following into the terminal:
sudo modprobe -v b43.
To share a printer attached to your Linux computer on a network, go to Preferences/Printing and right click the attached printer, which should be identified there with an arrow in a green circle. Then click Properties/Policies and be sure Enabled, Accepting jobs, Shared are checked (enabled). Now go to Preferences/Printing/Server/Settings and be sure Publish shared printers connected to this system is checked, and whatever else is appropriate for your needs. For additional help see strangebutfunny.
Files between computers on a home network can be easily shared by using samba. Computers with LXDE desktops probabily already have samba-common installed. This is sufficient to receive and give files to any computer that is connected to the network and has samba installed, but apparently does not exchange with computers that have only samba-common. The file browser is generally the tool constructed to find foreign files. In pcmanfm, click Go>Network Drives to find other directories and USB storage devices connected to the network hub.
(1) On computers who have files that you want to share to another computer, install samba using synaptic, or
sudo apt-get install samba.
(2) Create a password for the user, for example, for a user named me:
sudo smbpasswd -a me,
and follow the prompts.
(3) Make a directory named public in your home directory (~/public).
(4) As root, edit the file /etc/samba/smb.conf by adding exactly (copy and paste) the following to the very end of the file:
[public]
path = ~/public
available = yes
valid users = me
read only = no
browsable = yes
public = yes
writable = yes
(5) Other Linux computers should now be able to locate ~/public by using the Network entry in their file browser's tool bar, or by putting into the file browser's address bar the following:
smb://server-name/public,
where server-name is the name of the server computer (name after @ in terminal greeting).
(6) If the above does not work for you, then install gvfs and gvfs-backends (in particular, gvfs-smb):
sudo apt-get install gvfs gvfs-backends,
which hopefully will take care of any mounting problems.
(7) My experience with Windows operating systems barely extends beyond XP. So keep that in mind here. You should be able to find the linux directory set up by samba by right clicking the Windows computer icon and setting up a network path to ~/public.
To recognize a public folder on Windows, open the folder with Explorer, click the "Share with" tool bar entry (probably left side) to get a Setting menu. Select to share with everyone offered. On the Linux computer Pcmanfm should be able to now find this folder in the usual way.
To add the functionality of multiple keyboards, first add (as root) to /etc/xdg/lxsession/LXDE/autostart your language choices, for example, for US and French, add
@setxkbmap -layout "us,fr".
The first entry (us in the example) will be the default. The two letter country codes are listed in /usr/share/X11/xkb/symbols. Washington State University has a nice website with images of many keyboards. Just do a website search for the desired keyboard. Next, right click a panel and add Keyboard Layout Switcher (see Section 4). The flag of the default keyboard country will appear on the panel. When clicked the keyboard will change and the icon should display a new flag. Finally, check /etc/default/keyboard to make sure it reads (in the example of us,fr choice):
XBKLAYOUT="us,fr"
XBKVARiant="nodeadkeys".
Keybindings are set, and can be, thus, edited in the rc.xml or lxde-rc.xml files contained in the 3 openbox directories listed in Section 3 above.
| touchpad.sh #! /bin/bash synclient MinSpeed=0.4 MaxSpeed=0.75 fi |
At this time, May, 2013, see remastersys for new developments.
Ubuntu has a cool tool called Remastersys which can make a .iso image of any operating system which is based upon a Ubuntu distribution. For installing Remastersys on a pure Debian system (no Ubuntu layer between Debian and the system), see Remastersys for Debian. The iso can be burnt on a DVD, or put on a flash drive, and from there be used to install the operating system. So when I get an operating system that I like and it is completely tuned-up, loaded with the apps and controls that I like, and has all the stuff that I don't like removed, I usually make one of these .iso images to use to do a reinstall, if needed, or to do a new tuned-up install on a new computer. First, check the Preferences category of your Main Menu or Synaptics to see if you have Remastersys installed or if it is in the Synaptics Repository. If the answer is "no" to both of these questions, then the proper outside repository has to be added. Go to Synaptic>Repository>New and enter the following PPA in the Add box:
deb http://www.remastersys.com/ubuntu/ precise main.
Replace precise with oneiric, natty, maverick, or lucid, whichever is the base for your operating system that you want to copy. Click Add Source, and close Synaptic. To get the remastersys key, enter the following command in the terminal:
wget -O - http://www.remastersys.com/ubuntu/remastersys.gpg.key | sudo apt-key add
sudo apt-get update.
Next, open /etc/apt/sources.list with a text editor and confirm the above URL-address is listed without a # symbol prefix. If # is present, reopen the file as root and delete it. Go back to Synaptic and Reload. Remastersys and remastersys-gui should now be listed to install in the usual manner. After they are installed, launch remastersys from where ever it is placed in the Main Menu (usually Preferences), and click Backup to make a copy of your total operating system. It will appear as custom-backup.iso in /home/remastersys/remastersys. If you have trouble with the GUI functioning, then launch remastersys by entering the following in the terminal:
sudo remastersys backup custom.iso.
Finish by burning custom-backup.iso to a DVD to have a new installation disk that can be used to run or install your system on any computer. To launch the disk installer, Before you run remastersys, clean your system of trash, temporary files, cookies, music, videos, movies, etc. The .iso must be under about 4.7 GB to fit on a standard DVD.
To start the installer of a remastered copy of a system, put the following in the terminal after the copy has been loaded:
sudo remastersys-installer gui.
The weights given below for the apps are, of course, just indicators. What these would actually be depends upon the operating system and dependancies already installed. A user can determine this weight by using Synaptics. Just before the last step in the install or removal operation, Synaptics shows the gain or loss from that operation for your system.
Ubuntu offers a special 4 GB distribution called Artistx which includes an LXDE desktop and just about every useful Linux application that exists. The main merit of Artistx (run directly from the install disk) is as a tool to investigate an application without being required to actually install the application on your working system. This eliminates the install-dislike-remove procedure necessary otherwise.
Installing lightdm without the fancy backgrounds available for the few seconds logging-in saves 13,962 kg: sudo apt-get install --no-install-recommends lightdm.
To get a fortune to appear in terminal, edit (as root) /etc/bash.bashrc to include the word fortune at the end (just before fin).
GParted, which can be installed via synaptics, can be used to change the name of drives. It requires the drive to be first unmounted, which usually can be accomplish using GParted. However, I had one drive, formatted ntfs, that resisted being unmounted by GParted, or any of the other means that I knew. I finally got it unmounted by using another tool, NTFS Configuration Tool, installed via Synaptics. When unplugging a USB connected external storage with the computer running, it should always be first unmounted. This can be most quickly accomplished by right clicking the drive's name in the Pcmanfm's mounted storage list in the left column, and clicking unmount.
To do a simple install of an alien Linux application without a PPA, first find and download the application. Your success after that will depend upon the type of package. To install a package.deb, where package is the name of the application, first try right clicking it and selecting GDebi. If that doesn't work, put it in your home directory and enter the following command into the terminal:
sudo dpkg -i package.deb
which should work provided dpkg installer, is installed. To install a package.rpm, use:
sudo alien -i package.rpm
which should work provided alien is installed. Also, you can use
sudo alien -d package.rpm
which changes the .rpm package (works as well for .tgz, .txz, .tlz and .tbz packages) to a .deb package, which can be then possibly installed with GDebi or dpkg. If a package is not compatible with your system, don't worry, because it will not install.
If inxi isn't in Synaptics, then you can install it by first running the following command in the terminal:
sudo wget ftp://cathbard.com/binary/inxi*.deb.
Now find (probably in your home folder) inxi_[...]_all.deb, and use gdebi to install. Run inxi -F in terminal to get a list of your important computer components.
To stop a service from runing on your computer, enter the following into the terminal:
sudo update-rc.d bluetooth remove,
where bluetooth is the name of the service. To restart, forexample, bluetooth,
sudo update-rc.d bluetooth defaults.
To get the exact names of the processes on your computer, install the little tool rcconf, and run sudo rcconf in the terminal.
| /etc | System configuration files |
| /media | Mounted removable media such as external hard drives, pendrives, etc |
| /tmp | Temporary files, usually not preserved between boots |
| /etc/apt/sources | Repository sources list - remove # before name to add. |
| /etc/skel/.config | Contains old configuration files. |
| /etc/timezone | Shows timezone clock set to |
| /etc/xdg/autostart | Secondary autostart |
| /etc/xdg/lxsession/ | Path to autostart |
| /etc/xdg/menus | Category files for Main Menu |
| /etc/xdg/NetworkManager | Configure file for network manager |
| /usr/bin | Exec files |
| /usr/local/share/applications | .desktop files |
| /usr/share/applications | .desktop files |
| /usr/share/app-install, backgrounds, icons, lxde, lxpanel, piximaps | Pictures (wallpaper, icons, etc) |
| /usr/share/fonts | Fonts directory |
| /usr/share/xscreensaver/config | screensaver storage directory |
| /usr/share/xsessions | .desktop Directory for Display Manager log-in choices |
| ~/.config/autostart | Primary autostart files |
| ~/.config/openbox/lubuntu-rc.xml | Edit Keybindings, Fonts, Mouse Controls |
| ~/.config/user-dirs.dirs | Edit directories in your home directory - especially important for re-establishing system directories like Desktop. |
| ~/.config/xyz/... | first place to check when xyz is misbehaving |
| ~/.local/share/applications | More .desktop files for some 'open with apps' that appear when right clicking file - delete duplicates |
| ~/.local/share/Trash | Trash directory |
| ~/.wine/drive_c/Program Files | Wine program directory |
| Synaptic Package Manager/xyz/Package/Properties | Dependencies, Installed Files, Versions and Description of xyz. |
In my opinion the easiest way to share files between computers in a simple home network is by using an ftp transporter. To exchange files you need a server (file source) and a client (file receiver). Either or both can be installed on any computer. My favorite Linux ftp client is Filezilla, which is very fast and reliable. I like vsftpd as my server program.
(1) Install vsftpd on your server computers and filezilla (or equivalent ftp client) on your client computers.
(2) On your servers, configure /etc/vsftpd.conf by simply erasing, as root, the pound sign (#) before the processes that you want enabled. I enable:
local_enable=yes
write_enable=yes.
(3) Reboot, or simply reload vsftpd:
sudo /etc/init.d/vsftpd restart .
(4) For a client to receive files, the address of the server is needed for the client's ftp program (filezilla). To get the addresses associated with a server (computer) put the following in the terminal of the server computer:
sudo ifconfig -a.
If your system is wireless, then the address you want is the wlan (or wlan0, wlan1, ...) inet addr. It will look something like 192.122.1.37. If you are on a wired system, it is probably the lo inet addr that you want, and it will be a similar expression.
(5) On the client computers configure the ftp transporter (Filezilla) as follows:
Host: Address found in (4).
Username: Name you use to boot into the server.
Password: Password you use to boot into the server.
Port: "Ignore".
Click the quickconnect or connect button. The files in the server should appear in the ftp's server domain.
(6) If above is unsuccessful, the likely culprit is the firewall on the server. To disable it: sudo ufw disable. Retry (5). If now successful, then reconfigure the server's firewall to allow messages from the client's address, or just leave the firewall off.
Top