Issue #19 - November 2008 full circle EMILIO POZUELO MONFORT THE INDEPENDENT MAGAZINE FOR THE UBUNTU COMMUNITY GIMP - PART 8 PROGRAM IN C - PART 3 CREATE MOBILE MULTIMEDIA CREATE A WIFI ACCESS POINT

UBUNTU GAMES LOST AND FOUND

REVIEW OF OPEN ARENA UBUNTU GAMES

Full Circle magazine is not affiliate1d with or endorsed by Canonical Ltd. p.04

Lost & Found p.06

Program In C - Part 3 p.08 Create A WiFi Access Point p.13 GIMP - Part 8 p.15 full circle Create Mobile Multimedia p.18 w w w . f u l l c i r c l e m a g a z i n e . o r g Ubuntu John p.20

Beginning Ubuntu Linux p.21 : Emilio P. Monfort p.23 p.25 p.26 21 .23 p.27 08 13 P. P P. P. p.29 p.30 : Virtualization Apps p.32 p.34

27 .32 P.15 P..18 P. P icons: KDE4 Oxygen

The articles contained in this magazine are released under the Creative Commons Attribution-Share Alike 3.0 Unported license. This means you can adapt, copy, distribute and transmit the articles but only under the following conditions: You must attribute the work to the original author in some way (at least a name, email or URL) and to this magazine by name ('full circle magazine') and the URL www.fullcirclemagazine.org (but not attribute the article(s) in any way that suggests that they endorse you or your use of the work). If you alter, transform, or build upon this work, you must distribute the resulting work under the same, similar or a compatible license.

2 EEDDIITTOORRIIAALL

This magazine was created using :

ot only does this issue have a new monthly section, Ubuntu Games, but it is the first issue with a competition! Apress NPublishing kindly supplied us with a review copy of their book , which is reviewed on page 21, and have allowed us to offer the review copy as a prize (I've kept it in pristine condition, honest!). So have a read through the review; then email us your answer to the question at the end of the review. We hope to have a book review each month from now on. Another first for this month is that this issue is the first to be created in GNOME. That's right, I've switched sides. Why? The Ubuntu is a complete operating system that is perfect for laptops, main reason being that most of the applications I used in KDE were desktops and servers. Whether at GNOME based, so I was effectively running a GNOME/KDE hybrid to home, school or work Ubuntu use Transmission, Firefox, Scribus, Thunderbird, et al. Moreover I contains all the applications you'll wanted an excuse to upgrade to Intrepid. Scribus gave me some ever need including word processor, major headaches in KDE. I expect to be free from them under GNOME email application and web browser. (he says, crossing his fingers!). Ubuntu is and always will be free of charge. You do not pay any licensing Anyway, enough babbling from me, enjoy the new issue, and good fees. You can download, use and luck in the competition. share Ubuntu with your friends, family, school or business for absolutely nothing. Once installed, your system is ready Ronnie to use with a full set of productivity, internet, drawing and graphics Editor, Full Circle Magazine applications, and games. [email protected]

3 Linux Powers FTA Satellite Box pause, and zoom. NNEEWWSS The CaptiveWorks system can also CaptiveWorks play FTA TV channels made available has via IPTV broadcasts over the Internet, SCO loses Linux legal fight announced a says the company. In addition, it Linux IP set- supports peer-to-peer P2P-TV Internet The long-running top box (STB) video stream interfacing, in which saga of SCO and digital users broadcast streaming video as versus everyone video broadcast receiver that offers FTA well as receive it, somewhat like who ever so much satellite HD video reception, and media BitTorrent. An ATSC receiver for digital as looked center features. The CW-4000HD Linux broadcast reception is optional, and is sideways at Linux Media Center is based on Gentoo Linux and said to include cable TV support. – but especially Novell and IBM – has other open source projects, says the The CW-4000HD's media center drawn to a close with the news that company. Federal District Judge Dale A. Kimball capabilities include Internet radio has dismissed all the company's claims. Based in Los Angeles, CaptiveWorks has reception, an MP3 player, and a picture designed, manufactured, and distributed viewer application. The box comes with According to Ars Technica's article on Linux-ready digital video broadcasting a Firefox web browser, and offers DVR the judgement all claims against Novell receivers since 2005. Earlier products and the ability to burn videos to have been dismissed, declaratory relief included the CW-1000S and CW-3000HD DVDRW, says CaptiveWorks. has been granted, and SCO is faced with satellite STBs, as well as the earlier CW- : http://www.linuxdevices.com a whopping bill for “unjust enrichment” 600S, also aimed at FTA users. of over $2.54 million (£1.68 million) – plus interest. FTA loosely describes a collection of digital video broadcast technologies that do not Ending the five year attack on Linux and require subscription services to enjoy. anyone who would seek to popularise it Service availability varies greatly by country. A magazine isn't a magazine – and finally laying to rest claims that without articles and Full Circle is no the popular open-source kernel and exception. We need your Opinions, associated operating system somehow The new CW-4000HD is a compact Linux Desktops and Stories. We also 'ripped off' SCO's UNIX intellectual desktop equipped with a satellite receiver need Reviews (games, apps & properties – the judgement is likely to and media playback capabilities. The core hardware), How-To articles (on any remain unpaid, as the company is component is the FTA satellite receiver, K/X/Ubuntu subject) and any currently undergoing bankruptcy which is designed to receive no-cost, questions, or suggestions, you may proceedings in the face of a skydiving unencrypted FTA satellite transmissions of have. stock price. HDTV and SDTV signals. Additional features Send them to: : http://www.bit-tech.net include an electronic program guide, live-TV

4 Canonical To Build ARM Version The building intensity of the NNEEWWSS competition was reflected last Of Ubuntu month in comments from Intel executives, who said the use of ARM Amazon to Sell OLPC's XO Laptop processors in the iPhone was responsible for the device's Web- One Laptop Per Child browsing shortcomings. Intel, which confirmed it will start sells processors to Apple for use in selling the XO laptop its desktops and notebooks, Canonical plans to build a version of through Amazon.com apologized for the comments at its Ubuntu to run on ARM's v7 processors, on Monday. Developer Forum in Taipei and which are aimed at mini-notebooks and acknowledged that ARM processors The XO laptop will be sold through other mobile Internet devices. Amazon in the same way as the G1G1 draw less power than Atom. program, where a consumer donates The ARM version of the Linux-based US$400 for two laptops, with one of desktop operating system is expected to them delivered to a child in a developing be released in April. ARM competes with nation. Intel's low-power Atom processor, which is gaining traction in so-called Only Linux-based XO laptops will be "netbooks," defined as sub-$500 systems available through Amazon, said Jim with screen sizes of 10 inches or less. The Gettys, vice president of software mini-notebooks, which typically run Linux engineering at OLPC. A Windows version or Windows XP, are primarily aimed at will not be sold. schoolchildren or at adults who want a For now, Amazon's U.S. storefront will light, compact system for checking e-mail and browsing the Web on the road. sell the XO. OLPC is reviewing the In hopes of gaining more support for possibility of selling the laptop through Canonical, the commercial sponsor for its products, ARM on Monday said it Amazon in other countries. Ubuntu, plans to port the OS to the would collaborate with Adobe in Designed for use by children in ARMv7 architecture, including the ARM making sure Adobe (NSDQ: ADBE)'s developing countries, the laptop has Cortex-A8 and Cortex-A9 processor-based Flash Player 10 and other been praised for its innovative hardware systems. ARM chips are used in many technologies could run on ARM features and environmentally friendly smartphones, such as Apple's iPhone. chipsets in smartphones, netbooks, and other devices. design. It comes with 1G byte of internal ARM, based in the United Kingdom, has flash storage, 256M bytes of RAM, a 7.5- been making low-power processors for : inch liquid-crystal display screen and small devices much longer than Intel, but http://www.informationweek.com wireless networking. the market muscle of the latter makes : http://www.pcworld.com the company a formidable opponent.

5 $ find recipes/ -type f - CCOOMMMMAANNDD AANNDD CCOONNQQUUEERR name '*.jpg' Written by Robert Clipsham This will find all the files (-type f) with a name ending in .jpg. f you've ever misplaced a file, # grep errorlog /etc/apache2/apache2.conf Notice how I have enclosed *.jpg this month's Command and in single quotes? This prevents IConquer is just what you need. Notice that I'm root when running your shell from expanding the *. There's a bounty of graphical this command. You may be able to Try the following, and notice the search tools out there, but why run this command as your normal difference. use a GUI when you can use the user, depending on the permissions command line! for your configuration file. Try $ echo * The first command we'll look at running it as a normal user first! You $ echo '*' is grep. Grep is used for searching will notice that this command gives for a specified string within a file. no output. This is because grep is The first should give a list of For example, if I had a plain text case sensitive. all the files in your current file called cookies.txt with a recipe directory, while the second # grep -n ErrorLog for making cookies in it, and should give *. While find on its /etc/apache2/apache2.conf wanted to find how many eggs I own may not seem that useful, needed, I could do: Using -n will make grep give line when coupled with xargs it numbers, so you can find what line becomes a very powerful tool. $ grep eggs cookies.txt the directive is on. Notice that I have $ find recipes -type f - This will give a list of all lines changed the capitalization of name '*-cake.txt' | xargs - that contain the word 'eggs'. As a ErrorLog in this example. You could I % cp % old-recipes/ more realistic example, say I had also use the -i option to make grep a configuration file (I'll use apache ignore case. You can also search all This command takes the as an example here, though it the files in a directory using -r: output of “find recipes -type f - could be anything) and wanted to name '*-cake.txt'”, then pipes (|) $ grep -ir eggs recipes/ change the name of the error log. it into xargs. Using -I % tells Just knowing that it is in the file is would find all recipes containing eggs xargs to replace % with each line no use, I need to know what line in my recipes directory. What if you it receives. number to look at so I can change want to search by file name? This is $ find recipes -type f - it. where find comes in. name '*-cake.txt'

