Nautilus is the graphical file manager (along with a few other nice features) in GNOME. Most users only use the bare minimum features of Nautilus (including me, as I’m mainly a console jockey) and don’t realize how powerful and flexible Nautilus truly is.
- Managing Nautilus from the keyboard
- Advanced file permissions
- Desktop Settings
- Special locations and Remote connections
- Tips and Tricks
Managing Nautilus from the keyboard
You don’t have to be slowed down by the mouse just because you are using a GUI. Nautilus has great keyboard shortcuts that will allow you to use it quickly and effectively.
Here is a quick table of the shortcut keys and their functionality
| Key(s) | Action |
|---|---|
| Searching | |
| Start Typing | Select the matching name of a file or directory |
| CTRL+F | Search filenames and content of indexed files |
| CTRL+S | Selects all files or directories matching a pattern |
| Display and Window Management | |
| CTRL+N | Create a new Nautilus window |
| CTRL+W | Close a Nautilus window |
| CTRL+SHIFT+W | Close all Nautilus windows |
| CTRL+1 | View files in icon mode |
| CTRL+2 | View files in list mode |
| F9 | Toggle sidebar pane |
| File Management | |
| CTRL+H | Show hidden files |
| CTRL+SHIFT+N | Create a new folder |
| CTRL+T or Del | Delete the file or directory and move to the trash |
| Shift+Del | Delete the selected file or directory and skip the trash |
| F2 | Rename the selected file or directory |
| Alt+Enter | View properties of the selected file or directory |
| Movement | |
| CTRL+L | Move into the location bar |
| Alt+HOME | Go to your $HOME folder |
| * or + or SHIFT+RArrow | Expand Directory in list view |
| - or SHIFT+LArrow | Close Directory in list view |
| ALT+LArrow | Browse through files and folders to the left |
| ALT+RArrow | Browse through files and folders to the right |
| ALT+UArrow | Move to the parent folder one level above |
| ALT+DArrow | Open the selected file or folder |
| Accessibility | |
| CTRL++ | Zoom in |
| CTRL+- | Zoom out |
| CTRL+0 | Normal zoom |
Advanced file permissions
The default UI for managing file permissions in Nautilus is a simple cutdown version that I find hard to use compared to the “advanced” view. Here is a screenshot of the advanced view:

