1. Introduction 2. Web Browsers & File Browser
3. Desktop & Screensavers 4. Panels & Autostart
5. Wallpaper, Rotator & Wallpaper Geometry 6. Installing Handbrake
7. Installing Oracle-Java 8. Installing Lxmed & Lxmenuman
9. Menu Categories & MyStuff 10. Wine, Wine Programs and Skype
11. Desktop and Panel Links, Bash Script Launchers 12. Autologin, Password and Name Changes
13. Xdotool & Launching Terminal Apps 14. Dual Monitors
15. Sound & Recording, VLC & Streamtastic 16. Network Sharing, Printers & Wireless
17. Samba Home Network Sharing 18. Setting Up an FTP Home Computer Network
19. Keyboards, Keybindings & Touchpad 20. Spliters, Joiners, Converters and PDF Editing
21. Preferred Applications & Installation Tips 22. Java Based Apps
23. Some Important Places 24. Some Commands by Example

1. Introduction

Beginner's Guide
Favorites Sparky Linux
Debian LXDE
Wallpaper Changer
Manjaro Linux
Arachnophilia HTML
Araneae HTML Editor
FastStone Image Editor
MyStuff Menu
Openbox Menu
Openbox Dock
PhotoFiltre Editor
Tint2 Panel
Wbar Dock
LXDE stands for Lightweight X11 Desktop Environment, and its main component is the Openbox Window Manager. They are by design a lightweight, no frills, computer-friendly, user-friendly general desktop control system for a variety of operating system. They are 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 just Openbox 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. See the chart on the right for a recent 2013 memory useage comparison test for the main Linux desktops and window managers.

The core LXDE system consists of only 6 packages (sudo apt-get install lxde-core):

In addition to lxde-core, most stock lxde linux distributions come with some, if not all, of the following 14 applications:

These, along with lxde-core, can be installed by installing the lxde meta package: (sudo apt-get install lxde). Once installed the lxde meta-box can be removed without disturbing any of the applications: (sudo apt-get remove lxde). Each package is designed to perform a special function and is essentially independent of the other packages, which makes configuring, removing, re-installing and substituting very easy. The only component really sacred to having in effect an lxde-desktop is the Openbox window manager. So, any of the other components can be replaced by corresponding components from other desktops, or just removed without disrupting much. This is the great beauty of an LXDE-Openbox distribution. A user can add, subtract, combine, experiment with different packages without drastically messing up the system. I usually install a basic openbox distribution like Sparky Linux Base or Crunchbang, and then build on that to get exactly what I like, without having to remove a lot of things that I don't like. See Favorites Sparky Linux. If you already have installed a Debian based distribution (like Ubuntu, Mint, Crunchbang, etc) and your desire is to have all the lxde core components, then you can download and install directly with gdebi or dpkg the appropriate Debian lxde-core package (wheezy, jessie, sid). After lxde-core is installed, 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. If dpkg is installed, then you can find out if a given application, say appxyz is installed by running the following in the terminal:

   dpkg -s appxyz.

The chain of command in an LXDE desktop is the display manager starts the session manager, and then the session manager starts the windows manager and panel: lxdm>lxsession>(openbox + lxpanel). All of this is done according to a well specified and widely implemented standard protocol. The main function of this website is to compile in one place all the tools and tricks that have crossed my path since I switched from Windows to Linux-Openbox-LXDE several years ago. We will also try to describe in simple language how the pieces work.


2. Web Browsers & File Browser

The Linux internet browser situation has recently (2014-15) got complicated with the advent of several new, modern, fast browsers, and the inability of the old, classical browsers like firefox and iceweasel to adapt to new changes, especially with regard to playing flash videos. One categorization of browsers is by their rendering engine. There are many rendering or display engines, but 3 stand out for Linux systems: gecko, webkit or qtwebkit, and blink. Some of the modern browsers associated with each of these engines are the following:

Experts seem to think that the blink engine, if not weighted down with too many add-ons, is the fastest. Browser preference is often a matter of personal taste; my preference is based upon workability, stability and speed. So I use maxthon and slimjet.

For add-ons (extensions - not all are free) to blink driven browsers, visit the Google webstore. To correct the narrow scrollbar in some versions, consider the "zig-scroll-bar-pure-css" extension.

Qupzilla and Slimboat are fast QtWebKit browsers, which means that they are a good choice if you already have at least part of the qt-platform installed. They generally require about 50 MiB of Qt-libraries to install on the average Debian-based platform, which is not that heavy for a good browser.

Pcmanfm (1.2.0+) has been greatly improved in the last year and is definitely my file manager of choice. To configure Pcmanfm, go to Edit>Preferences and make your choices. Some useful pcmanfm features and constructs:

If Pcmanfm isn't performing perfectly, he can be relaunched by putting the following in the terminal:   pcmanfm --desktop --profile=LXDE.   See Section 5 below for information on using or not using pcmanfm to control wallpaper.


3. Desktop

There are 3 installed GUI's (Graphical User Interfaces) for customizing the desktop, excluding panels and wallpaper: Recommended customizations:

