Advanced configuration

Submitted by Tim on Thu, 09/06/2007 - 14:12

Every creative user will quickly reach a point where the standard desktop utilities don't provide them with the options they're looking for. In this section we introduce some advanced tricks and tips which allow you to further customise your desktop.

The Command Line Interface

In order to get to grips with more advanced configuration of the system it will be necessary to familiarise yourself with the Command Line Interface. The CLI is much more flexible than you might think. It includes the abilities to cut and paste, to re-use previous commands using the Up Arrow key, and to auto-complete commands and addresses as you type them using the Tab key. Try it for yourself! The command line can be accessed from Accessories > Terminal in the main menu.


We use a few conventions in this manual when referring to command-line techniques.

$ - The dollar sign is the prompt for an ordinary user. You don't type this in, just everything after it.

# - This is the prompt for the root user, again type in everything after it.
In order to access this prompt you need to use the 'Switch User' command:
$ su
You will then be prompted for the root password. It is best practice not to stay logged in as root any longer than you need to in order to perform certain configurations. Heed these warnings and you will have a much easier time of it.

Many Linux system settings can be changed by editing a configuration file in a text editor, such as gedit or nano. These can both be launched from the command line.

Essential further reading on this subject is listed at the end of the page.

Getting information about your system's resources and processes

From time to time you will need more information about what processes are actually running on our system and how much processor power and memory they are using up. Right-click on the Panel and choose Add to Panel and select 'System Monitor' - this will add a little box that shows a graph of processor activity. It's quite useful to check whether your computer is actually doing anything. There is also a nice little graphical toolbox available from System Tools > System Monitor, which covers most of these functions.

In order to see what processes are currently running use
$ ps fax
The standard means for checking resource usage is
$ top
You can also check how full your hard-drives and partitions are with
$ df -h

You can list all your hardware devices and their addresses with
$ lspci -v
And you can check which driver modules you have loaded with
$ lsmod

You can view the boot messages (all that scrolling text you see when you boot up the machine) with:
$ dmesg
If you want a running commentary on what the system is seeing,
$ tail -f /var/log/syslog
can provide useful debugging output in many situations.

You can use these messages to help troubleshoot problems at boot-time and copy / paste the relevant error messages into an email if you need to ask for help.

GNOME Configuration Editor

GConf-Editor is a tool used for editing the GConf configuration database. It looks like a simplified version of the Windows registry editor, but don't let that put you off. It controls the entire GNOME configuration database and can often be a convenient way of adjusting advanced settings if you don't want to get your hands dirty with the command line. Gconf-editor does not come as standard in 64 Studio so you will have to install it:
# apt-get install gconf-editor


Adding custom shortcuts

You may want to bind an arbitrary keyboard shortcut to an action (eg. launching an application), but the default Gnome tool allows only a set of predefined actions. Here is the procedure to add custom actions to bind to a key combination. This is not the recommended way of setting desktop preferences, but it might be useful when the proper configuration utility for some software provides no other way of changing some option. First you must launch gconf System Tools > Configuration Editor.

Then you have to find the key apps > metacity > keybinding_commands > command_1 through the gconf tree. There you can specify (in the "value" field) the command to be launched (eg. xterm). You have now associated command_1 to the command xterm.

Now go on and define the key combination; go to apps > metacity > global_keybindings > run_command_1 and put in the "value" field the key combination you like (eg. <Alt>F1).

Now you should be able to launch the command xterm with Alt+F1.

Disabling printers

To disable printing and printing setup, set the following keys in gconf:
desktop > gnome > lockdown > printing
desktop > gnome > lockdown > print-setup

Controlling Icons and Panel configuration

To remove one or more of the default icons from the desktop, unset the appropriate key
apps > nautilus > desktop > *_icon_visible

To prevent the appearance of icons representing mounted media such as cdroms, unset the following key:
apps > nautilus > desktop > volumes_visible

To disable changes to the configuration of the panel, set the
apps > panel > global > locked_down key.