6 recipes/chocolate-cake.txt If you have a lot of files that match A huge list of files will fly past, a certain pattern, this can be a very so it might be useful to combine recipes/-cake.txt useful method to automate tasks its output with grep to find recipes/fairy-cake.txt such as a selective backup. If the exactly what you're looking for. output of find should be appended to If that (above) is the output, the end, then you can remove -I % $ locate apache | grep etc then these are the commands and it will be appended automatically This will narrow down the xargs will run: to the end of the command. The final results to show only those $ cp recipes/chocolate- command that we'll cover in this containing 'etc'. cake.txt old-recipes/ issue is locate. Locate might not be installed, so you may need to install $ cp recipes/cheese-cake.txt it before it works. Locate is a very is a old-recipes/ fast way of finding files with a certain self-confessed geek, file name. If you have apache whose hobbies include: $ cp recipes/fairy-cake.txt installed, try the following: programming/scripting, chatting old-recipes/ on IRC and not writing his $ locate apache articles on time.

The official Full Circle forum, hosted at Ubuntu Forums http://url.fullcirclemagazine.org/c7bd6f

7 HHOOWW--TTOO Written by Elie De Brauwer PPRROOGGRRAAMM IINN CC -- PPAARRTT 33

assembly language, and in assembly When handling pointers, you languages you spend most of your will encounter two 'extra' FCM#17 - Program In C - Part 1 time moving data around, but in operators. These are * and &. It FCM#18 - Program in C - Part 2 order to do that you need to know helps, when you look at code, where the data is located, hence its that you read * as 'the value address in memory. And this is just stored at this address', and & as what a pointer is. A pointer is an 'the address of this variable'. address in your computer's memory, nothing more, nothing less. But when int anInt=5; you're working with C, you'll end up Dev Graphics Internet Multimedia System int * anIntPointer=&anInt; with the conclusion that pointers are everywhere. So, after conquering printf("Address: %p Value: functions and pointers, we should be %d \n",&anInt, anInt); able to handle almost anything. printf("Address of pointer: CD/DVD HardDrive USB Drive Laptop Wireless In this article, I will not present a %p Address: %p Value: %d 'fully functional program'. I will \n",&anIntPointer, present small snippets between the anIntPointer, o far so good. This is already text, but you are encouraged to fire *anIntPointer); the third part in this series, up your editor and start and we have already made printf("Size of pointer: %d S experimenting. You will also see that a lot of progress. The past articles size of int: %d\n", I introduce some 'extras' which are explained how to think in code - sizeof(anIntPointer), not mentioned in the main title. I by introducing functions. This sizeof(anInt)); will, for example, also introduce article will probably be one of the structures, arrays, strings, ... , Thus, we declare an integer most difficult in this series; here because I want to see this series and assign this integer the value we'll touch something which is evolve into a practical tutorial, and 5, we declare a pointer (mind almost C-specific: the notion of not into a C textbook. the extra *), and we let it point pointers. C is a programming to the address of the previously language which lives close to the

