The Creative Desktop

This manual for new users of 64 Studio is intended to cover enough general aspects of creative work to provide a starting point for your own multi-media adventures. This will eventually include 2D and 3D graphics, animation techniques, publishing, web design, audio production and video editing, as well as many other useful bits in between.

These articles are aimed at creative people who want to be able to realise their visions without having to become technical experts in the realm of computer science before they begin. If you want choice and a highly customisable working environment, Linux supports professional quality creative tools capable of delivering top-class results. It is now possible to run a full production studio entirely on Free Software.




In this book we will be investigating the use of Free Software tools in creative environments, and hopefully overturning some ingrained attitudes about the limitations of Linux-based systems in the multimedia arena.

64 Studio is based on the Debian distribution of GNU/Linux software. This means that there is already a vast wealth of manuals, HOWTO guides and FAQs available that cover the workings of the basic operating system and many of the general applications.

Debian documentation you should read:

http://www.debian.org/doc/
http://www.debian.org/doc/manuals/debian-faq/
http://www.debian.org/doc/manuals/apt-howto/
http://www.debian.org/doc/manuals/quick-reference/

We will focus on the minimum amount of set-up here, so we can dive straight into getting creative and having fun. Most of this guide isn't particularly 64studio-specific or even Debian-specific; it is designed to help anyone who wishes to explore the creative possibilities offered by a GNU/Linux system.

If you have just worked your way through the Install Guide and are wondering what to do next, start reading at the Configuration Guide. If you already know your way around the GNOME desktop, then dive in where you like, but bear in mind that the book is written to be read in sequence, so if there's anything you don't understand, it may have been covered in earlier chapters. Right, that's enough introductions, let's have a look at the software.

Welcome to your Creative Desktop!

Installation Guide

Text by Tim Hall Screenshots by Guillermo Garronn, www.go2linux.org

A lot of people believe that installing and using GNU/Linux is a scary prospect, a system only usable by hardcore geeks. Considering the history of Free Software and the tone with which its use is sometimes advocated, often using complex and obscure jargon, it is not entirely surprising that many ordinary computer users are still wary of trying it out. With the advances in Linux's user-friendliness in recent years and helpful guides like this one, this is no longer the case.

GNU/Linux is something of a DIY system and does demand a little more of its users than proprietary operating systems. However, the rewards are a deeper understanding of the processes involved in computing, with a much greater scope for customisation and creativity. GNU/Linux has developed into an operating system for business, education, and personal productivity. It is no longer the sole preserve of UNIX wizards hacking at their glowing consoles into the night. Free operating systems provide much more control over your working environment and a far wider choice of approaches. For some, that can seem an overwhelming embarrassment of riches; for others, it is simply nirvana.

Part of GNU/Linux's uniqueness is that it is a free implementation of UNIX. It was and still is developed cooperatively by a group of volunteers, primarily on the Internet, who exchange code, report bugs, and fix problems in an open-ended environment. Anyone is welcome to join the Linux development effort. This method of development makes it much easier for ordinary users to suggest changes or improvements and become involved in the development process. This is quite different from the paradigm of proprietary software, where you often don't know who wrote the program you're running, and would have no idea how to go about requesting changes.

This guide is aimed at creative desktop users, people who want to make art and freely express themselves using all the available media of the 21st century. Free Software has taken its time to come up with stable multimedia applications but now boasts an incredible range of software, which covers 2D and 3D graphics including animation and scanning, Desktop Publishing, web design, audio and video editing - along with more standard office productivity tools such as word processing and spreadsheets, web browser, e-mail, IM and FTP, along with a powerful command-line interface. Forget DOS, this BASH comes with colour highlighting and auto-completion; it works so well that some people use it as their primary means of getting work done.

This all comes as standard when you install 64 Studio, but further software packages can be installed and existing ones easily upgraded using the built-in Advanced Package Tool system, or APT. Using a friendly interface such as Synaptic, it is possible to upgrade the entire system to the latest versions directly from the Internet in only three clicks!

Four Freedoms

The unique cornerstone of a GNU/Linux operating system is Free Software. Free software is licensed in such a way as to allow users the freedom to run, copy, distribute, study, change and improve the software. More precisely, the term refers to four kinds of freedom for the users:

  1. The freedom to run the program, for any purpose (freedom 0).
  2. The freedom to study how the program works, and adapt it to your needs (freedom 1). Access to the source code is a precondition for this.
  3. The freedom to redistribute copies so you can help your neighbour (freedom 2).
  4. The freedom to improve the program, and release your improvements to the public, so that the whole community benefits (freedom 3). Access to the source code is a precondition for this.

"Free" in this context generally refers to liberty, rather than price. Users are urged to think of "free" as in "free speech", not as in "free beer". We also think of Free as being this awesome human being who leads 64 Studio development and maintains our software repositories.

A program is free software if users have all of these freedoms. These freedoms are enshrined and protected in the various forms of the GNU GPL or GNU General Public License, the most popular of the many Free Software licenses available.

Although these freedoms may not appear to have such a great impact on the casual user, as soon as you start creating products, materials or new software the benefits of the free flow of information and the ability to interact with the development process start to make a significant difference.

What is the GNU project?

The GNU Project was launched in 1984 to develop a complete UNIX-like operating system which is free software: the GNU system. Variants of the GNU operating system, which use the kernel called Linux, are now widely used; though these systems are often referred to as "Linux", they are more accurately called GNU/Linux systems.

GNU is a recursive acronym for "GNU's Not UNIX"; it is pronounced guh-noo, like canoe. Geeks love recursive acronyms, they make them feel special.

Before you start

First, back up any existing data or documents on the hard disk on which you plan to install 64 Studio. It is a wise move to back up all essential information that is on the target machine before you do anything else. It is likely that you will need to re-partition your disk to make room for 64 Studio. Changing your partitions around can result in accidental data loss, no matter what program you use to do it. This doesn't mean that we think there is anything wrong with the installation software, just that if you delete the wrong partition, it could be impossible to get your data back. Making proper backups is such a sensible idea that we will recommend it time and time again. Even after backing up, be careful and think about your answers and actions. Two minutes of thinking can save hours of unnecessary work.

If you are creating a multi-boot system, make sure that you have the installation media of any other present operating systems to hand. It is possible that you will need to re-install all or part of your old system in order to get it to work properly again if the install doesn't go smoothly. Better safe than sorry.

Information is power

You will benefit from gathering as much information about your computer as possible and any needed documentation, before you start the installation. Make sure your hardware is set up correctly and that everything you are going to want to use (network, printers etc) is all properly connected. In many cases, the installer will be able to automatically detect your hardware, but it is worth knowing a few details, such as:

  • How many hard drives you have, what order they are connected in and how they are partitioned, including how much free space you have and what other operating systems you already have installed;
  • Monitor model & manufacturer, screen size, resolutions supported, horizontal & vertical refresh rate and colour depth if you can find that out;
  • Mouse type and port (ps/2, serial, PS or whatever), manufacturer and number of buttons;
  • Video card, model & manufacturer, resolutions supported, amount of video RAM;
  • Model & manufacturer of your network card, type of adaptor;
  • Printer model & manufacturer, print resolutions supported;
  • and finally your Processor type and speed.

This information can be obtained from a variety of places; the manuals or documentation that came with your hardware, the BIOS setup screens accessible during the power on self test (POST) at boot time by pressing the DEL, F1 or sometimes CTRL+ALT+ESC key combination. The System window in the Windows Control Panel or separate diagnostic utilities. You should also check with your system administrator or Internet Service Provider for the settings you will need to set up your networking and e-mail, these may include;

  • Your host name
  • domain name
  • your computer's IP address
  • netmask
  • the IP address of the default gateway
  • and DNS (Domain Name Service) server address.

If a DHCP server is available, you probably won't need this information. If you use a wireless network, you should also find out the ESSID of your wireless network and WEP security key (if applicable).

Driver support

While you are at it, you may want to check whether your hardware is supported by Linux drivers. Most types of hardware should work out of the box, but there can be problems with hardware that is Windows-specific and some very new models for which Linux drivers have not yet been written. Check out the Hardware-HOWTO for further information. It may be worth checking over your BIOS settings to ensure that you don't encounter unexplained problems during installation.

It is commonly said that you only need to install a Debian system once. It is increasingly rare to ever find yourself in a situation that actually requires re-installation of the entire system, indeed it is much more likely that your system can be repaired rather than replaced if things go wrong. Upgrades certainly never require a wholesale reinstall, it is always possible to upgrade a running system. Similarly, most configurations do not require rebooting, and it is rare that rebooting will ever solve any problems - in fact, sometimes it can make things worse. Generally speaking, you should expect to perform repairs, upgrades and configurations on a running system once you have completed the initial installation.

A word about partitions

You may need to create some extra space for 64 Studio on your hard disk. If you already have another operating system installed, you may want to split the disk up, which will involve resizing your existing partition and creating a new one. Tools like Fdisk or PartitionMagic are usually recommended for this task, you may also find suitable tools in collections such as the Ultimate Boot CD. If your machine has more than one hard drive, it is a good idea to install 64 Studio onto the second drive. As a general rule, Windows cannot cope with multi-boot installations very well, so if you want both Windows and 64 Studio installed on the same machine, you should install Windows first, and let 64 Studio's boot loader launch Windows for you.