Enable this view by changing the gconf setting show_advanced_permissions in /apps/nautilus/preferences/ to True, either by using gconftool-2 in console or the GUI tool gconf-editor.
gconftool-2 --type bool --set /apps/nautilus/preferences/show_advanced_permissions True
Desktop Settings
The default icons that show up on your desktop are also managed through gconf. Here are some of the important settings:
Disable the desktop completely (don’t show any desktop icons)
gconftool-2 --set /apps/nautilus/preferences/show_desktop --type bool False
Hide the $HOME folder icon
gconftool-2 --set /apps/nautilus/desktop/home_icon_visible --type bool False
Display the computer icon
gconftool-2 --set /apps/nautilus/desktop/computer_icon_visible --type bool True
Hide the trash icon
gconftool-2 --set /apps/nautilus/desktop/trash_icon_visible --type bool False
Hide volumes (sshfs mounts, auto mounted removable disks, etc)
gconftool-2 --set /apps/nautilus/desktop/volumes_visible --type bool False
Special locations and Remote connections
Nautilus provides some special locations which provide additional functionality, they can be accessed from the “go” menu or by typing them in the location bar.
- computer:/// - A list of all mounted devices on the system
- burn:/// - Allows you to copy files to it and burn them to a CD/DVD
- network:/// - A list of servers on the network
You can also access remote file systems from nautilus using ssh, sftp, and samba. You can do this by using the protocol in the address bar (ssh://,smb://,sftp://), like:
sftp://user@server:port/directory/on/server
Or you can use a very convenient UI from File -> Connect to server. Here is a screenshot of that in action:

Tips and Tricks
Preview audio files
You can preview sounds in Nautilus by turning on Edit -> Preferences -> Preview -> Preview sound files. With this enabled, when you hover over any audio file, it’ll start playing.
You can also enable/disable this setting through gconf
gconftool-2 --type bool --set /apps/nautilus/preferences/preview_sound True
Custom scripts
Nautilus allows us to create our own custom scripts and have them execute from the right click menu, lets create an open as root menu item. In ~/.gnome2/nautilus-scripts/ create a file called “Open as Root” with the following code in it:
#!/bin/bash
for uri in $NAUTILUS_SCRIPT_SELECTED_URIS; do
gnomesu gnome-open “$uri”
done
And now you’ll get a menu similar to:

Document Templates
If you’ve ever right clicked on your desktop, you have probably seen the menu “Create Document” but never gave it any thought because the majority of distros ship this menu blank. But I’ve found it is really handy when working with files with similar content. To create your own templates you create the folder ~/Templates and place any type of file inside there, it could be an open office spread sheet or a simple text file. You can download a collection of nice default templates from here. Here is what your menu could look like!

Conclusion
This should get you started on using Nautilus more effectively. If you want to learn more about Nautilus settings and other options you can tweak, you should check out the Nautilus gconf documentation here.
Power management is one of the big things Linux gets criticized for and although we might not be perfect, there are things we can do to improve our battery life.
The best thing you need to do to improve the battery life of your laptop is to analyze/profile your power consumption to figure out what applications are draining your battery. To do this you use an application developed by Intel called Powertop.
# zypper in powertop
# powertop

Some cool tips for working with powertop can be find at http://www.lesswatts.org/tips/
Zypper is a very easy to use and powerful package manager that is very underrated. With the latest rewrites in openSUSE 11.0 of libzypp it is blazingly fast and has a few new features that many people are not aware of.
Here is a quick overview of a few of the features zypper supports
Install and remove packages by name, version, or capability.
Installing and removing packages with wildcards
# zypper rm gtk*devel*
# zypper in gtk-sharp?
Handling multiple versions of a package
# zypper in package-1.2.3
# zypper rm package>1.2.3
Install and Remove at the same time, - means remove, + means install.
# zypper in <package to install> -<package to remove> +<another package to install>
Force a re-install
# zypper in --force <package>
Install plain RPM files and satisfy dependencies from repositories from a local disk or the web.
# zypper in ./file.rpm
# zypper in http://<url>/file.rpm
Update all installed packages with newer available version where possible
To get all updates that only include patches/bug fixes you can run this command:
# zypper up
To update all packages even if they are new versions, or to upgrade from one version of openSUSE to another:
# zypper dup
Manage Source / Development Packages
Install build dependencies for a package
# zypper si -d <package>
Pattens / Metapackages
You can list all available patterns by doing:
# zypper pt
Install the pattern xfce
# zypper in -t pattern xfce
Easily manage repositories
List repositories
# zypper lr
Add a repository
# zypper ar <url> <name>
Disable the first repository
# zypper mr -d 1
Disable a repository by name
# zypper mr -d repo-oss
Remove the first repository
# zypper rr 1
Getting info on packages
Searching for a package
# zypper se banshee-1
# zypper se bans*
Searching for a pattern/metapackage
# zypper se -t pattern media
By default, searching only gives you the name, summary, and type of a package, to get more detailed information like what repository its coming from and what version it is, you can do the following.
# zypper se -s package
View a short description of a package
# zypper if package
Other Cool Tricks
You can simulate any zypper command by putting --dry-run after them
# zypper in --dry-run <package>
You can lock a package in its current state (installed/not installed)
# zypper addlock <package>
# zypper removelock <package>
To get more information on the new features of zypper and how to effectively use it, you may check out these additional resources:
http://en.opensuse.org/Zypper/Features
http://en.opensuse.org/Zypper/Usage
Although openSUSE doesn’t currently support installing from USB, it is quite easy to do it on your own with standard Linux tool syslinux. So lets install that:
# zypper in syslinux
Get the openSUSE install files
After you have syslinux installed, you are going to have to grab and install CD/DVD from one of the many openSUSE mirrors, you can find the latest versions at http://download.opensuse.org/distribution/. Lets mount the ISO and grab the files that we need, we’ll use a standard Linux command to do so: mount. To mount an iso onto your local file system you need to tell it what file to mount and what location it should mount to.
# mount -o loop <filename> <mount location>
Define what device you want to install from
Next, we’ll need to find the USB device we’d like to install from, you can do this in a few different ways:
# fdisk -l
# cat /proc/partitions
# mount
or you can run:
# dmesg
You’ll see something like:
usb-storage: device found at 5
usb-storage: waiting for device to settle before scanning
scsi 3:0:0:0: Direct-Access Kingston DataTraveler 2.0 1.00 PQ: 0 ANSI: 2
sd 3:0:0:0: [sdb] 1994752 512-byte hardware sectors (1021 MB)
So, from that output you can see that the newly inserted device is /dev/sdb, so if your system doesn’t automount the device (openSUSE should), you can mount it:
# mount /dev/sdb /mnt/thumbdrive
Setup the USB drive to be a bootable installer
Once you have both the ISO and the USB drive mounted, you’ll wanted to copy the install files from the ISO to the USB drive. The install files are in boot/<arch>/loader on the ISO. We’ll also want to rename isolinux.cfg to syslinux.cfg
# cp /mnt/openSUSE-i386/boot/i386/loader/ * /mnt/thumbdrive
# mv /mnt/thumbdrive/isolinux.cfg /mnt/thumbdrive/syslinux.cfg
The final step is to run syslinux on the USB device, you’ll want to make sure the USB device is unmounted for this.
# umount /mnt/thumbdrive
# syslinux /dev/sdb
Conclusion
Now you have a bootable installer on a USB device that will allow install from all the standard protocols (NFS, FTP, CIFS, etc) as normal. One caveat of this method is that it will now try to install grub onto your thumb drive, so after it boots up the base system into memory, unplug your drive so that it will install to the correct boot partition or MBR.
Grub defines its devices from the BIOS boot order and since we booted off a USB stick it will think that (hd0,0) is the USB stick but in reality, its your actual disk. So on your first boot grub will be pointing to (hd1,0) and not (hd0,0), so you will have to modify /boot/grub/menu.lst and point it to the right disk. You can do this by hitting “E” at the GRUB prompt.
For another great resource for alternative ways of installing openSUSE, visit http://en.opensuse.org/Network_Install.