Now, the right-click-an-empty-spot brings up a new, small application menu, the Openbox Menu (see photo on the right, which is after an edit. To really get a useful Openbox Menu, you will need to reconfigure ~/.config/openbox/menu.xml. Be sure to save a copy of the original version in case you have to return to it. Put all the applications and sub-menus that you want in your new menu.xml. Enter applications according to the pattern in the picture on the upper-left. Put the icons of .png type associated with your apps into /usr/share/icons and make those addresses the icon enties. For an expanded discussion of the Openbox Root Menu and associated sub-menus, see Openbox Menu. When finished, put the modified menu.xml into    ~/.config/openbox    and make sure you ("me") own it and it is executable:

   sudo chown me ~/.config/openbox/menu.xml      sudo chmod a+x ~/.config/openbox/menu.xml .

After you are sure your configured menu works, you can replace /etc/xdg/openbox/menu.xml with it to have it apply to all users.

Next, edit, if necessary, the rc.xml or lxde-rc.xml, whichever is present, in ~/.config/openbox/ so that the line following <menu> is


While the rc.xml or lxde-rc.xml are open, edit their keybinding parts as illustrated by the picture on the left. Keybindings can be created for at least 52 applications from just the "W-x" and "A-x" combinations, where x is any of the 26 letters in the alphabet, W symbolizes the super key and A symbolizes the alt key.

Use icons of the .png type as .svg icons don't always 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. Also, I usually install and use the delta-icon-theme to add a little color to my home directory and directory folders in general.

Once I create a menu.xml (and rc.xml) I save it on an external drive so it is always available to quickly replace the ones in a new install. See Openbox Menu for an expanded discussion about the Openbox Menu and an expanded template of menu.xml showing all the useful things that can be included.

There are 3 files associated with each screensaver:

   .desktop file    |   in /usr/share/applications/screensavers/
   .xml file           |    in /usr/share/xscreensaver/config/
   exec file          |    in /usr/lib/xscreensaver/.

A good space saver is to remove (as root) these 3 files for each screensaver that you do not like, which will be probably almost all of those in a typical LXDE installation. The exec file is the heavy part. A screensaver set with more screensavers to my liking is xscreensaver-data-extra. After I install this set and any other set that may have something in it that I like, I go to a menu (Preferences>Screensavers) and view and record the ones I like, which is probably less than 10% of the total. I then drag (as root) the execs of my favorites to an empty directory, say ~/temp, after which I delete the total contents of the exec screensaver directory:

   sudo rm -r /usr/lib/xscreensaver/*.

Then I move my favorites back:

   sudo mv ~/temp/* /usr/lib/xscreensaver/.

Now, screensaver viewing is always an enjoyable experience. You can do the same with the desktop and xml directories identified above, but so little space is gained that it is not really worth the bother. Top

4. Panels & Autostart

Right click anywhere on an open space in an lxpanel (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 launcher in the panel. 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.

Occassionally people have had the lxpanel misbehave (freeze, disappear, ...), especially when compiz is installed and multiple instances of libre office are open. In such instances, lxpanel can be generally relaunched by putting the following into the terminal:

   lxpanelctl restart,

or by recalling it with a keyboard combination, provided you set that up as described above. A third remedy can be constructed by adding a lxpanel launcher to the Openbox menu as described in Section 3 above. Use

   <execute>lxpanelctl restart</execute>.

Another reasonable solution to a misbehaving lxpanel is to replace it with another panel. There exist a variety of lightweight panels that work well in an Openbox desktop. Two of my favorites are tint2 ((1011 kb) and fbpanel (570 kb). The first image below is a tint2 panel and the second one is an fbpanel. See the page links for more information on these panels.

xfce4-tint2 panel

Autostart files in an LXDE desktop and/or Openbox can be located in at least 5 places, depending upon the distro. These are


The first three are text files that are edited by adding text according to some format, and the last two are directories containing .desktop files for the processes that are to be started. If the lxde-core desktop is installed, then the lxde-autostart usually takes precedence in the command order, although I would guess all of them are searched at boot-up. The two autostart files in the user's home directory (~/) only apply to that user; the 3 in the etc directory apply to all users.


5. Wallpaper, Rotator & Wallpaper Geometry

In a traditional set-up wallpaper can be changed by terminal launching a wallpaper GUI:

   pcmanfm --desktop-pref,

or by directly editing the .conf files in ~/.config/pcmanfm/LXDE/. The default wallpaper folders depend upon the distribution and are generally /usr/share/backgrounds or /usr/share/lxde/wallpapers.

Any image of a decent size (resolution) can be used as wallpaper. 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, without stretching at least one of the dimensions, 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.

It is nice to have an easy way to change the wallpaper, or to have it automatically change on a set time interval. Pcmanfm is not built to change individual wallpapers on multiple monitors, and is not always reliable as a tool in rotation scripts. There are several ways and better tools in the Linux world for handling wallpaper. My favorite is to use a lightweight program named nitrogen (See the image on the upper-right.). If you have two monitors, nitrogen has the ability to put different images on each monitor - images from any folder on your computer. Or if an image is appropriate, for example, a panorama or joined-pair, it can be set-up across both monitors. The images displayed in the nitrogen illustration are for the "Full Screen" in an extended desktop set-up. See Section 14 below for the tecnicalities of setting up dual monitors as an extended desktop.

If you have lxsession (part of the lxde desktop) installed, then you probably have to edit it's autostart file, ~/.config/lxsession/LXDE/autostart, so that the line starting with "pcmanfm" is replaced by the following two lines:

    @pcmanfm --desktop-off --profile LXDE
    @ nitrogen --restore.

This passes the wallpaper control from pcmanfm to nitrogen.

#! /bin/bash

ALIST=( `ls -w1 $WALLPAPERS` )
let "number = $RANDOM"
let LASTNUM="`cat $WALLPAPERS/.last` + $number"
let "number = $LASTNUM % $RANGE"
echo $number > $WALLPAPERS/.last
nitrogen --set-scaled --save $WALLPAPERS/${ALIST[$number]}
Nitrogen can be also used to create a simple changer and/or an automatic rotator. Copy and paste the script in the box on the right into your text editor, name it, and save it to any sub-directory, say ~/bin, of your home directory. Be sure it is executable (right-click>Properties>Permissions>Access content>"choose appropriately"). Anytime you want to change wallpaper, execute this file by left clicking it. It will randomly choose an image from the directory designated in the file (~/wallpapers) as your new wallpaper. If you have a Conky installed, then add the line

   ${execi 240 ~/bin/}

anywhere in the text part of ~/.conkyrc. Conky will then rotate your wallpaper every 240 seconds. You can change the 240 number to any number (of seconds) that you desire.


6. Installing Handbrake

sudo dpkg -i deb-multimedia-keyring_2014.2_all.deb
sudo apt-get install debian-multimedia-keyring
sudo apt-get update
sudo apt-get install handbrake-gtk


7. Installing Oracle-Java

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. Arachnophilia HTML Editor, jEdit text editor, for programmers or beginners, and Vuse, a bittorrent, to name a few, are all good, free java applications that run on any Linux system with java.

To install Oracle Java, first go to Oracle and determine the number of the latest version, suppose it is Java8. Then, use root terminal to carry out each of the following commands in sequence:

   echo "deb precise main" | tee -a /etc/apt/sources.list
   echo "deb-src precise main" | tee -a /etc/apt/sources.list
   apt-key adv --keyserver --recv-keys EEA14886
   apt-get update
   apt-get install oracle-java8-installer
   apt-get install oracle-java8-set-default

If the above recipe doesn't work, then go to the Oracle Website and download the appropriate tarball version (32-bit or 64-bit) of JDK for Linux. Suppose you have downloaded jdk-8u31-linux-x64.tar.gz to your Downloads directory. Open it by putting into the terminal:

    tar -xvf ~/Downloads/jdk-8u31-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.8.0_31. Next:

   sudo apt-get install build-essential
   sudo mkdir -p /usr/lib/jvm/jdk1.8.0
   sudo mv jdk1.8.0_31/* /usr/lib/jvm/jdk1.8.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.8.0/bin/java" 1
   sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/lib/jvm/jdk1.8.0/bin/javac" 1
    sudo update-alternatives --install "/usr/bin/javaws" "javaws" "/usr/lib/jvm/jdk1.8.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.8.0/jre/lib/amd64/ ~/.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


8. Installing Lxmed & Lxmenuman

Download lxmed-20110717.tar.gz from sourceforge to your Downloads directory. This is a tarball, a compactification of something else, in this case, the lxmed installer. A program for installing a tarball will be usually in the package as a text file with a name that includes install or read me. Some may come with all the files already built and installation simply requires moving these files to the appropriate directory in your computer. This is the case here. Lxmed installation recipe:

    cd Downloads/lxmed
    sudo apt-get install build-essential
    sudo mkdir -v /opt/lxmed
    sudo cp -v content/lxmed /usr/bin
    sudo chmod -v +x /usr/bin/lxmed
    sudo cp -v content/LXMenuEditor.jar /opt/lxmed
    sudo cp -v content/ /opt/lxmed
    sudo chmod -v +x /opt/lxmed/
    sudo cp -v content/lxmed.png /opt/lxmed
    sudo cp -v content/lxmed.desktop /usr/share/applications.
xdotool key "super+t" &
sleep 1
xdotool key type "cd ~/bin/LXMenuMan_1.0.2" &
sleep 1
xdotool key "Return" &
sleep 1
xdotool key type "sudo ./lxmenuman" &
sleep 1
xdotool key "Return" &
sleep 1
xdotool key type "password" &
sleep 1
xdotool key "Return" &
A GUI menu editor should now be present: Preferences/Main Menu Editor. Lxmed is a java program and requires a good Java software like Oracle Java to run successfully. The Oracle Java installed in Section 7 may not be on the Main Menu. It is a good idea to have a Java launcher there. Therefore, use lxmed (Main Menu Editor) to put Java on the menu. Use as exec, but first confirm that this is the correct path to javaws in your computer, the following:


For those who do not want to install a java program, a lightweight menu editor is available from lxmenuman. Simply download the latest tarball version and extract it to ~/bin. Everything is included in the extraction. Launch lxmenuman by putting

   cd ~/bin/LXMenuMan_1.0.2 && sudo ./lxmenuman

into the terminal, or by putting the shell script shown on the left in ~/bin and using it as a command (execute) in an Openbox Menu entry or .desktop file (see Section 11 below). This script requires that the little tool, xdotool, be installed, that you replace password in the script with your password and that you repace super+t in the script with the keyboard combination that launches your terminal. See Section 13 for more information about xdotool.


9. Menu Categories & MyStuff

Items in the main Lxmenu are controlled by two different processes. The menu category part ("Accessories" thru "Preferences") is determined by the lxde-applications menu (/etc/xdg/menus/ The part below "Preferences" is determined by lxpanel (~/.config/lxpanel/default/panels/panel).

To illustrate how to edit the former, suppose a new category named Favorites is desired. Proceed as follows:

Additional applications should appear by simply editing their .desktop files regardless which directory contain them. If they do not show after a reboot, then put copies in all three directories.


To put launchers below Preferences, open up the correct ~/.config/lxpanel/default/panels/panel and place a section immediately below or above the "run" entry designed exactly according to the following guide:

    item {

The upper image on the right illustrates a menu where qupzilla, logout and shutdown have been added as follows:

Plugin {
   type = menu
   Config {
      system {
      separator {
      item {
      item {
      item {
         action=semplice-logout --logout
      item {
         action=semplice-logout --shutdown

Kornelix has created a very useful secondary menu tool called mystuff. Download and install myStuff-1.8-x86_64.deb (or the 32-bit) and follow the directions. Set it up with whatever apps appeal to you, put links where ever you like, for example, panel, openbox menu, main menu, desktop, etc. The image on the lower right is one of my "favorites" menus. To just display an icon - no text - put the cursor on the menu text line and press the tab key to make the menu think you have entered something.

10. Wine, Wine Programs and Skype

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.

  [Desktop Entry]
Name=Wine Windows Program Loader
Exec=wine start /unix %f
If it does not, then install i386:

    sudo dpkg --add-architecture i386
    sudo apt-get update .

To install wine:

   sudo apt-get install wine
   wine path-to-app.exe .

The last step is simply an attempt to launch a wine app. The first such attempt should trigger an automatic mechanism that will download the necessary tools to configure wine and place a hidden file, ".wine", in your home folder. If there is an issue with freetype fonts, then precede this step with

sudo apt-get install libpng12-0:i386 libfreetype6:i386.

If there are bigger issues, try

   sudo apt-get install wine-bin:i386.

You will probably want to install the mscorefonts-installer:

   sudo apt-get install ttf-mscorefonts-installer .

To get Wine Windows Program Loader to show in the menus, you may have to build a wine.desktop file as in the box on the upper right. Put copies of wine.desktop into /usr/share/applications and ~/.local/share/applications.

To install Skype, given that the dual architecture is already installed, as outlined above, simply follow the instructions given at debian skype wiki:

   wget -O skype-install.deb
   sudo dpkg -i skype-install.deb
   sudo apt-get --no-remove -f install,

which will hopefully fix any errors.

Sometimes getting skype audio to function requires changing the pulse latency from 60, or whatever it defaults to, to 30. In your menus and in /usr/share/applications/skype.desktop, change the exec so that exec=env PULSE_LATENCY_MSEC=30 skype %U. You can also launch skype by putting this exec into "run" or the root terminal. Then, if required, use pulse audio (pavucontrol) to configure skype sound. After this skype launched from a menu in the usual way should have sound.

As I have already mentioned, I use the directory ~/bin, for Wine programs 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    PDF-XChange Viewer    Speedcrunch Calculator.

To get more information about PhotoFiltre and directions for installing it, see Lxlinux-PhotoFiltre. To install Faststone Image Viewer, create a folder named faststone in ~/bin, and then download the portable .zip version and simply extract its contents into ~/bin/faststone. All the files to run Faststone are present and so no further installation is required. For non-professionals, the Faststone-PhotoFiltre combination is hard to beat. Open a photo in Faststone, use the Faststone tools, which are substantial, to improve it, and if you want more, then in two clicks you can open the photo in PhotoFiltre via the Faststone "Edit with External Program" tool. See the image below.

For the applications just mentioned, use ("command")

   Exec=wine /home/me/bin/PhotoFiltre/PhotoFiltrePortable.exe
   Exec=wine /home/me/bin/FSViewer52/FSViewer.exe

appropriately edited to give your addresses to the .exe's, if not set up the same as mine. Here, me symbolizes the name of your home directory.

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. Use lxmed to put your Wine applications in the Main Menu, from which you can link them to all your panels and menus; or just create a .desktop file in /usr/share/applications for each app (see Section 11 below).

PortableApps offers a special platform for downloading, installing and launching many free portable wine apps. Last time that I looked they listed over 600 apps, some very good and a lot of junk. Only apps tested to work with Wine are on their list. The image on the right shows a list of about 1/30th of the available apps. Installing an app involves just highlighting its name and clicking next. Of course, you must first download and install the platform, which is also simple to do. The installer will ask where you want to put the platform. I use ~/bin in my home folder, which puts everything in a directory there named PortableApps which occupies about 8.8 MiB disk space.

pa    appslist

Installed apps can be launched by first launching PortableAppsPlatform.exe, which launches the box pictured on the left. Then click apps followed by clicking the name of the desired app in the ensuing list. It will launch in the blink of an eye. Or you can just set-up a launcher in your menu(s), using as exec, wine pointing to the .exe of the app. If you do not like an app, then just delete its directory in ~/bin/PortableApps. So it is no big deal to try (install), and then reject (remove) an app. My favorite photo-editor, PhotoFiltre, as well as wine versions of many Linux apps, for example, Qupzilla, Libre Office, Firefox, etc, are on the PorableApps list. If you find a portable app, like Faststone Image Viewer, not in the PA-bin and it tests out to work with wine, you can put it's directory in ~/bin/PortalApps, and PortalApps will automatically put it on its launch list. I have not found any difference in speed between installing an app as a Linux app or as a Wine Portable. Portable apps do have the advantage of "portability". Put them on a small usb-drive and carry them in your pocket. If you do not want to install the actual PortableAppsPlatform, and it is just a convenience, not a necessity, then the Portable Apps Website is still the best place to find the latest updates for your portable apps. Just download the latest version and use it to replace the old version.

11. Desktop and Panel Links, Bash Script Launchers

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 can be set-up. For example, 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. In general, .desktop files are one of the primary tools to configure LXDE or Openbox desktops. Not only are they the key to putting shortcuts on the desktop and in panels and menus, they hold the key to choosing icons, launching apps as an ordinary user or as root, launching apps in new windows or on the tab of a launched window, and what files are launched automatically at start-up. Somewhere in this guide are examples illustrating how to do each of these things.

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:

The difference between application and link desktop files is that one has an exec command and the other an url command.

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 echo $PATH into the terminal. The advantage of being on the path is that the exec for such an item is simply its name; the path to the exec does not have to be specified.

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.

mint gnome-like menu
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 lxde-guide.desktop 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 sure that you own it. The xkill.desktop 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.

[Desktop Entry]
Exec=pcmanfm menu://applications/
Desktop links to directories, computer, trash, main menu, any place opened by pcmanfm can be created by putting a .desktop file in ~/Desktop with

   exec=pcmanfm address-in-pcmanfm-address-bar-when-place-is-open.

For example, the pcmenu.desktop file on the left will create a desktop link (the icon labeled MENU in the picture) to the Pcmanfm Applications Menu pictured on the right.

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 below. The one labeled will simutaneously launch the applications gwrite and abiword. In general, just use any text editor to put the launch code, which is the exec=... in the desktop file for the application, into the script for the application group that you are creating, like in the example. Make sure your script is executable, that you own it and save it wherever you like - I use ~/bin, which automatically gives me ownership. Now create an application desktop file as described above, using exec=/home/me/bin/, where me symbolizes your home directory name. From there you are on the way to a desktop and/or a panel link.

The procedure is almost the same for grouping a set of internet links. The image labeled 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. If you want the next email to open only after the previous one has been closed, replace & by &&, and remove sleep 2. Use this script as a template for your situation, and from it create an application desktop file to put email in the Menu or on the desktop or taskbar in the usual manner.

The 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=/home/me/bin/ 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 /home/me/Desktop.

However, in this case, the desktop icon is just the standard, dull folder icon with the name freeagnt underneath.


12. Autologin, Password and Name Changes

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 for a user roger when lxdm is the display manager, open (as root) /etc/lxdm/default.conf, /etc/lxdm/lxdm.conf, /etc/xdg/lxdm/lxdm.conf and edit
   # autologin= to autologin=roger.
To activate autologin when slim is the display manager, open (as root) /etc/slim.conf, change the lines
   # default_user simone    to    default_user roger
   # auto_login no    to    auto_login yes
To activate autologin when lightdm is the display manager, open (as root) /etc/lightdm/lightdm.conf, uncomment (delete "#") and change the appropriate lines in "session-wrapper" to:

If not already present and if you have other users, you may wish to add (as root) in each of these cases an autologin group:
   groupadd autologin.
Then add roger as a member:
   adduser roger autologin.


13. Xdotool & Launching Terminal Apps
#! /bin/bash
xdotool key "super+t" &
sleep 1
xdotool key type "sudo shutdown -h 0" &
sleep 1
xdotool key "Return" &
sleep 1
xdotool key type "password" &
sleep 1
xdotool key "Return" &
#! /bin/bash
xdotool key "super+t" &
sleep 1
xdotool key type "ispell" &
sleep 1
xdotool key "Return" &
#! /bin/bash
Applications or commands launched in the terminal without the aid of a browser or special program can be put on the Menus with the aid of a special lightweight tool called xdotool, which lets the user programatically (or manually) simulate keyboard input. For example, the spell helper ispell launches in the terminal by simply typing ispell in the terminal and clicking enter (Return) on the keyboard. The shell script, shown in the box on the right, put in ~/bin, made excutable and put in the Menus or linked to the desktop will perform the same function with a single click. Here, xdotool key "super+t" launches the terminal (my keybinding to launch terminal), xdotool key type "ispell" types "ispell" into the terminal and xdotool key "Return" effectively strikes the enter or return key. The application inxi can be launched with a similar script with xdotool key type "inxi -F", and it would appear this formula for creating shell launchers will work for any app launched in the terminal. For example, to create a pure shutdown button, create the launch script in the box on the left. For a slightly more complicated example, see in Section 8.

A second recipe for putting terminal apps on a menu is to use the shell script shown in the first box on the right. If is stored in ~/bin, then to put ispell, for example, in the openbox menu, use:

   <execute>lxterminal -e ~/bin/ "ispell"</execute>.

To put it in the lxde menu, creat a .desktop file using exec=lxterminal -e ~/bin/ "ispell".


14. Dual Monitors


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 as in the image on the right; 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. For an lxpanel, 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 After each boot, needs to be clicked to establish this monitor setting. This manual operation can be avoided if you 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 preparatory 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 correctly join the images horizontally, they have to be of the same height. To illustrate the procedure, assume two monitors with resolutions 1680x1050 and 1440x900. Also, assume the monitors are alligned at the bottom (bottom panel scenario). First, create two wallpaper directories, one for images 1680x1050 and one for images 1440x900. Follow the procedure described at the end of Section 5 above. Next, extend the images in the 1440x900 directory to be 1440x1050 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 1680x1050 folder to images from the 1440x1050 folder to create a third folder containing 3120x1050 images. The pictures in this folder should have the border and background characteristics of the picture on the right. This becomes the Wallpaper directory for the extended dual monitor desktop. The black background canvas on the right-upper half of the illustrated image does not appear on the screen. It is the result of the above recipe for getting the two images to have the same height.


15. Sound & Recording, VLC & Streamtastic

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. Now it is a little more complicated. Perhaps not so well known is VLC player can record and save 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):

The VLC convert tool also applies to changing the file type for any audio and video file recognized by vlc, which is just about everything when the proper codec is installed. Follow the 5 steps above replacing step 2 with "click convert". Leave the "Display the output" box unchecked and check "start". When the file shows in the output directory, the conversion is complete. The only fault with using VLC as a recorder is the time required to set-up the recorder. The desired audio may be playing by the time you get to clicking start.

This delay problem does not exist for another excellent recorder, streamripper, which by itself is a terminal application. Streamripper can be installed from synaptic or by using sudo apt-get install streamripper. Several front-end GUI's are available for Streamripper. The one I like is streamtastic, which is java based but still fairly light. I like streamtastic because any station whose broadcast URL is known can be easily added to the playlist (see the photo). Once added, it is automatically saved. Double-clicking a station will play that station using your associated audio player, which can be set-up in Preferences. Clicking the red record button at the bottom starts the recording which will be automatically saved in the directory that you designate in Preferences. Thus, streamtastic is not only a recorder GUI but also works as a radio menu. It can be added to any of the main menus by using exec=java -jar ~/bin/Streamtastic.jar, provided you put Streamtastic.jar in ~/bin. Streamtastic - simple, functional, reliable and quick!

Sometimes, especially with older CD's, audio players cannot find where to go to play it. The file browser may show the CD contents 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.


16. Network Sharing, Printers & Wireless

Debian based Distributions generally come with wicd or network-manager-gnome (Preferences>Network Connections in the menu) installed. They include a network-manager-applet, which should appear in the notification area of your panel. Right clicking the applet will display Connection Information and Edit Connections. There is usually enough information about your connections in Connection Informations to set-up a connection in Edit Connections. However, I have had times when other information that was needed for a successful wireless connection. The accompanying table lists some good lightweight tools for getting wireless information.

wavemon wavemonwlan #, ESSID, MAC, IP (local)
wicd-curseswicd-cursesESSID, BSSID, IP (local), wireless set-up
inxiinxi -Fwlan #, MAC, network cards, drivers
net-toolssudo ifconfig -aeth#, wlan#, lo#, addresses, inet 6 data
curl curl curlmyip.comexternal (public) IP
wgetwget IP (check home directory)

There are two main culprits to getting a wireless connection: (1) A computer setting may be blocking the wireless signal. (2) You may need to install additional firmware. To see if there is a "block", put the following into a terminal:

sudo rfkill list.

If the information from this command indicates a "soft" or "hard" block on your wireless (wlan), then that is at least part of your problem. To remove a soft block, use the following in terminal:

sudo rfkill unblock all.

A hard block involves the computer hardware and cannot be unblocked with rfkill. First, check to see if your laptop has a wireless switch and that it is open. These exists on some laptops and is often well hidden enough to be missed. It is usually somewhere along an edge or somewhere above the keyboard. If there does not appear to be a switch, or it isn't working, then, as a last resort, reboot into bios, and select "reset to defaults," or whatever is equivalent for your laptop. This may remove a hard block.

Firmware depends upon the network card. Use inxi (see table), or put

   lspci | grep -i ethernet and lspci | grep -i wifi

into the terminal to identify your network cards. 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 from this website by putting the following into the terminal:


Extract b43 from 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.

Sometimes getting a printer recognized can be solved by making a few simple installs, for example,

   sudo apt-get install cups cups-browsed printer-driver-hpcups system-config-printer-udev.

If you have an HP printer, then extra help is available in the form of the very nice special qt-based gui, hplip-gui, which HP has exported to Linux. To install it, do

   sudo apt-get install hplip-gui,

but realize that this will probably include 35 MB additional libraries to a non-qt based platform.

17. Using Samba to Share Files

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:

         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:


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.


18. Setting Up an FTP Home Computer Network

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:


(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 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.


19. Keyboards, Keybindings & Touchpad

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):


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.

#! /bin/bash
synclient MinSpeed=0.4 MaxSpeed=0.75
To view the configuration characteristics of the mouse pad, put the following into the terminal:

   synclient -l.

To edit an option, for example, MinSpeed, put the following into the terminal:

   synclient MinSpeed=0.3,

where the number, here 0.3, is your choice for the option value. Unfortunately, this edit will only last the current session; logging-out or rebooting will return the option to the original default setting. To make the change stick, I create a little shell script,, as shown on the right for the options MinSpeed and MaxSpeed. Put all the options that are being changed into the script, put the script in ~/bin, make it executable and add @~/bin/ to LXDE autostart (/etc/xdg/lxsession/LXDE/autostart).

To configure Ctrl+Alt+Backsp to be the customary log-out, first, put the following into the terminal:

   sudo debconf-show keyboard-configuration

to determine your keyboard model. Then configure that model by putting the following into terminal:

   sudo dpkg-reconfigure keyboard-configuration

The last item will ask if you want Ctrl+Alt+Backsp activated. Top

20. Spliters, Joiners, Converters and PDF Editing

There are many simple command line tools and special applications in Linux that perform special tasks in a remarkably efficient and accurate way. I will mention a few here and in time add on new ones as they come to my attention. Three general tool collections that can be easily installed, usually from Synaptic in most distributions, are coreutils, x11-utils, x11-apps.

pdfseparate xx.pdf p-%d.pdfseparates xx.pdf into separate pages: p-1.pdf, p-2.pdf, ...
pdfseparate -f 5 xx.pdf p-%d.pdfseparates from page 5 to end: p-5.pdf, p-6.pdf, ...
pdfseparate -f 2 -l 3 xx.pdf p-%d.pdfseparates from page 2 to page 3: p-2.pdf, p-3.pdf
pdfseparate -f 2 -l 2 xx.pdf p-%d.pdfseparates page 2: p-2.pdf
pdfimages xx.pdf yextracts all images, saved as y-000.ppm, y-001.ppm,...
pdfunite xx.pdf yy.pdf zz.pdfunites xx.pdf and yy.pdf into zz.pdf
pdftotext xx.pdf extracts text, saved as xx.txt
pdftoppm xx.pdf yPDF to ppm converter, saved as y-1.ppm
pdftohtml xx.pdfPDF to HTML converter
pdftops xx.pdfPDF to PostScript (PS) converter
pdfinfo xx.pdfdocument information for xx.pdf
pdffonts xx.pdffont analyzer for xx.pdf
html2text xx.html | tee ~/xx.texconverts xx.html, including some special html symbols, to xx.tex
vilistextum -rcn xx.html xx.texconverts xx.html, including empty space but not symbols, to xx.tex
convert xx.xwd yy.jpgconverts image types (imagemagick)
convert xx.tif -compress jpeg xx.pdfconverts xx.tif to xx.pdf
csplit -k xx.tex 22 37splits xx.tex at lines 22, 37 with line 22 in the second file, etc
lxsplit -j xx.rar.001joins files of like type - creates xx.rar from xx.rar.001, xx.rar.002, etc
gs -q -dBATCH -dNOPAUSE -sDEVICE=pdfwrite -dPDFSETTINGS=/prepress -dFirstPage=3 -dLastPage=5 -sOutputFile=fileout.pdf filein.pdf   [extracts pages 3-5 of filein.pdf]
gs -q -dBATCH -dNOPAUSE -sDEVICE=pdfwrite -dPDFSETTINGS=/prepress -sOutputFile=fileout.pdf filein1.pdf filein2.pdf   [merges filein1 and filein2]

Audio ControlPavucontrol
Audio EditorAudacity
Audio RipperSound Juicer, Asunder
Audio-Video Stream RecorderStreamRipper/Streamtastic (java)
Audio-Video PlayerVLC Player
Bit TorrentTixati Vuze (Java)
Burn DiskXfburn
Calculator ScientificSpeed Crunch Portable(wine)
Calculator SimpleJscicalc (java)
Character MapRJ Ascii(wine)
Cleaner OrphansWajig (sudo wajig purge-orphans)
Clipboard ManagerParcellite
Color ToolsX-picard, grabc
Computer InformationBoxinfo, Inxi, Wavemon (internet)
Dictionary SpellingIspell
Dictionary SynomonsAiksaurusGTK
DistributionSparky Linux Base
E-book ReaderFBReader
File BrowserPcmanfm
FTP TransportFileZilla
Html EditorArachnapholia (java)
Icon ThemeDelta
Kill ToolXkill (x11-utils)
Menu Editor LXDELxmed (java)
Monitor ToolsArandr/Lxrandr
Network ToolConnman, Wicd
NotesCloudStickyNotes (java)
Notes TerminalCjots
Office SuiteLibre Office
Office LightweightAbiword/Gnumeric
PDF EditorXournal/Poppler-utils
PDF Viewer-copierPDF-Xchange (wine)
Photo EditorPhotoFiltre (wine)
Photo GraphicsLatexdraw (java)
Photo ToolsFaststone Image Viewer, Pixelitor (wine, java)
Photo ViewerMirage
Scan ToolSimple Scan
ScreenshooterScrot, xwd
Search Tool GuiCatfish
Search Tool IndexerColout
Software ManagerSynaptic (with apt-xapian-index)
Task ManagerLxtask
Telephony InternetSkype
Text EditorGeany
Text Editor ExtraJedit (java)
Text Editor LightweightMedit
Video EditorAvidemux
Video RipperHandbrake
Wallpaper ToolNitrogen/Conky
Web BrowserMaxthon, Slimjet
Windows ManagerOpenbox


The accompanying chart illustrates what some command line tools can do. The main tool for pdf-documents is Poppler-utils (PDF Utilities). The command, as printed in this table, should be given from the directory containing the pertinent files. The files resulting from the command will appear in the same directory (provided a specific path is not specified in the command).

Available to read, export (save) and edit PDF documents are two little known, lightweight, Linux applications that together cover the span of what most of us do with PDF. These are Xournal [768 kb] and Poppler-utils (PDF Utilities) [456 kb]. Xournal directly injects text of all sizes and types, erases (white-outs) given text and images, highlites, injects, shapes, draws and other things. The image above-right illustrates some possible edits done by me. It was my first time, so please excuse the sloppiness. In general, Xournal can be used for notetaking, sketching and keeping a journal using a stylus in a variety of document forms. Unfortunately, it does not bookmark or have a search feature. A lightweight wine portable pdf app that does bookmarking and searching is pdfxchange. It also has other tools, which are illustrated in the nearby pdfxchange toolbars image. Finally, ghostscript, which is installed on most Linux distributions, can be used to merge or extract .pdf and/or .ps files, albeit the commands are long (see accompanying table).


21. Preferred Applications & Installation Tips

The second table on the left shows my preferred applications. These have not been lightly selected, but are the outcome of years of use and after trying many softwares, first with Windows and then with Linux (primarily Debian based). Politics has been left out of my choice criteria, which are in order of importance:

Knoppix offers a special 4 GB distribution which includes an LXDE desktop and just about every useful Linux application that exists. They also include a tool that can install the complete operating system to a thumb drive from which it works as well as a hard drive install; as a matter of fact, they recommend that you use it this way. One of the merits of such an install 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. Another merit is that you can carry a complete working computer software package in your pocket.

Good Linux text editors are leafpad [733], geany [2688], juffed [1367+], gedit [2643+]. Leafpad is very simple, light and reliable with no special features; the other 3 color code text and have a variety of additional features; juffed is designed for the Qt 4 platform and will be around 7,000 kb to install in a non-Qt4; gedit requires a gnome platform and may be as high as 40,000 kb to install on a different platform and probably not worth it. Use geany -i to launch geany in a new window each time. To make word wrap the default in leafpad, be sure word wrap is checked in the options category in the leafpad tab and edit, if necessary, the number just below monospace 12 to be 1 in ~/.config/leafpad/leafpadrc. You can create a root-text-editor for any of these editors by creating a .desktop file with, for example, exec=gksu juffed or exec=gksudo leafpad. An interesting java based text editor is Jedit (see Section 7 for link). Although Jedit takes a second or two longer to launch, it has a lot of extra features including a built-in notepad, and is an excellent text editor for a Linux operating system. See the next section for an image of Jedit.

Mirage [560] has become my favorite image viewer because it is light, has thumbnails and a resizing tool. Gpicview [819] has no resizing or thumbs; gthumb [3627] has no resizing tool; and Geeqie [4900] is heavy and a bit clumsy to use.

A good alternative to xarchiver is squeeze (with exo-utils [1202]). For extra light version, do sudo apt-get install --no-install-recommends squeeze. File-roller [6106] is heavy.

A good lightweight alternate panel to Lxpanel is Tint2. It is very stable and can be configured to contain any application.

Start-up-manager is useful if you have multiple boot options, or want to easily see how many kernel versions are installed.

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. Another good display manager is slim [1384]. Gdm] and Mdm [16,000+] are too heavy. You can find the name of your current default display manager by looking at /etc/X11/default-display-manager.

My favorite Bittorrent is Tixati, which can be downloaded from Tixati as a Debian file. It has many control features as can be seen from the accompanying image, a very colorful interface and is very fast. A bit heavier and clumsier but equally useful bittorrent is Vuze, which is java based and comes with a nice search tool. It can be also downloaded with its own media play. Download the latest appropriate version for linux from Vuse, and extract it to the directory in which you want the exec. The extracted folder will include two apparently identical shell scripts named Vuze and azureus. Make these executable, after which Vuze can be launched by clicking either one.

GParted, which can be installed via synaptics, can be used among many things 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.

There are many private repositories in existence. Sometimes they have a PPA that allows them to be added in general to your synaptic group, or sometimes you can just get the desired package. For example, the nice, little inxi app can be downloaded as a .deb by running the following command in the terminal:

   sudo wget*.deb.

You will probably find it in your home folder, from which you can use gdebi to install it. Run inxi -F in terminal to get a list of your important computer components.

To install a compressed linux file (tarball), first right click it and choose the "extract" option if offered. If it isn't offered and the compression is done using gzip (tar.gz) or bzip2 (tar.bz2), which is usually the case, then you can extract the contents to the directory you are in by opening the terminal in that directory and running:

    tar xvzf file.tar.gz        [to uncompress a gzip tar file (.tgz or .tar.gz)]
    tar xvjf file.tar.bz2      [to uncompress a bzip2 tar file (.tbz or .tar.bz2)]
    tar xvf file.tar               [to uncompressed tar file (.tar)] .

Of course, repace the word "file" with the actual name of the file. The files will be extracted to an ordinary file with the same name, "file", as the tarball, but without a tar-extension. To open a tar.xz file seems to require stipulating the extract directory:

   tar xvf /path/to/file.tar.xz -C /path/to/extract/directory.

Generally the application can be installed by opening a terminal in the extracted file directory and running:

sudo make install ,

or running in a root terminal the combined command:

    ./configure && make && make install .

Sometimes these commands are not installed in your operating system but are in the applications folder, and sometimes alternate commands like cmake instead of make are used. Usually the app's author includes a text file giving special directions for the installation. Look for a file named something like readme.tex, install.tex or directions.tex. Open it and try to discern the exact installation instructions from it.

To stop a service, like, for example, bluetooth, from runing on your computer, enter the following into the terminal:

   sudo update-rc.d bluetooth remove .

Just substitute the service name for bluetooth in the command. 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.


22. Java Based Apps

As I said in Section 7 above, java is the great equalized in the operating system world. However, for whatever reason it appears to have an unfavorable reputation in the Linux world. My experience with java based applications has been good when I use Oracle Java, and I tend to search for them. They are usually based on a .jar with everything included in it. When more than one jar is involved, the developer will include a text information on which one launches the app and so the exec is always java -jar path-to-launcher-jar, or an explicit shell script for launching the app is included. Section 7 gives recipes for installing Oracle Java on a Debian based Linux system. Alternatively, you can install the linux java combination, open-jdk/icedtea using Synaptic or apt-get. However, I cannot say the applications described here will work in this instance.

My 14 favorite Java Apps listed approximately in alphabetical order are described below.


If you use more than 1 computer, cloudsticky notes are a "must-have". Once set-up, all notes automatically synchronize on all your computers. Write a note on one computer, move to another computer and there is the note. It is very easy to set-up, has a clean and simple interface with just the features that most users want in a note application. In other words, cloudsticky notes is not overburdened with unnecessary features. It is a bit heavy at [3312kb] for a note app, but well worth it. I don't know how I ever functioned without Cloudsticky notes!

Jasymca Math Calculator

This is an amazing math calculator and simple graphics tool for only being [522kb]. It does take some work to learn the programming language to set up a calculation, but it is well worth the effort given the level of the computations that this little beast can do. Anyone knowing a little html and math latex can quickly set up computations involving just arithametic and algebra. The above image illustrates jasymca solving three computations and a simple graphing problem. To do more complicated problems involving calculus, matrices, etc, you will want to download and refer to the user manual.

Jcicalc Calculator

This is a simple, lightweight ([302kb]), conventional calculator with a clean interface. It has more features than galculator, xcalc and the other standard linux calculators.



Jchecs [2460kb] is a chess game with a timer, scoresheet, recorder and many other features not in gnome-chess and at one-quarter the weight.



JDiskReport [2150kb] is a super endowed disk useage analyzer, which can be applied to any disk, including USB devices. It can be even applied to any directory on any drive.



JEdit [32.2mb] is a super endowed, super stable text editor. It has complete, reliable syntax coloring, a little QuickNotepad (see image) and many add-ons.



LatexDraw [1843kb] is a regular graphics creator with an easy to use interface and just the right set of tools to do the things you always want to do but never seem to have a reasonable app to do it.



Whist is an online card game that can be played with other people or a computer.



Pixelitor is an image editor with a simple, clean interface and super colorization tools.

My other four favorite java based applications are Arachnophelia, Lxmed, Streamtastic and Vuse. Arachnophilia is my main html-latex editor and is described in a separate section of this website. Lxmed, an lxde menu editor and desktop file gui, is described in Section 8 above. Streamtastic is a GUI frontend for streamripper and a menu tool for online radio stations. See Section 15 for a picture and more information. Vuse is a bittorrent mentioned in the previous section.

23. Some Important Places

/etcSystem configuration files;
/etc/apt/sourcesRepository sources list - remove # before name to add;
/etc/apt/pam.d, /etc/init.dContains display manager directory
/etc/samba/smb.confEdit samba (see section 17 above);
/etc/skel/Archive for old configuration files.
/etc/timezoneConfigure timezone clock;
/etc/xdg/autostartSecondary autostart (.desktop files);
/etc/xdg/lxsession/Path to primary LXDE autostart;
/etc/xdg/openbox/autostart/System autostart for openbox;
/etc/xdg/menusCategory files for LXDE Main Menu;
/etc/xdg/NetworkManagerConfigure file for network manager;
/etc/X11/default-display-managerNames your default display manager;
/mediaMounted removable media such as external hard drives, pendrives, optical drives, etc;
/tmpTemporary files, usually not preserved between boots;
~/bin, /usr/sbin, /sbin, /usr/local/bin, /usr/bin, /bin, /usr/local/games, /usr/gamesExec files;
/usr/lib/xscreensaver/Exec files for screensavers;
/usr/share/applications/screensaversScreensaver .desktop files;
/usr/share/xscreensaver/configScreensaver .xml files;
/usr/share/applications, /usr/share/app-install/desktopSystem wide Linux app's .desktop files;
/usr/local/share/applicationsUser app's .desktop files;
/usr/share/app-install/backgrounds, icons, lxde, lxpanel, piximapsImages;
/usr/share/fontsSystem font;
/usr/share/xsessionsDesktop Directory for Display Manager log-in choices;
~/.config/User configuration files;
~/.config/autostartUser autostart files (.desktop files);
~/.config/openbox/autostart.shOpenbox autostart file for user;
~/.config/lxsession/LXDE/desktop.confChoose window manager here;
~/.config/openbox/menu.xmlOpenbox menu file for user (see section 3 above);
~/.config/openbox/rc.xml and/or ~/.config/openbox/lxde-rc.xmlKeybindings, fonts, mouse controls, etc for user (see section 3 above);
~/.config/user-dirs.dirsEdit directories in your home directory - especially important for re-establishing system directories like Desktop.
~/.local/share/applicationsWine app .desktop files for "open with apps" list that appears when right clicking a file (delete duplicates & any you do not want);
~/.local/share/applications/defaults.listDefault application list;
~/.local/share/TrashTrash directory;
~/.wine/drive_c/Program FilesWine program directory;
Synaptic>"highlite xyz">Package>PropertiesDependencies, dependants, installed files, versions and description of xyz.

24. Some Commands by Example

apt-rdepends xyzLists dependents and subdependents of app named xyz (provided apt-rdepends is installed).
apt search keywordSearches for anything with keyword in name.
cdPuts you in your home directory for issuing next command.
cd ..Puts you in directory one above.
cd -Puts you in the directory that used to be current before the most recent cd command. Convenient for alternating between two directories.
cd /usr/sharePuts you in share folder for issuing next command.
clearClears the terminal window.
dpkg -s appTo see if app is installed, and to get information about app.
dpkg-reconfigure keyboard-configurationTo configure global keybindings.
dpkg-reconfigure tzdataTo edit date and time - select "etc" to change UTC.
sudo dpkg --configure -aTo restart an interrupted upgrade.
echo $PATHshows directories computer automatically searches for execs
eject sr0ejects the cd-dvd player
find . -name 'xyz*'Finds all files whose name begins with xyz in directory & subdirectories of directory you are in.
find . -name '*.tex'Finds all .tex files in directory & subdirectories of directory you are in.
find . -name 'xyz.tex'Finds all files named xyz.txt in directory & subdirectories of directory you are in.
find /bin -name 'xyx.txt'Finds all files named xyz.tex in /bin and subdirectories.
find . -name "*.tex" -exec cp "{}" ~/tmpCopies .tex files in directory & subdirectories of directory you are in to ~/tmp.
find /usr -user meShows files in /usr owned by me.
find /usr ! -user meShows files in /usr not owned by me.
file /usr/bin/xyzShows file type of file xyz in /usr/bin
freegives information about computer's ram
getconf LONG_BITTells bit size for your system.
grep sparky *.txtLists line containing the word sparky in all .txt files in directory you are in.
grep -i sparky *.txtLists names of .txt files containing the word sparky in directory you are in.
grep -rl "sparky"Lists names of all files containing the word sparky in directory and subdirectories of directory you are in.
grep -rl "sparky" ~/downloads/racesLists names of all files containing the word sparky in directory and subdirectories of ~/downloads/races.
grep -rl "sparky" | tee ~/output.txtPrints results of grep -rl "sparky" in ~/output.txt, which needs to be setup first.
pdfgrep -in sparky *.pdfLists line containing the word sparky in all .pdf files in directory you are in. (pdfgrep needs to be installed.)
pdfgrep -in sparky *.pdf | tee ~/output.txtPrints results of grep -rl "sparky" in ~/output.txt, which needs to be setup first. (pdfgrep needs to be installed.)
inxi -FProvides information about the computer.
lsLists items in directory that you are in.
lspci | grep -i ethernetIdentifies network card.
lsusbLists items connected by USB.
lxpanelctl restartRestarts lxpanel.
lxpanelctl runExec for Run.
man xyzProvides information about xyz.
md5sum /home/me/linux.isoshows md5 number for /home/me/linux.iso .
passwdchange password.
pkill appshutsdown app.
ps auxlists all processes running on the system, including Process ID (PID).
pwdPrints absolute path to current directory.
startxstarts desktop session.
uname -rgives information about kernel
wget xyz.
wget xyz.
sudo cp /usr/share/icons/xyz /sbinCopies file xyz from /usr/share/icons to /sbin (see Section 5 above).
sudo cp /usr/share/icons/* /sbinCopies all the files in /usr/share/icons to /sbin.
sudo cp*.jpg /usr/share/iconsCopies all the files with extension .png to /usr/share/icons (issued from directory).
sudo cp xyz* /usr/share/iconsCopies all the files whose name starts with xyz to /usr/share/icons (issued from directory).
sudo ifconfig -agives internet connection information including MAC address
sudo mv /usr/share/icons/xyz1 /sbin/xyz2Moves file xyz1 from /home/doug to /sbin and renames it xyz2 (see section 6 above).
sudo mv /usr/share/icons/* /sbinMoves all the files in /usr/share/icons to /sbin.
sudo mv*.jpg /usr/share/iconsMoves all the files with extension .png to /usr/share/icons (issued from directory).
sudo mv xyz* /usr/share/iconsMoves all the files whose name starts with xyz to /usr/share/icons (issued from directory).
sudo rm /tmp/xyzRemoves (deletes) file xyz in /tmp.
sudo rm -i *Asks to remove each file in directory in - answer y or n for each file.
sudo rm -r /tmp/xyz/*Removes (deletes) all files in directory /tmp/xyz.
sudo rm -r /tmp/xyzRemoves (deletes) directory tmp/xyz from the system.
sudo ln -s path-to-folder path-to-symlinkCreates a shortcut, stored in symlink, to folder.
sudo mkdir /dev/xyzMakes a new directory named xyz in /dev.
sudo mkdir -p /dev/xyz/abcmakes both directories named xyz and abc (all needed directories on path).
sudo mount /dev/xyz /media/abcmounts directory at /dev/xyz in /media/abc (make directory abc first)(Ex: sudo mount /dev/cdrom /media/cdrom1);
sudo xkillMakes the cursor act as a terminator (requires x11-utils be installed).
sudo service network-manager startRestart Network Manager in notification area.
sudo shutdown -h 0Shuts down computer.
sudo shutdown -r 0Reboots the computer.
sudo fdisk -lShows all partitions on all hard drives. df -h shows used-available data.
sudo add-apt-repository ppa:user/ppa-nameWill add repository with name user/ppa-name. See also /etc/apt/sources below.
sudo apt-get cleanCleans system, removes unused downloaded packages.
sudo apt-get auto cleanCleans system.
sudo apt-get autoremoveRemoves superseded packages such as old kernels.
sudo apt-get updateUpdates system, run first.
sudo apt-get upgradeUpgrades system. Run after updating.
sudo apt-get dist-upgradeStronger system update.
sudo apt-get install xyzWill install xyz - do not include package type, for example, enter xyz for xyz.deb.
sudo apt-get install --no-install-recommends xyzWill install xyz without extra recommended packages (crud).
sudo apt-get install xyz abc-Will install xyz without the dependency abc.
sudo apt-get remove xyzWill remove (uninstall) xyz (first cd to directory containing xyz).
sudo apt-get remove --purge xyzWill remove (uninstall) xyz including installer and dependencies (first cd to directory containing xyz).
sudo apt-get f xyzMay fix broken xyz (first cd to directory containing xyz).
sudo update-grubUse if booting is troublesome.
sudo ufw disableTurns off firewall.
sudo chown me /usr/bin/xyzChanges ownership of xyz to me.
sudo chmod u+x /usr/lib/xyz/*Makes all files in directory /usr/lib/xyz executable;
sudo chmod abc xyzIssue from directory containing xyz. Assigns access rights to xyz according to the following code: full=7; read & write=6; read & execute=5; read only=4; write & execute=3; write only=2; execute only=1; none=0 (x=you, y=group, z=all others). Thus, sudo chmod 777 xyz gives full access to xyz to everyone and every group.
Use gksu instead of sudo for some operating systems.