The partitioning tool that comes with the 64 Studio installer is powerful enough to handle resizing FAT or NTFS partitions, so it is entirely possible that you may be able to avoid this step altogether. You should certainly let the installer create any further partitions that are necessary for the 64 Studio install, as the Linux partitioning tools will generally do a better job. For this first step, you just need to make sure you have some free space for the installer to work with.

Download the installer

Now it is time to get the install disk and any specialised driver files your machine requires. Go to the download page and choose either an amd64.iso or i386.iso depending on the architecture of your machine. The amd64 image is for 64-bit x86 compatible chips from both AMD and Intel, which include the Opteron, Athlon 64, Turion, newer Sempron, Core 2 Duo and newer Xeon CPUs. The i386 image is for all older and low-power CPUs, including the original Athlon, the older Sempron, nearly all the Pentiums, the Via C3 and the AMD Geode.

You can download the image using your web browser or use a command line tool like wget; but it is usually faster to use a download manager, such as bittorrent or jigdo. Be sure to download the files in binary mode, not text or automatic mode. Next, burn the downloaded ISO on to a fresh CD. I used K3B, but you can use whatever CD burning software you have to hand, so long as it lets you burn an image directly on to the CD. This isn't data or an audio file, we want the burning software to make an exact bit for bit copy of the ISO onto the CD without adding anything or taking anything away. If you have problems, check that you have downloaded the image without any errors, by comparing the md5 sum of your download with that published on the 64 Studio site. If you still have problems with the installer, try burning the CD at a slower speed.

Minimum system requirements

You will need at least a Pentium II or equivalent to run the 32-bit build of 64 Studio effectively. It is possible to install on older hardware, but the machine will struggle to run the more CPU-intensive programs. Here are some suggested hardware minimums for music production work, which depend on the kind of applications you want to run:

  • Basic MIDI use >= 400MHz CPU with 128MB memory
  • Audio recording with minimal DSP plug-ins >= 800MHz CPU with 256MB memory
  • Soft synths >= 1.0GHz CPU with 512 MB memory
  • Mixing and mastering with heavy DSP >= 2.0GHz CPU with 1GB memory

If you have less resources than this, try using an external MIDI device to generate audio instead of a soft synth, or on a low budget, a Sound Blaster type card that supports on-board soundfonts. A good video card is also reckoned to be an advantage, as the on-board video chipsets use up system RAM.

AMD chips are preferred to Intel CPUs by some 64 Studio users. AMD invented the 64-bit extensions to the x86 architecture, so these AMD64 chips have been supported under Linux for longer than their Intel equivalents. For maximum performance, a dual CPU or dual-core system is a great choice, although it may use more energy, require more cooling, and therefore be noiser than a single-core system. Some audio problems have been noted with cheaper VIA and SiS motherboard chipsets in the past.

Booting the installer

Now you are ready to put the new disk into the CD drive and reboot your machine. This should present you with the friendly graphical screen for the Debian GNU/Linux installer that 64 Studio uses, and the boot prompt.


Press F1 for help, or ENTER to boot:


Unless you know you need special boot options hit enter and wait for the selection screen with the blue background to appear. If the CD doesn't boot, check your BIOS settings. You may need to change the boot order so that your computer attempts to boot from CDROM before the hard drive. Information on available boot methods and on boot parameters which might be useful can be found by pressing F2 through to F7. If you add any parameters to the boot command line, be sure to type the boot method (the default is install) and a space before the first parameter (e.g., install debconf/priority=medium).

Sometimes this part of the process can bring other hardware issues to light:

"...This didn't go at all smoothly, and I found my problems with my CD player were getting worse in a kind of randomly degenerating manner. I got so sick of listening to my CD player thrashing about and generally not doing as it was asked, The rather arcane error messages I'd been receiving didn't make an awful lot of sense, but it was clear that my CD player wasn't able to receive the control messages it needed, so I thought I'd take a peek inside the case (again) just to see if there was anything completely obvious that I'd missed.

I noticed that the Hard Drive and CD were plugged into the same IDE port, I mean I'd noticed it before and wondered why the other one didn't get used and assumed blondly that there must be some good reason. Well, I guessed it might not hurt if I tried plugging the CD player into the second one and Joy of Joys, my BIOS instantly recognises what I've done and prints an understandable message. Hooray!"

Selection of installation language

A stripped-down version of Linux is loaded into memory and various bits of information will scroll past the screen. You probably won't need to worry too much about these messages, unless your machine mysteriously fails during the process. Eventually you will be presented with a simple blue screen, from which the installer will prompt you for various bits of information:

  • Choose Language

  • Please choose the language used for the installation process.


  • Choose Country

  • Based on your language you are probably located in one of these countries or regions.


  • Choose Keyboard Layout

  • Select a keyboard layout


Activating the Ethernet network connection

Once you've chosen your language, the installer will scan your system for information about your hardware, check the CD for packages and load additional components to facilitate the next stage of installation. In this stage the installer attempts to find your network hardware and configure it using DHCP. If you do not have DHCP on your network, you can configure the network manually after installation (System > Administration > Network in the Gnome menu).

The installer will go on to detect your disks and other hardware.

Partitioning the hard disk

The next stage of the installation is titled 'Select drive to install on.' Up to this point we haven't installed anything permanent yet. Now we are approaching the only scary part of the process. Getting your partitioning scheme wrong is one of the few reasons you may ever need to re-install. You backed up all your data already, right? So you've nothing to fear.

On Linux, disk drives correspond to files in the /dev directory, and are referred to like this:

  • Primary IDE device on the primary IDE controller = /dev/hda
  • Slave IDE device on the primary IDE controller = /dev/hdb
  • Primary IDE device on the secondary IDE controller = /dev/hdc
  • Slave IDE device on the secondary IDE controller = /dev/hdd

SCSI and SATA devices are listed differently. They are usually /dev/sda, /dev/sdb, etc. If you have installed Windows on this machine, /dev/hda will usually be what Windows refers to as the C:\ drive.

It is best to choose Erase the Entire Disk here, or use the largest continuous free space if you want to keep any pre-existing content on your drive. If you are planning on dual-booting 64 Studio with another operating system, it may be wise to install Linux on a separate hard drive, although it's not strictly necessary. If the available space is larger than 40GB you may want to further partition the space in order to give you more flexibility later on.

Partitioning Scheme

If you have no idea about this, or a really small hard drive, you may be better off choosing All Files in One Partition. However, the choice of separate /home, /usr, /var, and /tmp partitions can help increase security and stability. If you are installing into 20GB or more of space, this is a good option. Check the suggested partitioning scheme, the guided partitioning usually does the right thing here. If you choose manual partitioning, you can use the installer to re-size existing FAT or NTFS partitions to create room for 64 Studio.

Select the partition you want to change using the arrow keys on your keyboard, and hit Enter. You will be presented with a list of options. Most likely you will want to re-size the partition, if anything. You will be prompted to write out the partition table first and then be prompted to input the desired size; you can enter this either as a percentage of the available free space or as a fixed amount of Megabytes.

Next, the system will set set up the partitions and then perform the resizing operation. Remember, you must assign at least one partition for swap space and one to mount a partition on /, the filesystem's root. There is a useful help file available from this screen, which is well worth reading for additional information. Select Finish Partitioning and write the changes out to disk.

WARNING: This action is not reversible. It is worth making a note of the partition table using a humble pen and paper while you're doing this, it may save an awful lot of faffing around later.

That's it, you are now committed to installing 64 Studio, this is the point of no return. The installer will now create the filesystem for you and set up the clock.

Installation of the system

Next you will be prompted for:

  • Root password

Root is the system administrator. Even if only one person uses the computer, you still need a separate password for this user.

  • Main user name, and password

Choose your password sensibly; make sure it is something you will remember, and be aware that all passwords are case sensitive under Linux. Short passwords or dictionary words aren't very secure.

With all that out of the way, the installer will begin actually installing the Base System; this can take up to ten minutes or so. Next the installer will select and install all the rest of the software you will need. The length of time this takes depends on your system. It took me about 45 minutes on a 1GHz Celeron. Now may well be a good time to make a hot beverage and grab a bite to eat. The process of unpacking and configuring the rest of the software doesn't require any user intervention.

If you get especially bored while this is happening, it may amuse you to know that you can access two other screens during the installation process:

CTRL+ALT+F2 will give you a command line, which hopefully you'll never need at this stage CTRL+ALT+F4 will show you a blow-by-blow account of what is happening during the install process

These messages can also be found in the file /var/log/messages. After installation, this log is copied to /var/log/debian-installer/messages on your new system. Other installation messages may be found in /var/log/ during the installation, and /var/log/debian-installer/ after the computer has been booted into the installed system.

Installing a boot loader

In order to let you choose whether to start up 64 Studio or any other system next time the computer boots, GNU/Linux takes control of loading the operating system, using a bootloader known as GRUB - the GRand Unified Bootloader. Check that the following operating systems have been discovered on your computer: includes any other operating systems you have installed. In which case, it is safe to say yes to overwriting the Master Boot Record. Next time you boot, GRUB will take over the boot process and offer you the choice of booting into 64 Studio or your other systems.

The installer will complete the installation once this is done, and eject the CD. Remove the CD from the drive and reboot. Assuming all has gone well, you have now completed the installation and are ready to use the system. Well Done!

