Here are some edits, additions, and subtractions that help complete the feel of the of Ubuntu’s 11.10 Oneiric desktop. Note that a couple modifications are made only for performance reasons for use with an older computer.
Installing
When installing Ubuntu, it is still recommended to do a clean (fresh) install of Ubuntu. Ubuntu/Debian engineers primarily focus resources on the install route therefore making it the recommended method.
Home folder on a dedicated partition
“How we work can be almost as important as what we do.”
Putting application preferences back together can be a lengthy process. A good work flow can dramatically improve productivity. Putting settings and documents on a dedicated partition will allow them to be easily built on from install to install. In Linux, configurations rarely ever cause problems. The Parted Magic Maintenance CD is a good tool to start with that can help with the process. More on how to do this can be found here.
When doing a clean install with a dedicated home partition, the partition needs to be defined during installation being sure to have it remain unformatted:
Tools
For future reference here is a package management helper script. It makes common package management related tasks easier to execute (and remember).
If planning to stick around with Linux, learn Vim. Vim is an excellent command line editor. Learning Vim can save time and be pleasurable to use (here to edit configuration files). More about Vim can be found here.
Hardware Setup
The first detail to focus on after installing Ubuntu is to get all hardware up and running. Ubuntu does good at discovering/setting up hardware but it isn’t able to do everything. First, the Additional Drivers control panel in System Settings may have hardware needed to be installed (some hardware setup requires user confirmation and is done here). After this, testing all devices and peripherals is recommended. It may in the end be necessary to visit the manufacturers website and download drivers. In most cases though to get the hardware working, information is usually available on the wiki.
Desktop Preferences
A number of options can be made to make a more efficient desktop; these programs will be needed to make the edits:
sudo apt-get install dconf-tools gconf-editor
Remove Unnecessary Startup Applications
To restore the ability to edit the Startup Applications do:
mkdir -p ~/.config/autostart cd ~/.config/autostart cp /etc/xdg/autostart/*.desktop . sed -i "s/NoDisplay=true/NoDisplay=false/g" *.desktop
To save resources, select what is needed in Startup Applications. If not needed, Ubuntu One, Desktop Sharing, and Check Hardware Drivers can be removed. Removing Update Notifier too can save a good bit or resources if willing to update manually. To complete Update Notifier disabling:
dconf write /com/ubuntu/update-notifier/auto-launch false sudo apt-get remove apt-xapian-index # actually an old Synaptic plugin remnant
Launcher
The Launcher with a couple edits can become more able to streamline the workspace.
Disable Auto-hide:
To have the Launcher always visible (usually recommended) do:
dconf write /com/canonical/unity-2d/launcher/use-strut true
Remove Multiple Desktops/Workspaces:
Save space on the Launcher if not using the multiple desktops feature:
gconftool-2 -s /apps/metacity/general/num_workspaces --type int 1
sudo cp /usr/share/unity-2d/launcher/Launcher.qml{,.bck}
sudo sed -i '/items.appendModel(workspaces)/d' /usr/share/unity-2d/launcher/Launcher.qml
This edit is temporary and will need to be run again when the unity-2d-launcher package is updated.
Add Show Desktop:
The ability to show the desktop can be done with the Super + D keypress (thats usually the Windows key) but to have the icon available on the Launcher an Xorg server interface tool will be needed:
sudo apt-get install xdotool
Create the .desktop so it can be pinned to the launcher:
echo "[Desktop Entry] Name=Show Desktop Exec=xdotool key --delay 300 super+d Icon=desktop Terminal=false Type=Application StartupNotify=false" >> ~/.local/share/applications/show-desktop.desktop
Open the file manager and drag the .desktop to the Launcher:
nautilus ~/.local/share/applications/
Numlock Enabled on Login
Because the numberpad exists on most keyboards and since it’s primary use is for doing calculations having the Numlock on by default is usually is the preferred option:
sudo apt-get install numlockx sudo sed -i 's|^exit 0.*$|# Numlock enable\n[ -x /usr/bin/numlockx ] \&\& numlockx on\n\nexit 0|' /etc/rc.local
Turn Off Resume from Sleep Lock
More obstruction than protection for some the resume from sleep lock can be disabled:
gsettings set org.gnome.desktop.lockdown disable-lock-screen 'true'
File Manager Possibilities
Once the behavior is adapted to this feature can save time; however this behavior can be persistent: to streamline workflow consider using a single-click for files in the file manager/desktop. Set this in the File Manager under > Edit > Preferences > Behavior > Single click. For a slight speedup in the file manager, lower the preview values (Nautilus > Edit > Pref > Preview > No text icons, Thumbs for smaller file sizes, and Count number).
Application Indicators
Application indicators are the feedback icons in the menu bar on the top right. Here are some edits/considerations (changes to application indicators area don’t take effect until Logout/Login).
Switch Users Unneeded:
For single-user computer or if the feature is never used, save space by disabling the Switch Users indicator:
dconf write /apps/indicator-session/user-show-menu false
Google Web Mail:
Because of its’ efficient use of space and it’s connectivity possibilities the web interface of Google mail is preferred over email programs by a good number of people. There is an application indicator to notify of new Gmail email called gm-notify:
sudo apt-get install gm-notify
gm-notify can be configured additionally to play a sound when new mail arrives, check /usr/lib/libreoffice/basis3.4/share/gallery/sounds/curve.wav ia a possibility.
Other Indicators:
Additional application indicators can be found at Ask Ubuntu.
Laptop Touches
For regular laptop users the thought of limiting the touchpad from accidental scrolling and mouse click tapping is kept in the front of the mind. Consider using two-finger scrolling and disabling touchpad tapping instead.
Firefox Security
If on the Internet a lot, it’s a good idea to protect the application that primarily accesses it. There is a nice script written by Ignorant Guru that puts Firefox in a sandbox. To learn more read here. First install the PPA then install the script through the package manager:
sudo apt-get update sudo apt-get install sandfox
The script is most productive in protecting from Adobe Flash security holes. A perk of the script is that it allows Flash preferences to be saved; a disadvantage is this allows a security hole. To plug the hole change the preference directories to read-only only by root:
cd ~ rm -rf .adobe .macromedia sudo mkdir .adobe .macromedia sudo chmod ugo-wx .adobe .macromedia
Then bind the folders read-only in the script:
sed -i 's_^hide=/home/\\$user/.adobe.*$_bindro=/home/\\$user/.adobe # bind folder read-only_g' /usr/bin/sandfox sed -i 's_^hide=/home/\\$user/.macromedia.*$_bindro=/home/\\$user/.macromedia # bind folder read-only_g' /usr/bin/sandfox
After this, the Sandfox package could be put on hold to prevent it from updating (thereby preserving changes made to the script):
echo sandfox hold | sudo dpkg --set-selections
Under the Hood
A few options on the system-level can help improve performance and help unexpected delays.
No Timestamping on File Access
Since Linuxs’ early days the kernel behavior has been to re-date a files’ timestamp every time a file is accessed. This reasoning goes back to its’ server days when users were more interested in knowing when a file was accessed rather then when it was edited (written to). For desktop users however the expected behavior is for the timestamp of a file to be when it was last edited. Tagging the option noatime to the filesystem will give the expected behavior, also this option additionally improves system performance by saving a number of writes to the disk. See more on this here.
Swap Value
For computers with plenty of memory available (1 Gigabyte will be enough for most uses), lowering swap priority can help improve performance. To change immediately do:
sudo sysctl -w vm.swappiness=20 sudo sysctl -w vm.vfs_cache_pressure=50
And to have it as this value used regularly add the values to /etc/sysctl.conf:
vm.swappiness=20 vm.vfs_cache_pressure=50
Match Filesystem Check Times
If more than one partition is used, having filesystem check times run at the same time will cause less number of unexpected boot delays. This can be done with tune2fs (Ubuntus’ default value is 33 mounts and six months):
sudo tune2fs -c 33 -C 0 -i 6m -T now /dev/partition1 sudo tune2fs -c 33 -C 0 -i 6m -T now /dev/partition2
Other Programs
Other useful programs are these (most are additional command line utilities that come in useful down the road):
sudo apt-get install cd-discid curl dos2unix dnsmasq epiphany-browser gdebi gimp gparted imagemagick inkscape iotop irssi lame librsvg2-bin links mp3gain msmtp openjdk-6-jre p7zip pdftk ppa-purge pwgen realpath ripit ruby tree unrar vim xclip
Vims is set up well as is, but to make it even better use a more-optioned configuration:
sudo mv /etc/vim/vimrc{,.bak}
sudo cp /usr/share/vim/vim73/vimrc_example.vim /etc/vim/vimrc
Being on the Internet a good deal a Domain Name Server address cache/query daemon can help a lot with improving web browser load times, particularly during busy hours (the NetworkManager connection will need to be re-established afterward for changes to take effect):
sudo sed -i 's:^#listen-address=:listen-address=127.0.0.1:g' /etc/dnsmasq.conf sudo sed -i 's:^#prepend domain:prepend domain:' /etc/dhcp/dhclient.conf sudo service dnsmasq restart
Extrenui
- Missed Touchpad Button Clicks – fix for a touchpad button that missed clicks regularly.
- Hosts File Help – Only really a good idea for aging computers that can’t process complex ad-laden webpages.
- Root Required – If around Linux for a bit eventually the root account will have to be used. To work in a familiar environment when it root link common home settings:
sudo ln -s ~/.{bashrc,profile,vimrc,vim} /root
Editors’ Opinion
I’m happy with my setup. Originally I had thought I’d go straight to Gnome 3 Fallback but I’ve stuck with Unity and I like the simplicity of it; plus it runs well. With a desktop setup like this, I’m beginning to feel productive. Thanks to Linux and Ubuntu engineers that made this possible.
Links


Wow, nice long article, hope more ppl will use Linux, coz IMHO it’s easier to use than Windows, eg. in 95% no need to install drivers, all programs in Software Center,no need to search exe’s all over internet, and thats why no viruses.
I agree on setup and about the cool use of repositories; however, the virus thing isn’t right (viruses can be anywhere [e.g. the Linux.com site got taken down right about a month ago] so it happens) but you’re right in that Linux is very rigorous though. Thanks for the comment.