8 declared integer. Next, we print other. In printf, we use p to print a anIntArray[i], the address of the integer, and pointer (in hexadecimal), s to print a *(anIntArray+i)); the value of the integer. Then we string (for more information see man } print the address of the pointer, 3 printf). The sizeof() operator used This code produces the the value of the pointer (which is in the printf statement returns the following output: an address, the address of anInt), size of an element (in bytes). and the value the pointer points Address of array: 0xbf8b55d4 to. And to end, we print the size Size of array: 20 of the pointers and the size of the What is an array? An array is Index:0 Address:0xbf8b55d4 integer. This produces the simply a list of variables of the same Value:10 Value: 10 following output: type. In this example, we declare an Index:1 Address:0xbf8b55d8 array of integers where we can store Value:20 Value: 20 Address: 0xbfc819d8 Value: 5 5 integers. At this point, we also Index:2 Address:0xbf8b55dc Address of pointer: declare how many integers we want Value:30 Value: 30 0xbfc819d4 Address: to put in there (in this case five). Index:3 Address:0xbf8b55e0 0xbfc819d8 Value: 5 Here we initialize the array at Value:40 Value: 40 declaration, but we could do it Index:4 Address:0xbf8b55e4 Size of pointer: 4 size of elsewhere in the program as well. Value:50 Value: 50 int: 4 int Now, what does this show us? Here we can see that both anIntArray[5]={10,20,30,40,50}; The size of the array equals the pointers and integers are 4 bytes number of elements times the large (which makes sense, since printf("Address of array: size of each element (there is I'm on a 32-bit computer; if you %p\n", &anIntArray); nothing extra stored). All run this on a 64-bit or a 16-bit elements are placed next to computer, these values may printf("Size of array: %d\n",sizeof(anIntArray)); each other in memory (look at vary). The address will be the memory addresses: they different on your system, but the for(i=0;i

9 pointer is increased by 4 (the size printf("Value: %s\n", aString); There is actually nothing new of the integer) - not by one. So, here. We handle it the same way for(i=0;i<=strlen(aString);i++) we can address the array by using as adding integers, except we { the subscript method ([i]), but now use 'strlen()', a function printf("Index:%x also with some pointer arithmetic, defined in string.h (see man 3 Address:%p Value:%c\n", i, and, in essence, the array we strlen for details) to get the &aString[i], aString[i]); declared is just a pointer to length of the string; a char is } memory - where several values of only one byte large, and we use the same type are stored. Here, we create a char, and a char %s to print it. There is only one array (which is, in essence, a magical thing here and that is

pointer; this is equal to writing 'char how will we know that the string We have touched on integers aString[6]=”Hello”;', and do mind is finished? Well, the array is not and arrays of integers, and we'll the difference between the char 'c' {'H','e','l','l','o'}, it is extend this principle. A single and the string “c”). This generates {'H','e','l','l',o',0}. The ASCII null character ('c') can be stored in a the following output: character is added after the 'char' type, and, if we take string, so how does strlen() Address: 0xbf8b560f Value: c multiples of these chars, and put work? It is just a while loop Size: 1 them after each other, a string is which continues increasing the Address of string: 0xbf8b5600 thus nothing more than an array index until the value becomes 0. Size of string: 5 of chars. Value: Hello Index:0 Address:0x8048780 char aChar='c'; This defines a Value:H char * aString="Hello"; Index:1 Address:0x8048781 structure... printf("Address: %p Value: Value:e %c Size: %d\n",&aChar, Index:2 Address:0x8048782 Value:l aChar, sizeof(aChar)); Everything's going well. Let's Index:3 Address:0x8048783 add another thing on the pile - printf("Address of string: Value:l structures. We know arrays? %p\n", &aString); Index:4 Address:0x8048784 Arrays are a collection of items Value:o printf("Size of string: of the same type; structures are Index:5 Address:0x8048785 %d\n",strlen(aString)); a collection of things with Value: different types.