If all hasn't gone so brilliantly, then you will need to get down and dirty, and do a crash course in GNU/Linux troubleshooting. GNU/Linux will often refuse to do anything meaningful unless it is configured correctly. While this can provide a bit of a headbanger for the new student, the payoff in system stability means it is well worth persevering with. Crashes and failures can often provide us with useful clues, and it is a good habit to copy or write down the error messages you get, verbatim, in case you need to search for further help on the Internet.

The Appendix pages provide trouble-shooting advice if your system refuses to boot the installer, and some guidance on what to do if you can't get a login screen immediately once you have completed the installation. We have also provided some links to various useful HOWTO guides and other resources mentioned in this text. Follow the instructions carefully and precisely, authors usually mean exactly what they say - trying to futz it from the bash prompt when you don't know what you're doing can often equal another few days of scorched frontal lobes. The good news is that you are far from alone, and there is a wealth of help and advice available - that said, it can be very useful to have access to another working computer that can access the Internet, especially if this is your first time installing GNU/Linux.

Appendix: Troubleshooting

The graphical interface fails to start

This is probably due to your video card not being properly detected. You may need to search the internet to find out if your video card is supported by X.org, and which is the right module (driver) for it. Note also that some NVidia and ATI cards need proprietary drivers to work with 3D acceleration, which you will need to install once the system is running.