To disable certain applets from loading or appearing in the applet menu, you can specify which applets you wish to disable by adding the appropriate applet IID to the apps > panel > global > disabled_applets key.

Custom menus

<!--Your desktop menus can be customised by right clicking on the foot-shaped 'Main Menu' icon and selecting Edit Menus.--> If you want greater control over your menus it may be worth installing alacarte from the Debian repositories.


Sometimes new packages don't appear in the menus for one reason or another. It's worth knowing the
# update-menus
command for these situations. You can also run this as an ordinary user, it's worth reading the man page for this command first.

If you want to start creating your own custom menu entries by hand then you may need to read up on the FreeDesktop menu specification for all the gory details.

Accessing your other drives

You can access the data on other partitions and drives that were not configured when you installed 64 Studio, such as those belonging to other operating systems by editing the file /etc/fstab.
# gedit /etc/fstab
see man fstab for further instructions.

Configuring your soundcard

If your soundcard failed to configure on install, the first approach is to run alsaconf:
# alsaconf


If that fails you need to check out whether your card is supported by ALSA and whether you have the correct driver installed. There is a wealth of information on the ALSA websites listed at the end of the page, along with advice on how to test your soundcard, troubleshoot problems and lots of useful and intriguing HOWTOs.

Multimedia codecs

Every so often you will encounter media files that 64 Studio refuses to play. This is often because we cannot distribute codecs for certain patent-encumbered file formats. It is possible to access these additional codecs by adding another software source to your /etc/apt/sources.list.
# nano /etc/apt/sources.list

in the file add the following text:
#multimedia codecs
deb http://www.debian-multimedia.org/ etch main

I ended up with: ffmpeg; gstreamer0.10-ffmpeg-full; libavcodeccvs51; libavformatcvs51; libavutilcvs49; libdvdcss2; libdvdread3; libfaac0; libfaad0; libimlib2; liblame0; libmikmod2; libmikmod2; libxvidcore4; m4; mozplugger; msttcorefonts and w32codecs, which seemed to do the trick, but as they say, Your Mileage May Vary.

Audio latency

64 Studio comes with a realtime Linux kernel which helps avoid audio latency problems. The distribution includes a program called the JACK audio connection Kit (It's a recursive acronym, you'll get used to it) which routes audio between real-time applications. Check out Nate Figlar's excellent Jack Quickstart Guide if you want to jump straight into real-time audio operations.

SSH

If you want to be able to ssh into this machine you will probably need to edit /etc/ssh/ssh_config. SSH stands for Secure SHell and is a more secure alternative to telnet that you can use to remotely run commands on other machines over the network.

GRUB

Before you reboot your machine after all these changes, it's best to check that GRUB is configured correctly. GRUB stands for the GRand Unified Boot-manager and is the application responsible for booting up the Operating Sytem when you first turn your computer on. Many users have multiple operating systems or Linux kernels on the same computer. Using a boot loader, you can choose which operating system or kernel to start your computer with. You can edit grub to display any installed operating system or kernels. Your 64 Studio system also includes a single-user mode. The single-user mode starts the machine with a basic system that the root user can use for troubleshooting.

You can reconfigure grub by editing /boot/grub/menu.lst
# gedit /boot/grub/menu.lst

see the grub website for further information. You can also browse the documentation of GNU GRUB by typing
$ info grub
on the Command Line.

Links

Learning to use the Command Line Interface
Debian Install Guide
Debian Reference
Linux Tutorial

ALSA
Advanced Linux Sound Architecture
ALSA Wiki
Low-Latency HOWTO

Linux Audio
Sound & MIDI Software For Linux
Troubleshooting Linux Audio, Part 1
Troubleshooting Linux Audio, Part 2
Troubleshooting Linux Audio, Part 3a

GRUB
GNU GRUB Manual
GNU GRUB Legacy FAQ

Comments

1 comment posted
How do I store my driver settings for alsa.
Hi I keep having to run alsaconf each time I boot to run Jack and such. Is there a way to store the settings for my RME card? Cheers Bob
Posted by wavesound on Tue, 10/09/2007 - 19:12