10 struct aStruct &aStruct.charMember, Member of struct: 6 { &aStruct.stringPointer); Member of struct: 5 int intMember; Member of struct: 6 aStruct.intMember=6; int * intPointer; Member of struct: 5 char charMember; aStruct.intPointer=&anInt; Member of struct: Hello char ** stringPointer; And what does this teach us? }; aStruct.charMember='k'; Well, we can declare structures, aStruct.stringPointer=&aString; we can have pointers to structures (it goes further, we This defines a structure called aStructPointer=&aStruct; can have arrays of structures, 'aStruct', which combines an printf("Member of struct: and structures can contain integer, a pointer to an integer, a %d\n", arrays, structures can also char, and a 'double' pointer (a (*aStructPointer).intMember); contain structures and structures pointer to a string or a pointer to can even contain pointers to a pointer to a char). Put this printf("Member of struct: structures of the same type -- declaration outside your %d\n", this is called a linked list). By functions. Typically, these are *(*aStructPointer).intPointer); using the '.' operator we can placed in header files. Next we printf("Member of struct: access the members of a struct, can use this struct; we use the %d\n", aStructPointer- and when we have a pointer to a previously defined variables to >intMember); struct, we do not need to populate this struct: dereference it first as in printf("Member of struct: struct aStruct aStruct; (*aStructPointer).intMember, %d\n", *aStructPointer- since this is so common we can struct aStruct * >intPointer); use the '->' operator as in aStructPointer; printf("Member of struct: aStructPointer->intMember. Also, printf("Address: %p Size: %s\n", *aStructPointer- using the double pointer is %d\n",&aStruct, >stringPointer); peanuts. There is, however, one sizeof(struct aStruct)); odd thing in the output: here it And the output: says the size of this struct is 16, printf("%p %p %p Address: 0xbf8b55e8 Size: 16 while we added one int (4 byte), %p\n",&aStruct.intMember, 0xbf8b55e8 0xbf8b55ec one int pointer (4 byte), one char &aStruct.intPointer, 0xbf8b55f0 0xbf8b55f4 (1 byte) and one char pointer (4

11 byte). Who stole those three up in strange situations. I lost a day while loop. bytes of memory? Well that is this week, because I incremented a • Take a look at some manpages - called alignment. During the pointer (which was zeroed those of memcpy strcpy strcat compilation process all memory afterwards) instead of incrementing memzero, and see that all these addresses were aligned to 4-byte the value the pointer pointed to. C functions operate on pointers. multiples since it is will not prevent you much more efficient from doing these • A C application typically has for the processor to You just need a things, but these will 'int main(int argc, char **argv)' fetch an address little practice... result in your as it's main prototype, here argc which starts at an application being contains the number of strings address which is a multiple of terminated. It's the same with passed to the application, and four. But if you would really want arrays: if you write int array[5]; int b; argc is an array of argc strings. to change this, you can. array[6]=0;, you will set the value of Write a small application which b to zero. This leads to memory prints all arguments given to the

corruption, and, in extremis, to stack application. What is stored in For all the brave who managed corruption. So, pointers are very argv[0] ? to bear with me this far, my powerful, but you need to use them congratulations. I know that the right. first time people talk about pointers it results in a lot of frowning and thinking 'why would somebody want to use this', but, don't panic - you just need a little is a practice to get full speed with • Collect all the code snippets on this Belgian Linux fanatic, pointers, and you'll soon see the page and turn them into a working currently employed as an advantage they bring. But one embedded software engineer program. with one of the world's leading word of caution is in place: • Try to run this program on a 32bit satellite communications pointers point to 'a' memory companies. Apart from spending location. They can point to any and a 64bit system (use a livecd for time with his family, he enjoys memory location. If you forget to example), and compare the playing with technology, and initialize them, or forget to differences. spends his days waiting for Blizzard to finally release Diablo dereference them, you can end • Implement strlen yourself using a III.

12 HHOOWW--TTOO Written by Rob Kerfia CCRREEAATTEE AA WWIIFFII AACCCCEESSSS PPOOIINNTT

https://help.ubuntu.com/community/ In this case, the interface WifiDocs/WirelessCardsSupported. would be eth1. N/A To start, we'll have to set your Wi- Next, set the card to the Fi card to ad-hoc mode, which is a channel you want the AP to be direct wireless connection between on. I set mine to 4, which will two or more computers with no work for most people. Do this by router involved. Open your terminal typing: on the AP (we'll be using it in this whole tutorial), and type: sudo iwconfig eth1 channel 4 Dev Graphics Internet Multimedia System After this, we need to set an sudo iwconfig eth1 mode ad-hoc ESSID, which is basically the AP's Replace eth1 with your wireless name. Do this by typing: card's correct interface, if it's sudo iwconfig eth1 essid CD/DVD HardDrive USB Drive Laptop Wireless different. For example, some cards are ath0 or wifi0. If you don't know, APName you can run the iwconfig command, We're almost done. If you want ave you ever needed a and it will display something like this: to have some encryption for temporary WiFi access your AP, you can add WEP Hpoint (AP), or just needed encryption by typing: something until you can go out and buy one? This how-to should sudo iwconfig eth1 key let you create one in a pinch. abcde12345 First, make sure that your Wi-Fi Replace abc12345 with your card is well supported! For preferred WEP encryption example, some Ndiswrapper-using password. cards might not work. Your Finally, give your access point mileage may vary, so check an IP address with:

13 sudo ifconfig eth1 wireless access to the other 169.254.xxx.xxx computer, not the internet). Since the other computer is connected to Now, go to another computer - the internet, we can tunnel the client, and check to see that communications through that the new AP is broadcasting. We machine, and connect to the internet nothing has happened, but the will also set up Secure Shell (SSH) wirelessly, without a router. SSH tunnel is now working. tunneling on this computer. To create the tunnel, first check Finally, start up Firefox. that SSH is started on the AP (the Go to one that we did all the iwconfig stuff the on). Just to be sure, type: “Advanced” sudo /etc/init.d/sshd start tab, and click on Now, go to the other machine - the “Settings”. client - (I'm using a Macbook Pro) and Click on open a terminal window there. “Manual Remember we gave the other proxy configuration”, and enter Even though I'm using a Mac, it machine an IP address with sudo in “localhost” for “SOCKS Host”. works exactly the same on Linux. ifconfig eth1 169.254.xxx.xxx a while Enter in “9999” for the SOCKS back? Now, we need it. Type: SSH tunneling is quite simple – Host port. Leave everything else blank or at its default setting. all you do is create an SSH ssh -ND 9999 Click OK. connection to another machine. [email protected] You configure the local computer You should now be able to to start the proxy. SSH will ask you to forward all communications browse the web, wire-free! through that tunnel to the other something like: For more information, see machine. The other machine The authenticity of host https://help.ubuntu.com/commun connects to the internet and '169.254.xxx.xxx' can't be ity/WifiDocs/Adhoc. sends the data. In this case, we're established. Are you sure you want going to create an SSH tunnel to keep connecting (yes/no). through the ad-hoc connection (normally, there would only be Answer “yes”, and enter your password. It will look as though

14 HHOOWW--TTOO Written by Ronnie Tucker UUSSIINNGG GGIIMMPP -- PPAARRTT 88

Google Videos at:

FCM #12 - #17 : USING GIMP 1 - 6 http://url.fullcirclemagazine.org/c44b86 First, I grab my three source images from Flickr, being careful to choose only photographs licensed under the license - which allows editing of photographs. What I'm thinking is that I'll use the sky from Dev Graphics Internet Multimedia System one photo, a middle-distance from a my first photograph. I copy that second photo, and possibly a selection, and paste it into my foreground from a third photo, either new image. that or create some water using I then decided to use the CD/DVD HardDrive USB Drive Laptop Wireless GIMP filters. I'll post links to the mountain range from the second source images at the end of the photograph, and selected its article, should you want to follow outline using the Pen tool. Again, In this, the last part of this GIMP along. series, I'm going to create a single I copy and paste the selection image using three photographs With my three images open, I into the new image. taken from Flickr. Although the create a new image of the same size final image won't fool a as the source images. I used the photographic analyst, its creation Flickr preview images as I didn't want should help you practice what to have too many large images open you've learned in the previous while recording the screen, but you seven articles. What I've also can use the full-size photographs. In done is recorded, in real-time, my the case of a landscape, it's better to thirty-minute creation of the work from back to front with the sky image, which you can view on being farthest back, so I draw a very rough selection line around the sky of 15 From the third photo, I select the trees and grass area and copy/paste it into the new image.

Before applying a ripple to the I had a fourth image that I was water, I used a soft-edged brush going to use, but decided against it. with the eraser to soften the Instead I copied the sky layer, flipped outline of the mountain. Then I To add some depth to the it vertically, made a selection with flattened the two layers image, I created a new layer and the Pen tool, and erased parts of it. (mountain reflection and sky placed it between the mountain This will have effects applied to it reflection) into one layer and and tree layers. I airbrushed in and will become water. some white to act as a fog/mist. I applied a ripple to them. also selected the furthest away trees and applied Gaussian Blur to them.

The mountains would also be I darkened the foreground of reflected, so I did the same with the the water using the Burn tool. At mountain layer: copy it and flip it that point, I realised that I hadn't vertically. reflected the foreground tree! So

16 I did a quick selection of the foremost tree, copy/pasted it to a new layer, flipped it vertically, and applied a ripple effect to it. Thankfully, the ripple filter keeps your settings from the last time it was used, so the ripple on the tree was the same as on the water layer. video of the above image being created: http://url.fullcirclemagazine.org/c44b86 The components of the final image are now all in place. At this Source Images: point, I began playing around with http://url.fullcirclemagazine various filters to see if any would .org/2fba72 enhance the image. I tried Lens Flare and Sparkle but neither did anything effective. I tried the http://url.fullcirclemagazine Gradient Flare, on a new layer, .org/8a00d5 is Editor of and it gave the effect of a sun, so Full Circle magazine, a recent GNOME convert, and I kept that and played with the http://url.fullcirclemagazine artist whose gallery of work can be layer effects to make it blend in .org/d31f07 seen at www.RonnieTucker.co.uk. more.

17 HHOOWW--TTOO Written by Italo Maia CCRREEAATTEE MMOOBBIILLEE MMUULLTTIIMMEEDDIIAA My Nokia 6120 only plays mp4 and software section, and add the 3gp videos, so, my goal was set: find two following repositories: N/A a Linux tool capable of converting my music videos from a wide range deb of formats to something my http://ppa.launchpad.net/tek cellphone could play without noraver/ubuntu hardy main glitches. After a quick search, I found deb-src a few tools that promised this, but http://ppa.launchpad.net/tek they were all too hard to figure out. A noraver/ubuntu hardy main friend of mine tried as well, but gave Dev Graphics Internet Multimedia System up very quickly. But not I! After a Now reload your apt-get list: long and difficult search, I found sudo apt-get update what I was looking for: an easy to install, easy to use application, and you're ready to install. Run CD/DVD HardDrive USB Drive Mobile Wireless capable of converting my videos to the command: formats compatible with my Nokia. sudo apt-get install Actually, what I had found was much couple of months ago, I mp4tools bought myself a nice new more than just that. That is pretty much it. Now Acellphone. It has a good I had found MP4TOOLS. It is you have a set of tools for camera, and a fine display. It's capable of converting AAC audio and converting all your videos to neither too big nor too small. It AVI/MPG video to formats compatible nice quality, good looking, plays video and audio well. That's with the PSP, iPod, and Symbian. It mobile videos - the easy way! a good thing, since I'm a video-on- has it all, and with a graphical The list of commands available the-phone kinda guy. Especially interface to boot. The install process to you are: music videos. I'm also an Ubuntu is easy. guy - to the bones. And I needed encodes a standard In your Ubuntu System menu, go a program that could convert my 3gp file music videos into a format my to Administration > Software cellphone would accept. Sources. Go to the third party encodes a high quality

18 3gp file (may not play on older rips a DVD to a standard commands listed above, with the phones) 3gp file full path to your video file. For encodes an AMR file rips a DVD to a high example, to convert videofile.avi (ringtone) quality 3gp file to a standard 3gp file, use the command: encodes a highest rips a DVD to a movie for quality H.264 Video file, for PC the Sony PSP mk3gp path/to/videofile.avi playback rips a DVD to a movie This will convert your encodes a movie for for the Apple iPod videofile.avi to, in this case, a the Apple iPod 3GP file ready for viewing on To convert any video (compatible most mobile phones. encodes a movie for the with mp4tools) to your preferred Sony PSP format, simply use one of the

CONTACTING FULL CIRCLE MAGAZINE

Web: http://www.FullCircleMagazine.org

Forum: http://url.fullcirclemagazine.org/c7bd6f

email: [email protected]

IRC: chat.freenode.net #fullcirclemagazine

19 MMYY SSTTOORRYY Written by Victor Moisey UUBBUUNNTTUU JJOOHHNN

y colleague, John, and I Being on the old side, the machine was so keen to try it out that the work for the Department was slower than what we are photograph shows him trying it Mof Geological Sciences at accustomed to, so I left it to out before I had time to replace the University of Cape Town complete the installation. the cover. (UCT). Our responsibility is to At UCT we are fortunate to have He is interested in Scribus, maintain departmental analytical the whole Ubuntu repository Qcad, Open Office, and some instruments. available on the intranet. The games. One day, John told me that he advantage is that 1Mbit download John is now a satisfied user of had an old computer, and was rates are possible. Internet access, Ubuntu. He has managed the interested in putting it to some on the other hand, is around 3 to 10k transition from that other use - but was undecided. I bits per second. operating system to Ubuntu with suggested Ubuntu. All I had to do was point the ease. The machine is a 500MHz machine to the Ubuntu Celeron. It had 128M of RAM, so I repository by changing installed an additional 128M. sources.list appropriately. Fortunately, I had a couple of 64M Then I started the update DIMMs lying around. The graphics manager and followed that card was troublesome, so out it with installation of came and I plugged in a spare. I programs not included on couldn't say what card it was; all I the Ubuntu CD. know is that it worked. The result of all this work I started the installation by was a very happy John. I running Hardy Heron Live. After showed him what the satisfying myself that all was machine could do, and we working, and after partitioning compared it with the time manually, I started the when that other operating installation. system was installed. He

20 BBOOOOKK RREEVVIIEEWW Written by Ronnie Tucker BBEEGGIINNNNIINNGG UUBBUUNNTTUU LLIINNUUXX

several pages explaining Back to the good ideas: there By: Keir Thomas , Jaime partitioning, always a tricky step is a chapter that lists Sicam for new users. applications, such as ISBN10: 1-59059-991-8 OpenOffice, GIMP and Firefox, ISBN13: 978-1-59059-991-4 The next chapter is on and explains that for every 768 pp potential installation problems. Windows application there truly Published: Jun 2008 Presenting this material early in eBook Price: $27.99 (~£18) is a capable equivalent in the book could discourage some Price: $39.99 (~£25) Ubuntu. A table listing DOS readers from trying Ubuntu, commands and their Linux DVD: Ubuntu 8.04 LTS, also Kubuntu, whereas a later presentation Edubuntu, Xubuntu and PPC releases. equivalents is another excellent should not. The chapter Booting idea. The many directories Ubuntu for the First Time is within Linux are also well important for new users, and explained, and are given brief Beginning Ubuntu Linux explains it he book begins with a brief descriptions of what's in these well with a very helpful table giving discussion about what Linux mystical places! Tis, where it came from, why the Ubuntu equivalents for various Windows isn't the best choice for Windows items such as 'My Email set up is explained using an operating system, and the Computer.' An excellent idea. Evolution, and instant benefits of using Linux instead of messaging applications are also Other too-early presentations in Windows. Before moving on to the touched upon. Audio and video the book are the chapters on installation of Ubuntu, there is an codecs are well explained, and hardware configurations (using explanation of the history and readers are given a quick lesson ndiswrapper, PCI IDs, console politics of Linux. on why some audio and video commands, and other technical files won't open without a few It helpfully explains how to processes), virus scanning, and initial extra steps. I don't agree backup any important files you security. Though important, they with the authors' advice to may have in Windows before you should really come after the user has install RealPlayer, as it's not install Ubuntu. Then it gives a had the chance to play around with commonly used nowadays in step-by-step installation of Ubuntu. Ubuntu. Speaking of audio, it Ubuntu, thankfully spending

21 was good to see Magnatunes and information in it to satisfy the Jamendo being mentioned. intermediate, and possibly even the more advanced, user. Rounding off the multimedia presentations, it discusses GIMP, but not in depth. However, it To win a copy of gives enough information to help , the new user (or Photoshop user) answer this simple question: come to grips with the program. Which email client is used in the The final chapters discuss Beginning Ubuntu Linux book? things such as remote access and openSSH. While probably too Email your answer to: complicated for Ubuntu novices, [email protected] these discussions should be useful to readers beyond the A winner will be selected at novice stage. random on Saturday 27th December at 1600 UTC, and announced in One big downside to this book, , which will be released on and to similar books, is the Sunday 28th December. absence of a detailed presentation of KDE -- Kubuntu is just briefly mentioned. I realize that a book presenting both GNOME and KDE would be around three inches thick, and be too heavy to lift, but still... not even a mention of Amarok, Kmail, or K3B? A big thank you to Apress for All in all, this is an excellent supporting Full Circle with the review book. Its title says 'Beginning copy of , Ubuntu Linux', and, although it is and for allowing us to use it as a for beginners, it still has enough competition prize.

22 MMOOTTUU IINNTTEERRVVIIEEWW Taken from EEMMIILLIIOO PP.. MMOONNFFOORRTT

Behind MOTU is a site featuring interviews with those known as 'Masters of the Universe' (MOTU). They are the volunteer army of package maintainers who look after the Universe and Multiverse software repositories.

Also, the wiki, the PackagingGuide, and the Policy, have been good places to I started contributing back in January consult when I didn’t know 2007 with small packaging fixes, anything, or was unsure. adding/fixing desktop files. I had no programming skills by that time (and But the most important thing they are still very poor, although I’m has been to do packaging. You working on that!), so I started with can read a lot of documentation, simple tasks, and I’ve been taking but won’t learn packaging until more complex things as time passed. you start working on it. 19 I’ve concentrated in some packages too, and I maintain some in Debian Murcia, Spain and Ubuntu. pochu The fact that many MOTUs are volunteers motivates me. Also the environment, and the good work the team does in a

The #ubuntu-motu channel in IRC universe of thousands of I started with Ubuntu in December has always been a great help, with a packages. 2005 with Ubuntu Breezy Badger, lot of MOTUs and other wannabes and have been using Linux since hanging there, and willing to answer then. I mostly use Ubuntu, but I questions or point to the proper have a Debian VM for testing the documentation. Start contributing. You don’t packages I maintain there. 23 need to know programming. You keep the GStreamer packages in don’t need to know packaging. sync with Debian, and try to reduce I don’t have a favourite one, but You don’t even need to know what the duplication work between the I like this one a lot: that means! Just have a look at Debian and Ubuntu GNOME teams. https://wiki.ubuntu.com/MOTU/Get “A real friend takes your hand tingStarted and and touches your heart” https://wiki.ubuntu.com/MOTU/TO DO, and start contributing. And With GNOME 2.24, it will be a very don’t hesitate to ask in #ubuntu- solid release. It will be a pity it’s not motu, on IRC or in the ubuntu- LTS. I like to go to the cinema, to motu-mentors mailing list, if you meet my friends, and to watch have any questions, even if you the tv. think they are obvious.

I’m contributing to the DesktopTeam, merging related packages, and looking at GNOME packages I’m interested in. I’m also looking at the SponsorsQueue from time to time, and do some reviewing. Also, I don’t want to duplicate efforts, so I’ve been working with Sebastian Dröge in having the GStreamer stack in sync with Debian. For the Intrepid cycle, I want to

24 E very month we like to publish some of the emails we receive. If you would like to submit a letter for publication, compliment or complaint, please email it to: LLEETTTTEERRSS [email protected]. PLEASE NOTE: some letters may be edited for space reasons.

'd like to know the status of the Writer of Letter of the Month wins Ubuntu Home Server project. It LETTER OF THE MONTH two metal Ubuntu case badges! Iseems to have died. If not, I would love to see a story A few weeks ago I had to send a updating its status and getting want to do a follow-up article client some sketches which I only some buzz going about it. I'm on using this program as an had paper copies of. Looking surprised that no one thought to alternative method. around I found . I do this before Microsoft. It seems scanned the pages in and I could not get 'help' to work, to be a perfect way to have Linux produced a multi-page PDF but the icons seemed to do get a foot in the door of home containing both landscape, and what I expected. users. Also, the Mint coverage is portrait, pages depending on the great. It seems like a good orientation of the drawing. I did "flavor" to try. not have to save any JPEG files or Ed: Many thanks for that use OpenOffice, just one program Anthony, that helped me from scanner to PDF. I believe it import, and convert, some JPEG Ed: I checked their wiki pages will also import images if required images to PDF's for easy and they haven't been updated in [it does indeed - Ed]. You may printing. a while now, but I'm hoping that means the developers are beavering away on the project. We'll try and cover this again The synchronization with my Nokia banking is now done with soon. E61 is solved, Thunderbird, and GNUcash. Lightning, are up and running with So, you see, even a Windows my exported Outlook data, my iPod user like me can manage the is, to be honest, better to manage hank you for your support. I switch. than ever before and my Garmin am now writing this on a (geocaching) syncs via the garmin- Linux machine, most of the T communicator - or so I hope, testing problems I had are now gone. on the way. Oh, and most of my

25 involved in your team to take UUBBUUNNTTUU WWOOMMEENN visible roles within the team. Written by Elizabeth Bevilacqua Their visibility may encourage other women to step up and get Traditional Linux User Groups have involved. faced this dilemma for years, and in that time the following suggestions Don't get discouraged if have proven successful: change doesn't happen overnight. There are still fewer • Hold your meetings and events in women than men involved with safe, public locations. Linux worldwide, and it will take • Adhere strictly to the Ubuntu Code some time to change this. In the of Conduct. meantime, if you make women • Treat new members with courtesy, s Ubuntu Local/Community (who are already involved) feel encourage their participation, and (LoCo) teams grow, many welcome and included in your invite them to speak up about their teams find that an team, you will benefit from their A current skills and interests. Extend overwhelming number of their skills and talents. In addition, this same treatment to women who members are male. Some teams not only will the practices attend. even report that they have no described above attract women, • Don't underestimate or patronize active females at all! but they will attract other people girlfriends and wives - a woman also. Your LoCo will become a How do you reverse this trend might be attending a meeting or shining example of the in your team? The first step is event with a partner, but she may inclusiveness that I believe wanting to. The best argument for surprise you with her enthusiasm for Ubuntu wants to exude. wanting to attract more women is the project and/or technical that, since women make up over expertise. half the world's population, not • Steer clear of sexist and other is a attracting women to your team exclusionary jokes and stereotype- Debian Systems Administrator means you may be missing a vast ridden comments, and avoid in Pennsylvania and has been untapped resource! Also, a more using Linux since 2002. She addressing your team with male- currently leads the Philadelphia diverse team may open doors to specific terms such as “fellas”[sic] Linux Users Group (PLUG) and the projects that your team had never and “gentlemen”. Philadelphia Chapter of LinuxChix dreamed of. • Encourage women already (PhillyChix).

26 UUBBUUNNTTUU GGAAMMEESS Written by Edward Hewitt

pen Arena is the open GAME NEWS source equivalent of OQuake 3 Arena. Like Quake, Open Arena is a first • New EVE Online expansion person shooter that is heavily announced - Quantum Rise based around multi-player is a new expansion of the deathmatch arenas. You fight it MMORPG, EVE Online. The out in arenas, either online or new expansion boasts new against AI-controlled bots. content and performance There are several weapons you enhancements. can use, such as the usual • Prey (below) coming to machine gun, shotgun, rocket Linux – Yet another software launch and rail gun. There are 4 developer is porting its modes you can play: deathmatch, same maps that are used on games to Linux! Prey is a team deathmatch, capture the flag, multiplayer, so the single player FPS game from 3D Realms. and tournament. mode gives you the chance to The demo is available now! explore each map before you As soon as you install the game, play online. you have the option of playing the game in either single player mode or Finally, the multi-player - the multi-player mode. The single player main part of Open Arena. This mode is good for players who are game, like Quake 3, was new to the game. It gives you a designed with a focus on the chance to get used to the fast-paced online mode. You can play either gameplay, and explore the many over a LAN or over the internet. arenas. The AI-control bots are fairly When you join a match, it is intelligent and can put up a good incredibly fast-paced. Stand still fight. There are about 20 maps which for a second, and your head will you can play through. These are the be shot off. Grab a gun, run and

27 fire. Open Arena requires especially FPS fans. no real tactics; unlike However, I would not Counter Strike, you just recommend this to have to go with the flow. gamers new to FPS, it is There are about 70 just far too fast. servers for Open Arena, which are all fairly active. Each server has different maps to play on, and different game modes. For players new to online Intel Pentium II 233MHz FPS games, it is not the 64MB RAM best game to start out OpenGL Graphics Card with with. Many players are 32MB VRAM (3D acceleration enabled) very fast, and have very 300MB HDD space good aim. I was on one server, where every time I spawned I would be shot by a rail gun. This happened 20 times in a row! Open Arena servers will be using that Open Arena has an active version. You will be able to download community of developers, always the DEB file from PlayDeb.net. busy developing new versions of the game. In the past, they have Open Arena is an excellent free added new game modes, new alternative to Quake. It is very well graphics, and new maps. The developed, and the game is perfectly , aka chewit latest version of the game is balanced. Graphics are very dated, (when playing games), is a 0.8.0. However, on the Ubuntu but with most online FPS games, it's keen PC gamer and repos, the latest stable version is more important to have a high frame sometimes enjoys console gaming. He is also on the 0.7.7. I would recommend rate than good looking graphics. I development team for the Gfire installing 0.8.0, because it has all would strongly recommend this Project (Xfire Plugin for Gfire). the new content, and most of the game to any hardcore Linux gamers,

28 If you have Ubuntu-related questions, email them to: QQ&&AA [email protected], and Tommy will answer them in a future issue. Written by Tommy Alsemgeest

Try going to the network manager, selecting your Q wi-fi, and clicking The backported programs A properties. Make sure it is set on probably have unresolved "roaming". Adependencies, so a program you have installed relies on one version of another program, but an update relies on a newer version. Q Thus, it can't upgrade the program without breaking another program. It's probably best to leave it alone until it is allowed to upgrade. I've heard people suggest /usr, /var, /home, and Edit your fstab with the Q /boot. Also, place the command A partition on a separate hard A drive, then it might speed it up. I gksudo /etc/fstab doubt that having a separate partition on the same hard drive and find your drive. If it isn't in would help. It could even the list, take a look here for degrade performance, as the instructions: read/write heads have to move http://www.tuxfiles.org/linuxhelp/fs to separate sections of the disk tab.html to access the required files. Separate partitions would be good for protecting against file Q corruption, though not quite as good as separate drives.

29 Your chance to show the world your desktop or PC. Email your screenshots and photos to: [email protected] and include a brief paragraph about your MMYY DDEESSKKTTOOPP desktop, your PC's specs and any other interesting tidbits about your setup.

I'm running Ubuntu Hardy 8.4 with GNOME, using Compiz Fusion, and the , not emerald, window decorator. I have tried many dark themes, but they interfere too much with Firefox and applications, so I settled for this blend of the two. The I've gone and made my desktop as much like Windows XP as background was originally red and I bleached it to fit with the possible. The wallpaper is Windows XP's Bliss, and the theme is greys. The Metacity theme is clearlooks, with a cherry on top (if I Royale. I've installed a Windows-like start menu from Gnome- remember correctly), and the actual GTK is clearlooks too! The look.org, and I use Wine to install and run many Windows folders are Dropline NOU! and I use the dmz-black pointers. I've programs. The PC I'm using is an ASUS machine, with a always liked simple but beautiful desktops, and this is more 2.89GHz Pentium 4 processor and 512MB RAM. windows than I would ever have open on one workspace normally. Conky is usually not running (to save CPU cycles) - I turned it on specially for this screenshot.

30 MMYY DDEESSKKTTOOPP

I've used Ubuntu since 6.04 from the free live CD. There are few Well, since I found out about Ubuntu, I love it! I like it so much people using Linux in China. But I love it. I installed Hardy on that, even though I still have Windows XP, I no longer use it. I my IBM R60 with Core 2 Duo, 1GB Ram and ATI x1300 video think that Ubuntu Linux is what I've been looking for ever since I card. It runs perfectly with Ubuntu. Black, simple and clean is first used a PC and a Mac. Good job on Full Circle Magazine! I like what I favor. I put almost all of my icons on the right, and all of reading it. Thanks for the info you guys put in it. I want to see my open windows on the bottom, and use all the desktop for how far Linux can go. I live by this Motto that I found on a my work. The penguin icon on the right is QQ, the most popular wallpaper: "many choices, many flavors, FREEdom". instant chat tool, like MSN, in China. It runs only on Windows, but I Wine it perfectly.

31 VVIIRRTTUUAALLIIZZAATTIIOONN AAPPPPLLIICCAATTIIOONNSS Written by Andrew Min

http://www.virtualbox.org/ http://www.xente.mundo-r.com/narf/vboxgtk/ This VM (virtual If you're a Gnome or machine) application, Xfce user who owned by Sun doesn't like using Microsystems and applications on GTK- created by a small based systems, give company called VBoxGTK a whirl. It's innotek, is one of the still in beta (the site most popular notes that "most of virtualization solutions VirtualBox features for Ubuntu. It's the are not supported, third most popular method to run Windows apps on and those that are Linux, according to DesktopLinux.com (trailing Wine, will probably fail"), which is not an emulator/virtualizer, and VMWare, but it's a good which is proprietary). There's good reason: it has a beginning and bevy of features, including snapshots, shared progressing rapidly. Right now, the developer is still folders, RDP, ability to use host USB, and a lot of focusing on stability, and as a result, most of the advanced hardware virtualization. VirtualBox features aren't available. Still, it boots operating systems, and it's GTK. There are two versions of VirtualBox. Installing the open-source edition is easy: just install the To install VBoxGTK, use the package in the package in the universe universe repositories. repositories. If you want to install the enhanced but closed-source version, you'll need to visit the website (above) and download the .deb.

32 http://projects. wanderings.us/ qemu_launcher

If you like the idea of QtEmu but dislike the fact that it's, well, Qt, Qemu Launcher is a good alternative. This GTK+ interface to http://bellard.org/qemu/ QEMU supports almost all of QEMU's features, though it's not quite as user While not the most user friendly application friendly as QtEmu. It's definitely hacker- on the virtualization market, QEMU is one of targeted, with support for networking, the oldest and most respected virtualization http://qtemu.org/ acceleration, directly booting the Linux programs around. QEMU can not only kernel, and some extra features like virtualize an existing chip (like VirtualBox or If you don't like messing around in the synchronizing the clock. Snapshots are VMWare), but can also emulate a hardware console, try out this Qt-based QEMU also supported, making Qemu Launcher platform like PowerPC or SPARC. This makes frontend. It's a straight-forward and a viable alternative to the command line it really popular with developers trying to easy-to-use GUI for QEMU that for hackers and programmers. port programs to other platforms - like the supports basically all the features of Android. Plus, there are tons of handy QEMU from a friendly Qt interface. To install Qemu Launcher, use the features like snapshots, VNC, and of course There's all the standard memory, hard package in the standard features like sound, hard drive disk, CD ROM, Floppy, network, and universe repositories. tweaking, and multiple CPUs. Code from it sound options, but there's also some has been used in almost all virtual machines advanced features like seamless today, including VirtualBox. mouse integration and multiple CPUs. It's a sweet little app with a lot to offer, To install QEMU, use the package in especially if you don't like Sun's dual- the universe repositories. has been a Linux licensing of VirtualBox but love the addict since he first installed interface. openSuSE in VMWare. Learn To install QtEmu, you'll need the more about him at package from the universe. http://www.andrewmin.com/

33 HHOOWW TTOO CCOONNTTRRIIBBUUTTEE Full Circle Team - Ronnie Tucker [email protected] We are always looking for new articles to include in Full Circle. For article guidelines, - Rob Kerfia ideas, and for issue translation, please see our wiki: [email protected] http://wiki.ubuntu.com/UbuntuMagazine - Robert Clipsham Please email your articles to: [email protected] [email protected]

If you would like to submit news, email it to: [email protected] Robert Orsino Send your comments or Linux experiences to: [email protected] Mike Kennedy David Haas Hardware/software reviews should be sent to: [email protected] Gord Campbell Jim Barklow Questions for Q&A should go to: [email protected] David Sutton Andrew Min MyDesktop screens should be emailed to: [email protected]

If you have questions, you can visit our forum: www.fullcirclemagazine.org

And our thanks go out to Canonical, the Ubuntu Marketing Team and the many translation teams around the world.

A magazine isn't a magazine without articles and Full Circle is no exception. We need your Opinions, Desktops and Stories. We also need Reviews (games, apps & hardware), How-To articles (on any K/X/Ubuntu subject) and any questions, or suggestions, you may have. Sunday 07th December. Send them to: Sunday 28th December.

34