Normally, after X setup has failed you will get a screen telling you that X failed to start and the option to view the error logs. Look for the lines marked 'E' - copy them out verbatim in case you need to search the internet for further clues. X.org can be reconfigured from the command line; you will need to log in as root, using the password you chose during installation. If your system is really wedged, you may need to reboot into rescue mode from the GRUB boot screen in order to do this. From the root prompt (#); issue this command: # dpkg-reconfigure xserver-xorg The configuration file is located at /etc/X11/xorg.conf - read this file well, you will probably need to modify it manually at some point. Also remember that if something has been modified manually you will then need to run the following commands in order to prevent your changes from being automatically overwritten by dpkg-reconfigure: # cp /etc/X11/xorg.conf /etc/X11/xorg.conf.custom # sudo sh -c 'md5sum /etc/X11/xorg.conf > /var/lib/xfree86/xorg.conf.md5sum' # sudo dpkg-reconfigure xserver-xorg 64 Studio cannot detect my DVD or SATA drives

This can happen with some DVD/RW drives and SATA hard disks. Check the settings in your BIOS; some people have found setting the SATA mode to "enhanced" instead of "auto" helped. Some BIOSes can be set to auto-detect your disks, you may also find setting the second IDE to "auto" rather than "CDROM" helps with DVD drives.

Configuration Guide

An introduction to the GNOME desktop, covering file management and launching applications;
system setup, including display resolution; printers and connecting to the internet via ethernet and wireless LAN. This chapter guides the user through loading the newly installed system for the first time and making some initial system settings.

Exploring the software

After your computer has booted, you should be presented with the graphic login screen. Enter the user name and password you chose during the install (or that your System Administrator gave you, if someone else installed it), and your new GNOME desktop should open up before you. The default screen may seem rather spartan, but it hides incredible power - all the tools you need to realise your creative projects sit before you. If the way it looks is not to your liking, you can customise almost every part of it - this is your desktop. Welcome.

Selections and Icons


When you have to choose an icon or menu item with the mouse, you may be told to select or to click or click on it. All these instructions mean that you should select an item with the cursor while depressing the left mouse button. Left-handed users may need to reverse this, naturally. Similarly, right click means to use the outside mouse button, while, middle click means to use the middle mouse button or the equivalent. Linux generally works best with a three-button mouse. If you do not have a middle mouse button, you can emulate three buttons by clicking the left and the right mouse buttons at the same time. Dragging is the action of moving the mouse whilst holding down the mouse button.

Some applications use a Windows or Mac style Clipboard, but there are also these things called the primary and secondary selections. The middle mouse button is nearly always configured to paste the primary selection, which is the bit you just highlighted with the mouse (just in case you were wondering).

The icons on the desktop open up file-browser windows when you double click on them: for the computer; your home directory; any mounted partitions and the wastebasket respectively. The main menu is located under the 'foot' icon on the extreme left of the panel at the bottom of the screen. On the right hand side you have a clock, volume control and desktop switcher. You have four independent desktops that you can spread your work over, and then easily switch between views by clicking through the squares on the right hand side of the panel.

Main Desktop Menu

If you are used to having icons for your most commonly used applications on the desktop, you can drag the entry from the menu on to the desktop or panel, where a link will be automatically created.

Administration

Most of 64 Studio's configuration tools are in the Desktop > Administration menu. You need to have root privileges to use most of these configuration tools. If you're not the person who deals with this stuff on your machine, you can skip to the end of the page.

If you find you have problems accessing these functions as root, receiving messages like "You are not allowed to access the system configuration" or "There was an unknown error communicating with the backends:", it is possible that you don't have the package libnet-dbus-perl installed / configured correctly. The fix for this is as follows:

# apt-get install libnet-dbus-perl
# /usr/sbin/64studio-config new

Networking

The installer should configure the network for you. If for some reason that hasn't happened, then you will need to configure the network by hand.

The network configuration utility can be accessed from the Desktop > Administration > Networking menu entry. You can also invoke it from the command line thus:

# network-admin

You will be prompted for the root password, then a window comes up listing all the available devices, You will probably want to select the Ethernet connection. Click the Properties button and check enable this connection. Choose DHCP under Configuration unless you know you want to use a static IP address. OK your settings.

Back at the main Network Settings window, click the Activate button and you should see the message that interface eth0 is now active. You may need to specify DNS addresses in the DNS tab if using a static IP address (DHCP connections should pick up DNS addresses automatically). These DNS addresses are stored in the file /etc/resolv.conf.

If you use dial-up or PPPOE (PPP over Ethernet) on an ADSL connection, use pppconfig or pppoeconf instead.

If you're on a laptop with a PCMCIA network card, you may need to configure pcmcia-cs before this will work. Common and well-supported PCMCIA network cards are usually set up automatically.

As this is a GNU system, there are several different methods you could use for configuration. If you have a preferred method of setting up your network, it should also be available, and you can always edit /etc/network/interfaces by hand. The information you need to do this is at:

# man 5 interfaces

The name of your computer is kept in the file /etc/hostname, check that is correct. If there are other machines on your network, you can list their hostnames and network addresses in the /etc/hosts file, so your machine can easily find them.

You can then bring the network up with:

# ifup eth0

And bring it down again with:

# ifdown eth0

or whatever interface you are using instead of eth0. You can also do this with the Activate and De-activate buttons in the Network Settings interface.

You can check whether the network is active by pinging a known address, such as a modem configured to act as a gateway:

$ ping 192.168.0.1

If it comes back with a list of times taken to get a response and 0% packet loss, you can be sure that the network is OK. If you are experiencing any degree of packet loss, then you need to delve deeper. System Tools > Network Tools provides a box of graphical tools for further investigating the network.

Wireless connections

Wireless network connections are set up in the same way as Ethernet, except there are extra fields to fill in with details of your access point. If you configure your wireless connection with the correct details but it does not work, you should search on the internet for information about Linux support for your specific hardware. You will need to make sure the wireless-tools package is installed before you can configure your wireless card, with applications such as iwconfig.

Printing

In order to set up a new printer, double click on the 'New Printer' icon. Follow the steps presented to you by the wizard. Choose the means by which the printer is connected, find the Manufacturer and model from the drop down lists, and click Apply. You should see your new printer appear in the Printers window. You can also configure your printer using your Web browser, go to http://localhost:631/ and follow the instructions. For command line queue management, read the manual pages of lpq(1) and lprm(1). See the links at the end of the page for further reading.

Services - Taming daemons

One of the common questions asked by new users concerns the various services that the computer keeps running in the background. Under Linux these are known as daemons. 64 Studio enables a limited set of daemons, so that your computer has more resources available for making music, editing video and other real-time operations. You probably won't need to worry about these initially, but they can be easily managed from Desktop > Administration > Services.

By default, you have running:

The configuration files for these services live in /etc/init.d/ and are started and stopped by means of links in /etc/rc2.d/, which can be updated via the update-rc.d command. Further information about what these daemons do can be found by looking up the respective man pages.

Users & Groups

When you installed 64 Studio, you will have created at least two user accounts: a regular user account for everyday computing, and a root account for system administration. Normally, you also want one regular user account for each person who uses the system. User accounts can be managed via System > Administration > Users & Groups.

In order to create a new account, click on Add User then Add the new username and password. You can have a random password generated if you want, but it's probably more useful to choose something memorable. You'll want to leave the advanced settings as they are unless you know what you're doing, but you may want to set various user privileges, such as being able to use audio devices and CD-ROMs.

For greater security, Linux makes strict use of accounts. Unlike some operating systems, you cannot bypass logging in to the system by pressing the Enter key. Most users have only limited access to files. Typically, only the root user (also called the superuser or system administrator) has access to all files. User accounts are organized into groups of accounts with similar access to the system. The software and the hardware you can use depends on the user account that you are using and the groups to which it belongs. One of the most common problems faced by new users is not being able to open files due to not having the right permissions.

Synaptic

Synaptic allows you to install additional software as and when you need it. You can find it on the System Tools menu. The software is organised into downloadable Packages, which can be further grouped into Tasks for ease of installation.

Upgrading: Click on the Reload button, Synaptic will download all the new package information available and then click on Mark all Upgrades. In the left-hand panel there are four buttons at the bottom, click on Custom Filters > Marked Changes to check what changes are being recommended. If you are happy with what you see (you can usually trust the APT system to do the right thing) then click on Apply. Synaptic brings up a summary screen to give you a last chance to change your mind, which if you confirm your choices, will fetch the necessary packages from the repository and install and configure them. Occasionally it may prompt you for some input, but mostly it will do it all for you. As soon as you exit Synaptic, the new applications should become available in your menu.

If you've just installed 64 Studio, the chances are there won't be all that much to upgrade just yet, so far so boring. However 64 Studio only supplies a limited set of applications (a measly 941, most of which you'll already have installed) and you may soon discover that you want other free software to run on your system. The good news is that there are nearly 17,000 more packages available from Debian, most of which will work well in 64 Studio.

First we go to Settings > Preferences; in the Distribution tab change Package Upgrade Behaviour (default distribution) to Prefer versions from: 64studio and click OK. Second, we open up Settings > Repositories and click on New. In the URI: field paste the address of your nearest Debian mirror, this can be found at http://www.debian.org/mirror/list, I put in ftp://ftp.uk.debian.org/debian/. In the Distribution: field you want to include the version of Debian closest to 64 Studio, at the moment this probably wants to be the stable branch (codename etch). The Section(s): field should contain at least main, but you can include contrib and non-free if you really need to. You will have to click on the Reload button again for your changes to take effect.




Now you have 17,000 more packages to choose from. Nice. If you want to find a particular package, use the Search dialog to find it, Synaptic will provide a filtered list with all applications that mention your search term in the package name or description. In order to install a package, right click on the entry and select Mark for Installation. Synaptic will probably come up with a list of recommended changes; it's usually best to accept them, unless you know better.

See also: Upgrading 64 Studio

Shutting Down

Eventually you realise that your eyes are beginning to fall out of their sockets from too much reading. It's probably time to switch the computer off for a bit and slip into something more comfortable, like sleep. Linux generally runs several processes at once, most of them in the background, where they are easy to forget. For this reason, shutting down the system properly is essential. If you do not shut down properly, you may damage the operating system or lose files. Although the ext3 journaling file system provides some protection against unexpected power loss, there's no need to risk possible system damage by reckless disconnnection. You can shut down safely from the menu, command line or log-in screen. In an emergency, such as a software crash, it is usually possible to get the machine to safely reboot using the Ctrl+Alt+Del key combination. As a general rule, so long as your keyboard still works (you can usually test whether the CapsLock or NumLock keys light up their respective LEDs) you have a chance of safely rebooting the machine.

Now you are ready to start personalising your working environment.
Next: GNOME Preferences

links

Jargon busting
There is a lot of jargon that goes along with Free Software - processes, packages, daemons, bash, HOWTOs and so on. The best resource to study is Eric Raymond's famous Jargon File and its print version, The New Hacker's Dictionary. You may find it useful to keep it open in another browser tab while you're reading this if you're new to Linux.

The Linux Documentation Project:
Linux Tutorial
Configuration HOWTO

Network config:
Debian Reference - Network configuration
The Network Administrators' Guide
Linux Networking-HOWTO

Printing
OpenPrinting - The Linux Foundation
CUPS Printing Setup Mini-HOWTO
Common UNIX Printing System

GNOME Preferences

The GNOME desktop is an infinitely customisable environment. The Desktop > Preferences menu provides the means to adjust the most commonly used settings. Here follow some suggestions on how to tweak GNOME appropriately for your own needs.

Accessibility

Assistive Technology Preferences: You may want to install additional software such as Orca and Gok for the latest features
You can configure assistive technology support such as the Gnome Screen reader, Magnifier or On-screen Keyboard, should they be required. You will need to log out and back in before these changes will take effect.

About Me

About me:
Fill in personal details. Most importantly, this dialog allows you to change your password if necessary.

CD Database Server

Configure the system to look-up and submit CD track listings.

Desktop Background

Desktop Background
You can choose one of the supplied images or import one of your own. The dialog allows you have the image fill the screen, centred, scaled, zoom or tiled as you choose. You can also choose to have a plain colour instead.

The process of creating a new desktop background is simple, just create a new folder called 'wallpapers' or something similar and save appropriate artwork into that. You can make wallpapers yourself quite easily using one of the graphics applications.

File Management

File Management Preferences
Configure the behaviour of nautilus, the file browser. Nautilus also controls the look and behaviour of your Desktop.

File Associations can be controlled by selecting Right-click > Properties from the File Icon's context menu. The Open With tab controls file associations and the Permissions tab controls, erm, permissions. So long as you own the file you should be able to edit as you see fit.

Files with names beginning with a dot (period) are hidden by default. Tick View > Show Hidden Files in order to view them with the file browser.

Font

Font preferences
Choose which fonts are used to display things on the desktop. Some users find larger fonts or a different style such as serif can make on-screen reading easier.

If you don't like the initial font selection in 64 Studio, you can get more fonts from the main Debian repositories. Search for "fonts" using the Search facility in Synaptic. Look for packages starting with "ttf" or "xfonts", there should be plenty to choose from.

Keyboard

Keyboard Settings: The button at the centre bottom of the dialog allows you to configure AccessX features such as sticky; repeat; slow; bounce; toggle and mouse keys.
Configure keyboard behaviour to suit your needs.

Keyboard Shortcuts (Hotkeys)

Edit your keyboard shortcuts
Many functions can be called using key combinations, as in other operating systems. Linux's equivalent of 'hotkeys' are called keybindings: there are two main conflicting standards - A sort of Windowsy one and the GNU-emacs standard (all that C-x C-c stuff you keep seeing) The good thing is you can usually define your own.

Login photo

Login photo
You can drag an appropriate image of yourself to be used on the GDM login screen. You need to use a theme that displays a list of users for this to work.

Menus & Toolbars

Menus and Toolbars
Configure the behaviour of Menus and Toolbars on a simple level.

Mouse

Mouse Preferences
Configure the mouse for left handed use, pointer themes etc.

Multimedia systems selector

Define the default plugins to use to play Audio and Video. You shouldn't have to mess with this.

Network Proxy

Network Proxy
If you don't know what one of these is, you probably don't need it right now. Your network administrator may require you to use a proxy to access the internet, if direct connections are disallowed.

Preferred Applications

Preferred Applications
Allows you to specify which Web browser, mail client and terminal application you want to use as default. For greater control over default applications, you need to use the command-line

# update-alternatives --all

This will take you through all the application types that have multiple posibilities and offer you the choice. If you don't know or care, you can press enter to choose the existing default.

Removable Drives and Media

Hardware Preferences: Drives, Cameras, storage devices, printers scanners etc.
Configure how the system deals with external drives and devices, like digital cameras, removable storage devices, PDAs, printers, scanners and the like.

Screen resolution

Screen Resolution
Adjust the screen resolution from your desktop.

Screensaver

Screen saver preferences
Choose screensaver themes and fine tune them. You can choose whether to lock the screen when the screensaver activates, this forces you to enter a password when you return to your computer before you are allowed back into your Desktop. It's enabled by default, but only really useful in multi-user situations.

Sessions

GNOME Session management
This allows you to save your session. Whatever applications you have open now will start up the next time you log in. You can manage your Current Session in the middle tab. Select any applications that you don't want to start up by default and click on the Remove. When you are happy with the list you have left click on Apply. You can configure which applications you do want to open up by default the next time you log in, by adding them to the list in the Startup Programs tab. Once you're satisfied with your choices you can click on the Save the current session button in the Session Options tab.

Sounds

Desktop Sound Theme preferences
Enables you to choose audible alerts and ear-candy themes. This is disabled by default in 64 Studio.

Theme

Visual theme preferences
New themes can be installed using Synaptic; go to Sections > GNOME Desktop Environment and select gnome-themes-extras for installation or choose one of the gtk2-engines-* packages. Alternatively there are lots of themes available online (see links below).

Themes, Icons and window borders can be installed by dragging and dropping them onto the theme manager.

It is possible to create custom themes by mixing and matching theme, icon and window border sets and it is also possible to edit your gtkrc file and make custom pixmap textures to create further variations.

Volume control

Volume controls
The default mixer for the audio system. File > Change Device allows you to switch between audio devices if you have more than one attached to your machine. Edit > Preferences controls which channels are visible.

Windows

Window behaviour
Hold down the ALT key whilst dragging with the mouse to move windows around.
The behaviour of windows can be further modified in Desktop > Preferences > Windows.

links

Accessibility
GNOME 2.14 Desktop Accessibility Guide
Linux Accessibility HOWTO
Desktop Themes:
http://art.gnome.org/
http://www.gnome-look.org/

E-mail and Internet

One of the first things you're going to want working on your new system is Internet access. This section walks you through the basic steps to get email set up, configure the web-browser and get chatting on IRC.

Configuring E-mail

Launch the default e-mail client from the main menu Internet > Icedove Mail Client
First you will be prompted to import Preferences, Account settings and Address Book. If this is a new install there will not be anything to import, so select Don't import anything and click Next. Icedove should open up with the New Account Wizard activated; you probabaly want to set up at least one email account. First you fill in the name you want others to see in the 'From' field when they receive your emails and the address that they will send emails to you by. Next choose whether you want POP or IMAP (POP mail is downloaded onto your computer and is the usual choice, IMAP reads mail from the server and requires being on line, this second option is less usual) and fill in your incoming and outgoing server with the addresses that were given to you by your ISP. Next, you need to fill in your actual user name as given by your ISP (this may be different from your Identity that you specified first). Lastly, you specify how you want Icedove to refer to this account. You can put whatever you like here, something nice and clear like Personal Email would work.



Assuming you have filled in all the details correctly, Icedove will immediately connect to your email server and attempt to download your emails. You will be prompted for the password given to you by your ISP.

Because of the problems of spam you may need to train Icedove to recognise junk. When you download your emails for the first time, Icedove will do its best to figure out what is spam, and what isn't. It is a very good idea to go through the mail once it has all been downloaded and correct Icedove's guesses. You will see that some mails have a junk icon in the 6th column, in between Sender and Date. Clicking in this space will toggle the setting. Once all the mails have been correctly identified, go to Tools > Delete mail marked as junk and move all the spam into Icedove's trashcan. If you are sure that you don't want to keep any of it you can get rid of it permanently by clicking on File > Empty Deleted.

Now might be a good time to consider signing up to the mailing list.

Make your web-browser use your email client



New users often find that clicking on email links in web pages brings up an unfamiliar interface. The fix for this is to set Iceweasel to mail links using Icedove. In Iceweasel, type about:config in the URL line and hit Enter. That results in a display of a long list of advanced preference settings. Then, perform these steps:

Right-click > New > String
in the dialog box, type network.protocol-handler.app.mailto and click OK
in the next dialog box, type /usr/bin/icedove and click OK

Finally, be sure there's a symlink at /usr/bin/icedove that points to your system's Thunderbird executable. Iceweasel's preferences are stored in /home/<username>/.mozilla/firefox/<profile>/prefs.js.

Configure Iceweasel to use ALSA

Edit /etc/iceweasel/iceweaselrc to include
# which /dev/dsp wrapper to use
ICEWEASEL_DSP="aoss"

Extending Iceweasel

Iceweasel's extensions are add-on programs which are installed within Iceweasel from the Mozilla web site. Extensions are available for Blogging, Web Developing, Dictionaries, Download Tools, Editing and Forms, Image Browsing, Languages, Message Reading, News Reading, Privacy and Security, Search Tools and lots more. To add an extension click on Tools > Add-ons to bring up the Extensions dialog.

Flash

Enabling Flash is now a simple job.
# apt-get install flashplugin-nonfree nspluginwrapper

The flashplugin-nonfree package is actually a wrapper which downloads the latest proprietary plugin from Adobe when you install it. You will need to restart the web browser before this takes effect.

You can test the plug-in by visiting a site that you know has flash content such as http://www.myspace.com/. If, for some reason installing the flash plug-in didn't work you have the option to click on the 'install missing plug-ins' button, which will appear at the top of the page, or you can also install it from the Tools > Add-Ons menu in Iceweasel, which will take you to the Firefox website https://addons.mozilla.org/firefox/plugins/

Flash player is in the plug-ins section. The link takes you to the Adobe site and you will want to download the .tar.gz file which will be something like http://fpdownload.macromedia.com/get/flashplayer/current/install_flash_p.... Follow the instructions, extract the package and run the installation script as root. This will enable all users to take advantage of the plug-in. You will need to tell the installer where your copy of Iceweasel is located, which will be something like /usr/lib/iceweasel or /usr/lib/firefox if you're not using the Debianised version.

Firefox / Iceweasel what's the deal?

Iceweasel and Icedove are re-branded (i.e. Debianised) versions of Firefox and Thunderbird respectively. This is due to an ongoing argument over trademark issues, which I can't be bothered to go into here. We use Snowpigeon and Slushferret, or was that Frostchimp? If you don't like it, install something else. This is Linux, you're in control now, you'd better get used to it.

Chatting and Messaging

Messaging software can be found at Internet > Gaim Internet Messenger. Go to the Accounts menu and click Add/Edit. Gaim supports AIM/ICQ; Bonjour; Groupwise; IRC; Jabber; MSN; QQ; Simple and Yahoo. Gaim will then connect to the specified account and you can start messaging right away. This would be a good point to set up an IRC account. Just specify a nickname in the dialog provided in Accounts > Add/Edit with irc.freenode.net as your server. You don't need to create a password. Login to #64studio using Buddies > Join a Chat and say hi.

Next: Advanced configuration

Links

Mozilla’s Thunderbird 2 email application
Firefox Web browser
Pidgin - a multi-protocol Instant Messaging client
What is IRC?
Internet Relay Chat (IRC) help archive

Advanced configuration

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

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

2D Graphics

This chapter of the Creative Desktop will provide a gentle introduction to: Bitmap editing with The Gimp; Importing images from a digital camera or scanner; Photo management with gThumb or similar; Vector artwork and illustration with Inkscape and Font management and creation. Everything you need to know to get you started on the path to producing professional quality photos and graphics.

The Geeks shall inherit the mirth

The first challenge facing us is that what it takes to be creative can seem almost diametrically opposed to the usual geek logic prevalent in Linux-using circles. For many people, creativity begins in blue-sky or cloud-gazing mode. So we shall begin by taking a break from the computer and indulging in a gentle 'mind-shower' or 'brainstorming' session. The time and effort spent reading online manuals, reconfiguring your soundcard or kernel or whatever is all time lost for staring out of the window and thinking brilliant creative thoughts. Sometimes the embarrassment of riches offered by Linux can be the very thing that gets in the way of this.

My favourite tool for this job is the creative diary, for which I like to use a physical A4 book with lined pages and an analogue inscription tool (aka: a pen). Computers tend to force the mind to work using rather linear, granular logic. It is useful for the creative process to get away from this for a moment. Open up a blank page and start writing. Write anything you like, your exact thoughts precisely as you think them, disable your internal editor for now and simply fill up three A4 sheets or the equivalent with mental verbiage. Close, file and forget.

This is a very useful exercise first thing in the day or whenever you need to clear your mind. The usefulness of this technique will become apparent the more you do it. The most important part is to get into a flow with it and not worry about the results or try to edit your thoughts in any way. In its purest form you would never look at these notes again and possibly destroy them immediately. That is one approach, I like to use my diary as a store of useful ideas that I can draw upon later in the creative process.

Working up the fluff

This is where we define our project and indulge in the flights of fancy and other emotional predilections that give our project meaning. Too many technology driven projects suffer from being proof-of-concept pieces. This is a worthy exercise in itself, but we need to focus on our final product, music CD, game, cartoon series or whatever and the message that we want to get across. Firstly the project needs at least a working title, as well as a central character or two and some sort of seed plot or motivation behind the story. Did I mention fun? One of the most important reasons for using Linux creatively is not only that you can control every aspect of the project without having to ask anyone's permission, which in itself is pretty cool, but also that it is simply great fun.


For the purpose of this series we need a pretty broad-based project to use for our examples. I propose an all-singing all-dancing anthropomorphic gang of Linux advocates who are preparing to storm the world with open-source multimedia joy. For want of a better moniker we shall call our mythical multimedia production crew Pengwyn Parc. Great. They are all set to make it big on the international circuit now. They've got the songs written and rehearsed, they've got the dances choreographed, the video storyboarded and the penguin costumes. All they lack is a production budget. Inspired by the thought that it's possible to get a number one hit without the backing of a major record company these days, they've holed themselves up with a computer they saved from the skip and installed a whole load of free software on it in their hastily converted bedroom studio. Now they are ready to unleash the potential of open source software on the world, but where to start?

The GIMP

Preparing graphics and photos is probably one of the most common tasks you will need to deal with, so the GIMP is an appropriate place to start our adventure into the creative side of Linux. The application itself is one of the oldest flagships of creativity, without which our screens would be drab places indeed. Despite the awful acronym, it has become the primary graphical manipulation tool on the Linux desktop and in many cases it is just the tool for the job. Once you realise that everything you see on your screen can be manipulated using The GIMP, its omnipotence in the visual realms becomes very relevant.

So, let's fire up The GIMP from Graphics > GIMP Image Editor and get to work.

Preparing Graphics

If you have never used The GIMP before you'll need to go through the User Installation dialog. It is normally fine to click Continue on each of the panels, when it is done The GIMP should boot up nicely and you will be presented with the two vertical toolbars and the Tip of the Day panel, get rid of the Tip of the Day for now, you can always read that later. At the top of the main column, which will probably be on your left, are three menus: File, Xtns and Help. Select File > New ... and you should be looking at a dialog called Create a New Image. From the drop down box marked 'Template' We're going to choose Web banner common 468x60. One day I'm going to find a use for the US standard Toilet paper setting I'm sure. Click OK and you will be presented with a nice blank banner ready for your smart new logo.



Back on the main column, you will see an icon panel beneath the main menu, this is your Toolbox, click on any of these and the various associated options will be shown in the bottom half of the column. We're interested in the Text tool right now, which appropriately looks like a T, and sensibly, this is also the keyboard shortcut. If you place the cursor over your new banner it will turn to an I-beam indicating that it is ready to insert text. If you click on your blank canvas, somewhere to the left I'd recommend unless you're writing in Hebrew, the GIMP text editor should appear. Type in some words. Great, now something should show up on your new canvas.


Going back to the Tool options on the bottom half of the main column, we can now adjust the text properties, find a nice font, resize and colour it to taste. You will notice an interesting option at the bottom of the list - Create path from text - click on it now. If you look over at the second column the Layers,Channels,Paths dialog should be prominently displayed. You will see that the GIMP has created a new layer for your text leaving the background blank. This is good. This dialog has four tabs which allow you to access the Layers (what you are looking at now), Channels, Paths and Undo history. Let's look at the Path you've just created by clicking on the Paths tab. You should see the path listed in the dialog box. By clicking on the blank space furthest to the left it is possible to view the path. Bear in mind that the path, similar to making a selection, won't affect the image itself unless you do something with it. The simplest thing to do is to use it to create an outline for the text. If you right-click on the entry in the dialog box it will bring up a context menu from which we want to select Stroke Path ... Give it a line width of 1 pixel (1px) and apply. This should create a black border round your text. If you are not happy with your results you can always Undo (Ctrl+Z or the first item in the Edit menu) and reapply. Try experimenting with different foreground colours and line widths until you are happy.

Before you go much further save your work. Get into a habit of doing this every time you sit back from the computer and think 'What next?'. You will thank yourself for saving often. Save it as a .xcf - the native GIMP format while you are working on it, we can export it later.

You may want to experiment with the move tool (the arrow-headed cross icon or M key) to position the text where you want it, you can also use the arrow keys on your keyboard for this. Next we're going to need a cute anthropomorphic penguin character (of course). I've got one, but it's part of another picture. No problem, we can open up the image in the GIMP and cut around the image using the intelligent scissor tool, the scissors with a wiggly line icon that is labelled Select shapes from image. You will notice that all these tools have keyboard shortcuts too, this one is I. Once we have the shape outlined by clicking on various points around it, clicking in the middle of the shape selects it. From here we can Edit > Copy and Paste as New from the menu and save that as a separate image for now. You may want to use the Eraser tool to clean it up a bit. I generally prefer a small hard-edged circle 3 pixels wide and enable the Hard edge option for cleaning up work.


Let's leave that open and go back to our logo. This is where we have to start remembering which window we have in focus, which layer we are working on and what we have selected because changes only affect the selection on the active layer. If we right-click on the layers dialog again this time we can select New Layer ... it should be the same same size as the image by default and we want the Layer Fill type to be Transparency. Now our changes will only affect the New Layer. Now we can go back to our penguin picture and Copy it. It may be a good idea to resize it before we do that, bearing in mind that this banner is only 60 pixels high. Image > Scale Image ... will bring up a suitable dialog. If you leave the x and y coordinates locked, then changing one will automatically adjust the other. Then Select > All and Edit > Copy. Bring the banner back into focus and make sure the New Layer is still selected. Edit > Paste and then use the Move tool to position it where you want. You can then either right-click in the layers dialog and Anchor Layer or click in the image when you get the anchor cursor. Don't forget to Save.


For a final touch we want to brighten up the background, for which we're going to use a pattern fill. Select the paint bucket (Shift+B) from the toolbox and choose Pattern fill from the options underneath. Select a suitable pattern, I chose 'Pool Bottom' for this, now go back to the layers dialog and select the background. This step is very important, we don't want to wipe out what we've already done. Then you can click almost anywhere on the canvas and flood it with the chosen pattern.

I'm not happy with the contrast so with the background layer still selected I go to Layer > Colours > Hue-Saturation ... and play around with the values. I give it Hue +30 and Lightness -70 Leaving the saturation alone. Much better.



We now have a basic logo, which will serve us for now. We can export it using the File > Save as ... dialog and selecting a file type of something like PNG image. This will render it into a format usable by other applications. You will be prompted for various options, the defaults are probably going to be fine for most purposes.

links:

http://docs.gimp.org/
http://gimp-savvy.com/BOOK/

Inkscape

Manipulating pixmaps is all very well, but when it comes to creating original, scalable graphics we need to investigate Inkscape's vector drawing, bézier curves and calligrapy tools. This is a gentle introduction to the art of editing SVGs with a little bit of ImageMagick thrown in for good measure.

Ink blots in the copybook

The creative path rarely runs smooth. Pengwyn Parc had a project meeting and decided that they don't like their new logo after all and nobody likes the penguin suits. Faced with a problem like this, they have no choice but to think laterally. Perhaps we shouldn't worry too much about coming up with a complete new image or even a new logo, instead we will look at other ways our team might create alternative designs that could be incorporated into a new logo. These designs could be used in various different ways, on the website and in the product itself, so it will pay to think ahead.

There are several classic approaches to lateral thinking. The first is to write down the problem in your creative diary. Stick a 'Do not disturb' sign on your door, give yourself time to ponder and let your mind wander. Often the process of defining the question, as most programmers know, will give rise to the answer. If not, allow yourself time to chew it over and to consider the ridiculous and apparently impossible. Remember, the editor is banned from creative diary sessions. If that still doesn't help you may want to try some random advice, such as drawing one of Brian Eno and Peter Schmidt's Oblique Strategy cards. If you find yourself coming up against a brick wall, stop going forwards and start looking for ways around the problem.

Our design team disappeared clutching their creative diaries and agreed to meet up in an hour's time. Ashlee managed to come up with some dubious potential project titles: "A little something for the weekend, Reverend?" and "Kneel in Respect (before Pengwyn Parc)". Baz reckoned they should simply call the project "Headache", his idea didn't seem to go down too well with the others. Kenny got some ideas for a rap and Tabitha ended up with a page full of doodles. The doodles aren't really good enough to scan in, they want smart computer graphics, preferably in a format that can be easily resized.

Baz snorts; "I bet Linux doesn't have anything like Corel Draw?"

"No," Tabitha replies thoughfully, "but it does have Inkscape." She clicks on the appropriate menu entry and a new document opens up.

As you can see, our little brainstorming session hasn't got us much closer to a new logo or indeed any semblance of a plot, but we now have some main characters, potential titles and a different approach to making new graphics. Lateral enough for you? Let's see what Inkscape can do for us now.

The Great Inkscape

Inkscape is well documented, start at Help > Tutorials > Inkscape: Basic and work your way through. The tutorials themselves are in SVG format, so you can try things out as you read them. There is a satisfying recursiveness about this. The learning curve for Inkscape is nice and gentle, the tutorials can be worked through in a day, by which time you will already have come up with some pleasing designs and have gained enough confidence to develop your ideas through further experimentation.

SVG stands for Scalable Vector Graphic, which is a standardised format based on XML, so it can even be edited using a text editor if need be and is immediately usable outside of Inkscape. It can also export to PNG and a few other useful formats. Most of the commands are available through logical keyboard shortcuts. You don't have to learn all the shortcuts at once as all the commands are available from menus too. Once a particular tool is selected, all its parameters show up in the controls bar beneath the menus. This can be great for quick edits or putting in specific values.

Like the GIMP, Inkscape has a variety of pre-formatted document sizes including standard paper sizes, CD covers and icons. It also has a nice selection of pre-formatted shape tools that will satisfy the five-year old in most of us and provide a useful way to start playing around with the possibilities of this application. The shapes can be manipulated via their handles, square ones for resizing and round ones for reshaping. The star tool is rather cool and as warned, somewhat addictive. You can make all sorts of shapes from mandalas to randomised ink-blot shapes as well as conventional stars. It is possible to achieve many different effects purely using Inkscape's powerful shape tools.


If the effect you want requires more complex editing you can convert the shape to a path (menu: Path -> Object to Path), which allows you to edit the bézier curves more precisely. Editing bézier curves is a slightly peculiar process if you are not used to it, but it is well worth becoming acquainted with this art if you want to create smart computer graphics. If you click on one of the square nodes, its 'handles' will be displayed along with those of the adjacent nodes either side. By experimenting with pulling out and adjusting these handles, pretty much any shape you imagine can be produced with a little practice.

The calligraphy tool is another great source of immediate gratification. For actual calligraphy, it is useful to provide yourself with some guide lines, which can be pulled out of the rulers on the top and left hand side of the document just as you would do in the GIMP. The tutorial recommends the use of a graphics tablet if you are really serious about your calligraphy, but for the dabbler, the mouse will do just fine. Once you are done, the results can be filled and stroked and the curves edited the same as with the shapes.


Alternatively text can be created using the text tool. Whilst still in text mode it is possible to alter the kerning of the whole text or individual pairs of letters or move them up and down relative to the baseline, which can produce some interestingly funky effects. The text can also be made to follow a path or flowed inside a text box and of course converted entirely into a path. It is useful to remember that SVGs will use the fonts that are installed on the system, so this may change the look of the final design on different systems that don't have the same fonts installed. Converting the text to paths will get round this problem and also allow you to make further transformations.

Format Conversions

Once you are happy with your design save it and you're done, the SVG format can be used in many contexts within Linux. Sometimes you may need to save in other formats or export the image. What's the difference and why are there so many different formats? Let's start by looking at File > Save As... This offers us the opportunity to save as SVG, SVGZ, PS, EPS, EPSI, POV, AI, PDF, DXF or TEX formats, these options save the vector information into formats useable by other applications to varying extents. Exporting is the process of rendering the image into a static bitmap: File > Export Bitmap... The dialog allows you to select a particular area of the image or part of the page and allows you to specify the bitmap size. Best to let Inkscape automatically work out the dpi (dots per inch) unless you really know better. The format you choose is up to you, Inkscape can export to a wide variety of formats. If the graphic is going to be used only within Linux then PNG is probably the best choice. PNG is also a good substitute for the awkwardly licensed GIF on webpages. BMP is the Windows standard as TIFF is for Macs, you don't really need to know about any other formats unless you know you do.


If Inkscape can't handle the conversion you can always import the bitmap into the GIMP and perform further alterations before saving it into the wide array of formats that the GIMP supports. You can even save it as an ASCII art file in TXT format if you really want! If you want to apply the same operations to many images or repeat a specific operation at different times to the same or different image, it is worth knowing about ImageMagick. This allows you to do neat stuff like converting all your screenshots into a directory of numbered thumbnails using one single command:

$ convert '*.png' -resize 100x100 thumbs/%03d.jpg

The documentation for ImageMagick is pretty comprehensive, in combination with Inkscape and the GIMP it should be possible to realise any static 2d image you can imagine. It shouldn't take long before you are able to produce suitable images to brighten up your webpages and promotional materials. I have only given the briefest of introductions here, over time you will discover the wealth of functions these applications have to offer.

Of course, Pegwyn Parc are impatient; Baz is already designing a 3d role-playing adventure game in his head; Ashlee thinks they should do a Flash animation for one of their songs; Kenny wants to broadcast their next gig on the internet. Tabitha reminds them that they have a lot to learn before they are ready to launch a full-scale multimedia production. However, if they take it step by step, building on the knowledge they already have, they should be able create something usable and professional looking without having to get bogged down in details.

Happy Creating!

links

Oblique Strategies
http://music.hyperreal.org/artists/brian_eno/oblique/oblique.html

Inkscape documentation
http://www.inkscape.org/

ImageMagick
Introduction to ImageMagick
Command Line tools

FontForge

Font management and creation is a subject which has long been shrouded in mystery. This chapter hammers out the truth about typefaces and guides us into our first foray with fontforge

Fontology for the lazy existentialist

Tabitha sits back from the screen and screws her face up again. "I don't like any of these fonts!". She has been wrestling with the design of Pengwyn Parc's new home page all morning.

Baz looks over her shoulder, "We could download some new ones off the Internet, there are loads of free fonts out there."

Tabitha tuts, "Yeah but most of them are reverse-engineered rip-offs of someone else's design."

"So what?" Baz retorts "Fonts should be free."

"Yeah, but we don't want to be using the same typeface as everyone else. Why don't we design our own? Then it would always be unique."

"Can you make your own fonts using Linux?" asks Ashlee, suddenly interested in the conversation. "Having our own designer typeface for our promo graphics would be really cool!"

"Yeah sure," sighs Baz, "Using FontForge, it's not that hard to actually do, but it is very time-consuming. And then you have to install the flipping things. Why don't you just use Tahoma or Verdana or something?"

"I'm already using Bitstream Vera Sans for the text, that's fine, and there's always Nimbus or Luxi, so there's no need to use awful fonts like Helvetica or Arial ever again!"

Ashlee makes sicky noises at the mention of Arial while Tabi continues enthusiastically; "I want something new for the headlines and titles and I just don't like any of the fonts we've got installed. I bet we can get our heads around it if we take it step by step"

Baz shakes his head in disbelief.

"What's a typeface?" asks Kenny.

Inspector Vector decodes the magic glyphs

A typeface is a collection of fonts with a similar or compatible visual style. A font is a collection of renderable glyphs organised into characters and a glyph is made up of the contours and shapes that represent a character, the same character can be represented by several different glyphs. Computer fonts must also contain information on how to map an input string of bytes into an output display of visual glyphs. This mapping is called an encoding. A font may also contain information on how to compose ligatures and accents.


The study of fonts and typefaces can become quite complex and esoteric, but fortunately it is not necessary to get involved in too much detail in order to get started. In this article we will be taking it nice and easy. That said, in order to produce results that look professional, clean, beautiful and comfortable, it is worth learning a little more about how fonts are displayed. The documentation that comes with FontForge is pretty extensive and comprehensive, so we'll just deal with the basics here.

Fonts are stored using various different File types:

  • PCF is a Binary bitmap font compiled from BDF, with a platform and endian independent representation. Bitmap fonts are occasionally used for screen display, they do not resize well;
  • PostScript fonts are vector fonts designed primarily for printing, developed by Adobe. PFA files refer to Type 1 PostScript font in text format and PFB is a Type 1 PostScript font in binary format. These outline vectors require an accompanying AFM or PFM file, which contains the font metrics;
  • TTF files are TrueType fonts - single file vector fonts for screen display, developed by Apple and supported on Linux by the FreeType library. TrueType fonts usually print well too and it is the most universal format nowadays, although a few applications still do not support it;
  • There are many other font formats, which can mostly be ignored for now, apart from mentioning MetaFont, which is useful for TeX users.

The size of a font is usually measured in points, which are print dots, there are exactly 72 points to an inch. Ordinary text is usually between 9 and 12 points, headline fonts can be up to 72 points and larger. Pixels are screen dots, screens can vary in resolution from 72 to 96 dpi and beyond. Printing is usually done at upwards of 300 dpi. It is important to understand the differences between the available mediums.

The team spend the rest of the afternoon drawing alphabets in their creative diaries with a variety of black felt-tips.


"Make sure you leave enough space between the lines and keep the letters well separate, because we will need to be able to cut them out individually." Ashlee points out.

Tabitha scrumples up a page of her diary and starts again. By the end of the afternoon after several false starts, they each have a potential alphabet designed. They all agree that Kenny's is the neatest, so they put it in the scanner and import it into GIMP using the File > Acquire > XSane > Device dialog and following the instructions. If you don't have a scanner set up there are many ways of creating your letters, including directly in FontForge using your mouse and bézier tools, so don't despair!

Forging ahead

FontForge is George Williams' free Open Source UNIX-based font editor for type 1 and TrueType fonts, previously called Pfaedit. It also does TrueType collections (TTC) and opentype fonts. When we open up FontForge from the desktop applications menu we are presented with an Open Font dialog. Click on New and you will be presented with an empty font view window. Double-clicking on a glyph will bring up an outline glyph window. This is where you edit the bézier splines that make up the individual contours. We can give our new font a name by clicking on Element > Font Info... We can also set a copyright notice here and rather a lot of other information which affects the whole font. The defaults are suitable for PostScript fonts, so we will accept them for now. TrueType fonts may benefit from different settings, but fortunately FontForge usually manages to do the right thing. You may also wish to use Encoding > Reencode to change what characters are available in your font. FontForge generally creates new fonts with an ISO-8859-1, which contains (most of) the characters needed for Western Europe.

Tabitha found that simply copy-pasting the letter shapes from GIMP into FontForge didn't really work the way she had hoped, so she had to split them up into separate files using the GIMP and then import them individually into FontForge using the File > Import... function. The internal text format for fonts is called SFD. It is a format that is acceptable for communicating and storing fonts. Now would be a really good time to save your work in that format (File -> Save).

Editing the font images

Now we need to resize the bitmaps to fit. Double-click on one of the glyphs again and select Back from the Layers palette, this will enable the background to be edited. You can then drag the image around so that it sits on the baseline and fits inside the 1000x1000 box in an appropriate manner. If you are working from scratch it is recommended to create a base glyph with all the lines your letters will need using the bitmap editor, a circled cross is often a good starting point, and then edit that to create all the letters you require, starting with A, R. O. H & T. You will notice that many of the letter shapes are related to one another, so new glyphs can be created by flipping shapes on the horizontal or vertical axes. This technique can be used to fill in glyphs that are missing from the original design and will produce consistency in the final look of the font.


If you have the autotrace program installed you can generate an outline from the image using the menu entry; Element > AutoTrace. Otherwise you will have to add the points yourself. Make the Foreground layer active and select the curve point tool from the Tools palette (The round circle on a line). Click around the shape on the corners and straight lines, preferably in a clockwise fashion, making sure you close the path by adding a new point on top of the old start point. It is then possible to fine tune the contours using a combination of the Points menu and dragging the control points around with the mouse. Remember to select the Pointer tool for this bit. The representation of the glyph will change in the font view window as you edit, so you can easily check your progress.


Note that the glyph for 'O' has two contours: the inner and outer circles. If all you see is a big black dot it is most likely to be because the inner contour is going in the wrong direction in relation to the outer contour. This is easily solved by flipping the direction of the inner contour. Within FontForge all outer boundaries must be drawn clockwise, while all inner boundaries must be drawn counter-clockwise. This condition applies to any glyphs involving enclosed spaces. The command Element > Correct Direction can be used to automatically correct this kind of error.

Spacing and Kerning - Font Metrics

Once you have created the glyph shapes, the next task is to specify the spacing between the glyphs. The metrics window can be brought up from Window > New Metrics Window. From here you can adjust the spacings of each letter relative to the others either by typing values into the text fields below or dragging the shapes and lines into the desired positions. The widths of the glyphs and the kernings can be set automatically from the Metrics menu, but this can produce some alarming effects. Kerning is the process of setting the spacing between specific pairs of letters. This can take quite a bit of fiddling around and it is best to get the individual glyphs the right width before attempting to set any kernings.


FontForge also has facilities to create hints to help the font renderer find horizontals and verticals, and produce consistent serifs and stem widths at small point sizes. It is possible to create ligatures, accents and alternative glyphs as well. It can also deal with right-to-left and vertical alignments and most conceivable encodings. It can handle Chinese, Japanese and Korean fonts as well as Arabic type styles.


In order to make your font usable, you first need to save it in a standard font format (File > Generate Fonts...). Although it seems like there are a bewildering array of choices, in fact you want to Choose PS Type1 or TrueType in most circumstances. The default setting will serve us perfectly well for now.

Installing your new fonts

Create a new directory for your fonts. Fonts appear to be stored in an alarming array of places, these can vary from distro to distro, so it's best to check your documentation for this. Be aware that some of these instructions may have to be carried out as root.


Don't touch the usual directories under /usr/share/fonts/, which contain the base X11 fonts and instead create two new directories for selected TrueType and Type 1 fonts, for example /usr/local/share/fonts/type1/ and /usr/local/share/fonts/truetype/. You can also put private fonts in ~/.fonts/ if you want.

Now, either copy all the TrueType fonts (*.ttf) that you need into the truetype/ directory or copy the Postscript fonts (*.afm and *.pfb) into the type1 directory. Next, we need to tell X about your fonts. The process is slightly different for each format.

The old way of installing TrueType fonts involved entering the following commands in sequence from a terminal window:

cd /usr/local/share/fonts/truetype/
ttmkfdir > fonts.scale
mkfontdir

PostScript fonts used the type1inst command instead of ttmkfdir.

If you view the directory you should now see two new files among the truetype fonts - "fonts.scale" and "fonts.dir". These files simply contain a list with the full font names for each TrueType font.

Now we need to add these new directories to the font server path - the list of locations which XWindows will search for fonts. Edit the X configuration file (/etc/X11/xorg.conf) and find the "Files" Section; in most standard versions of this file it will be near the top. In this Section is a list of FontPath entries. All we need to do is add our new directory to this list, by adding a couple of lines like this:

FontPath "/usr/local/share/fonts/truetype"
FontPath "/usr/local/share/fonts/type1"

64 Studio users can regenerate all the necessary files simply using fc-cache with the -f option. Should that fail you may have to edit the file /etc/X11/xfs/config, find the line which starts with "catalog=", and add your directory at the end of the list, separated by a comma. There may be other files that you need to edit in order to make the fonts fully available to all applications. The fonts for OpenOffice.org usually need to be configured separately. You really must check your documentation for this part.


You will probably need to restart the font server for it to register the new fonts. The easiest way to do this is to log out and back in to your desktop. You may need to run xset fp rehash as well. You can also easily add the new font paths to the running instance of the X server with the xset utility, like this:

$ xset fp+ /usr/local/share/fonts/truetype
$ xset fp+ /usr/local/share/fonts/type1

Once you've done this you can use xset q to verify that the new path exists in the running server's font list. You can test it now by running the xfontsel program from the terminal, or run the Font Selector program from the Utilities menu in GNOME. You should immediately see the name of your new font in the list. Your work is done and your new font is now ready to use.

links

FontForge
FontForge - An Outline Font Editor
Tutorial
Frequently Asked Questions

Frequently asked questions about fonts
Fonts FAQ

Audio

Our Team are itching to get on with making some music. This chapter will take you through preparing drum tracks; MIDI sequencing with Rosegarden and some additional information about JACK Control.

This chapter is projected to include: Audacity, editing a radio show, podcast or live stereo stream. LADSPA effects. A beginners guide to Ardour, tracking a relatively simple project. Software synthesis, with amsynth and a MIDI input. Introducing audio mastering with Jamin, and burning audio to CD.

Getting started with LinuxSampler

by Kevin Donnelly

Install LinuxSampler (package linuxsampler) and the frontend Qsampler (package qsampler). Download and unrar (package rar - rar -e rarball.rar) Mats Helgesson's Maestro Concert Grand piano sample from the LinuxSampler site - http://www.linuxsampler.org. It's a 337Mb download, and unrars to 939Mb! Start JACK, and then Qsampler, which will also start LinuxSampler itself.

Go to View -> Instruments and click the New Instrument icon. Browse to the location of the Maestro sample and load it (it will go into Program 1). Close the Instrument dialogue by clicking the x in the corner.

Go to View -> Devices. Click on Audio Devices in the left-hand panel, choose JACK as the driver from the drop-down in the right-hand panel, and then click Create. A new entry, Audio JACK device 0, should appear under Audio Devices. The MIDI Devices entry can be left alone, since it shows only ALSA as the driver.

In QJackCtl, go to the Connections window. In the Audio tab, connect the LinuxSampler entry to alsa_pcm. In the MIDI tab, connect Rosegarden to LinuxSampler. Connect your input keyboard to both Rosegarden and LinuxSampler.

In Rosegarden, select the track to be recorded onto. In the Playback parameters drop-down of the Track Parameters section of the left-hand pane, select the proper entry for LinuxSampler from the Device drop-down. It may be labelled as something like "out 4 - MIDI output system device", but once you have the right one, it will show up as something like "132:0 LinuxSampler: Port 0" in the Instrument Parameters section. Press the red Record button, and play something on the keyboard.

JACK Audio Connection Kit

This chapter is intended to form the basis of a more in-depth look at the JACK server

Getting to Know JACK (QjackCtl)

Control Panel Connections

All internal Audio and MIDI connections and routing are controlled by the JACK Audio Connection Kit Control Panel (QjackCtl). These are flexible connections that can be made between all Audio/MIDI software programs, which are known as JACK clients.

The JACK GUI interface can be launched from Sound & Video > JACK Control. The connections can be viewed by pressing the Connect button.

All being well you'll see the word Started come up in the window with 0 (0) below it. The Connections panel should show alsa_pcm in both the input and output windows. If so, you're ready to make some music. This panel shows all Audio or MIDI signal sources in the left pane (Readable Clients / Output Ports) and all possible Audio or MIDI signal destinations in the right pane (Writable Clients / Input Ports).

Main JACK Control Window


Actual connections are established between source (Output Ports) and destination (Input Ports) by selecting one item in either side and pressing the Connect button at the bottom-left of the Connections window.


It is also possible to establish a connection by dragging an item and dropping it on to the other side (Note: it doesn't matter which side you start dragging from).

If it hass not all gone so smoothly, click on Messages, if you see anything much more complicated than:

20:19:41.579 Client activated.
20:19:41.583 Audio connection change.
20:19:41.617 Audio connection graph change.

then you're going to need to do some work to get the best out of this. If you only want to use one application at a time, you may not need to worry about JACK too much right now. However, if you want the full power of a Linux Audio system then it's worth taking the time to figure this out. The Status button also provides some slightly less verbose information.

I/O

To disconnect a currently established connection you proceed in similar manner: select each item on either side and press the Disconnect button. Actual and established connections are shown as coloured lines in between the two panes of the Connections window. Each color indicates a single and distinct source module (client) that is currently connected. It is possible to route all Audio and MIDI signals wherever you want this way.


JACK Patchbay

All connections made in the JACK Control interface persist as long as the JACK session lasts. To maintain a custom and persistent connection layout you'll have to edit and activate a patchbay definition profile. Patchbay definition profiles are connection models that are edited and created on the JACK Patchbay window, which is accessed via the Patchbay button on the main JACK control panel.

The JACK Patchbay window is very similar to the Connections one. However, it is here where you prepare and set your intentional persistent connections,
not actual connections. When activated, this patchbay definition profile will keep all declared connections automatically, as long as the JACK Control Panel is kept active.

Following the JACK Patchbay model, you declare connections between sockets (clients). When two sockets are said to be connected, it is implied that each one of its plugs (ports) is declared to be connected in turn, one by one, on a one-to-one basis.

Take special note of the plug/port order in the socket plug list, as each plug and socket are connected in the order they are listed.

JACK Setup

The qjackctl settings panel is accessed from the Setup... button.

The Server Path should be set to jackd and the Driver to alsa. For Parameters you probably want to check Realtime for most work and Softmode to start with. Softmode means that JACK doesn't quit if you get odd xruns, obviously, you won't want this if you're recording. If you know your machine only works at 16bit resolution check Force 16bit. You'll probably want to leave most settings where they are.

If you're operating in realtime, your Priority should usually be 0, but some soundcards differ. Frames/Period is worth setting at the maximum to start and then working your way down. This setting affects your latency most directly, setting it too low will result in xruns. Sample Rate probably wants to be 44100 (CD quality) but some soundcards prefer 48000 (DAT quality). Periods/Buffer almost certainly wants to be 2, but again, your soundcard may vary. Interface probably should be hw:0 or whatever you specified in your ~/.asoundrc if you use one (it is not required). Audio try Playback only if you're having trouble, mostly you'll want full Duplex. Dither - Shaped is best but CPU hungry, Triangular gives a good compromise, you don't _need_ dithering, so None will do for now. Timeout and Start Delay might want to be increased in certain situations.

OK your new settings Stop if JACK is still running and Start again. You may need to play wit