1. Welcome From The Chief Editor

2. Windows Migration: Configure Your Computer With PCC

3. Windows Migration: Fine Tune Your PCLinuxOS Installation

4. How To Create Sub Menus In GRUB

5. ms_meme's Nook: Sunny Side Of The Web

6. Mark's Quick Gimp Tip & Double Take

7. My 16 GiB Corsair Flash Voyager GT Has Died ...

... Or How To Fully Erase Personal Sensitive Data

8. Gimp Tutorial: Create A Shiny Button

9. Forum Foibles: How To Make A Forum Foible

10. Xfce Power User Tips, Tricks & Tweaks: Working With Graphics

11. Inkscape: Getting Started

12. PCLinuxOS Recipe Corner

13. Mounting SSH/SFTP Shares As Local Drives

14. When Was My System Installed?

15. Forum Foibles: ms_meme's Linux ABC BOOK

16. Game Zone: TorchLight II

17. 2012 LinuxQuestions.org Member's Choice Awards

18. Adopt A Virtual Cat At AdoptMe.com

19. HTML5 "One-Liner" Text Editor

20. Screenshot Showcase

Welcome From The Chief Editor

March is here. Typically, you think of Spring (at least in the Northern Hemisphere), the plants and trees beginning to embark on another growing season, and warmth. Yet, as I write this on February 24, my home city has just received 10 inches (25.4 cm, for you metric folks) of snow, with another blast of 6 to 10 inches (15.25 to 25.4 cm) scheduled to arrive on Monday. I'm not like most folks. I actually don't mind the snow. I just wish we had gotten it spread out a bit throughout the season, instead of dumped on us all at once. Of course, I'm eagerly awaiting the arrival of warmer weather, so I can enjoy more time on my bicycle outdoors. Staring at the walls of my dining room while pedaling away on my indoor trainer (with one of my bikes attached to it) is getting rather boring.

March is, for us here at The PCLinuxOS Magazine, a sad month. The March 2013 issue represents the last Forum Foible column from ms_meme. Since she joined the magazine staff with the July 2009 "rebirth" of the magazine, she has only missed one month. That's a run of three years and nine months (45 months for those who may be counting). Fittingly, her last Forum Foible column is a "how-to" for creating the Forum Foible column, should anyone express an interest in carrying it forward. We'll still be seeing ms_meme around, though. She plans to keep on doing her "ms_meme's Nook" column – at least for the foreseeable future (however long that is).

To take the place of the Forum Foibles column, YouCanToo (does this man ever stop?) will be doing a monthly PCLinuxOS Recipe Corner column. You can catch his inaugural column in this month's issue. Given how much PCLinuxOS users talk about food in the PCLinuxOS forum, coupled with YouCanToo's prowess in the kitchen, we have no doubt that this will be a popular column.

Just in time for Texstar's birthday (February 2), the PCLinuxOS "packaging crew" and developers released the first long-awaited, much anticipated release candidate of the PCLinuxOS 64-bit version. If you have a spare 64 bit computer laying around, you might want to join the "festivities" and help run the release candidate through its paces. The more people who help test it on a wider variety of hardware, the better the end product will be. Plus, you get to have a hand in helping to making it the best it can be. Just remember ... install the release candidate on a computer that you don't depend on for your daily computing tasks. The release candidate is, after all, still in the beta stage.

Until next month, I bid you all peace, happiness, serenity and prosperity.

Windows Migration: Configure Your Computer with PCC

by Meemaw

I was thinking the other day about the PCLinuxOS Control Center (PCC) and how it is the "place to go" for all your major system configurations … and it's been updated in PCLinuxOS. Perhaps there are those who need a tour of some of the things you can do with this configuration center. It is a centralized application for configuring and administering various system tools, making it easier for a user to do the many different chores that pertain to the maintenance and use of a Linux box. This will be a highlight of the PCC, and if you need a more in-depth explanation of any item, you should post in the forums so someone who's more knowledgeable can explain it more completely.

Users can access the PCC in a couple of ways. One is by clicking on the Menu button on your panel, then go to System > Configuration > Configure Your Computer. On many systems (unless it's been changed), the PCC icon is already on the panel. It is the icon that looks like a wrench and screwdriver crossed. It can also be invoked through the Run Command (Alt+F2) or a Konsole with the command drakconf. You will be asked for your root password as any configuration done will change the system and can only be done by root.

I have listed the items under each section and subsection, along with a short description for most of them.

Sharing

Configure FTP - File Transfer Protocol allows a transfer of files from one host to another. proftpd has to be installed to use this protocol.

Configure web server - If you are setting up a web server, this is where you need to be. You need apache-mpm-prefork installed.

Network Services

Configure DHCP - If you are configuring special DHCP settings for a server, you should be here. dhcp-server has to be installed.

Configure DNS - Use this if you need a DNS server for your network. bind has to be installed.

Configure proxy - Use this if you need a proxy server for a web client. squid has to be installed.

Configure time - This is where you configure your time server(s).

OpenSSH configuration - You can use SSH to access another computer in your network. You need an ssh program installed.

Hardware

Many of these are self-explanatory - but this is where you go for hardware configuration. The GUI can also be launched from the Run Command or Konsole with harddrake2.

Manage Your Hardware

Browse & configure hardware - This will examine your system and show your hardware, and has a way to configure everything if need be. There are two sections on the window. The left shows the device tree of all the detected hardware categories. The right pane shows additional information of a selected device. In some cases, there would be buttons which will allow the configuration of the selected device and/or its module.

Sound Configuration - If you need to change any settings, or install a new sound card.

Configure Graphics

Configure 3D desktop effects - Turn on or off Compiz Fusion.

Configure Video card - You can configure your graphical display - the screen will ask for your graphics card, monitor and resolution - if for some reason you need to alter any of this, you can do it here. BE CAREFUL!!! You can mess up your system!!!

Configure Mouse & Keyboard

Set up keyboard layout - You can change your keyboard layout here.

Set up pointer device (mouse, touchpad) - Mouse or touchpad settings here.

Configure Printing & Scanning

Set up the printer(s), print job queues... - Your printer is detected and configured here. If you are sharing your printer between your home computers, there is a way to do it in this section.

Set up scanner - Scanner configuration.

Others

Set up UPS for power monitoring (Uninterruptible Power Supply)- A UPS will help if your area experiences lots of power outages. It will have to be connected and on so it can be detected by the system.

Many times PCLinuxOS will detect your hardware on install or booting a live disk, and you will find that it doesn't need any configuration at all! For example, my scanner and printer have always been detected and ready to use.

Network & Internet

Manage your network devices

Network Center - This is where you configure your network connection, change settings, monitor your connection and even find out if there are other signals in your area.

Set up new network interface (LAN, ISDN, ADSL, ...) - Use this if you are starting from scratch on your interfaces. Most of the time a hard-wired cable is already detected and ready to use, but if you get a wireless card and want to configure it, you start here. If your card can be turned on and off, verify that it is on. If it is a laptop card or usb connection that needs to be inserted, make sure that is done as well because it won't get recognized by the system unless it is in the machine and turned on.

Remove a connection - If something isn't working and you need to start from scratch, you should delete it here, then reboot before you start over.

Personalize and Secure Your Network

Proxy - If you want a proxy connection, configure it here.

Share the Internet connection with other local machines - You can configure your system to act as a gateway to the internet for other machines.

Manage different network profiles - If you have a laptop you use at home and at work, you can set up a "profile" for each so you can bring up the connection you need in each place.

Configure VPN connections - (from Wikipedia) "A virtual private network (VPN) is a computer network in which some of the links between nodes are carried by open connections or virtual circuits in some larger network (e.g., the Internet) as opposed to running across a single private network." Configure it here.

Others

Host definitions - this is one place you can designate different host definitions if you have more than one computer on your network. At my house, instead of both of them being localhost.localdomain, the desktop computer is Desktop and the laptop computer is Laptop.

System

Manage System Services

Authentication - Gives you 5 choices as follows;

* LDAP: Tells your computer to use LDAP for some or all authentication. LDAP consolidates certain types of information within your organization.

* Kerberos 5: With Kerberos and LDAP for authentication in Active Directory Server

* Windows Domain: Winbind allows the system to retrieve information and authenticate users in a Windows domain.

* NIS: Allows you to run a group of computers in the same Network Information Service domain with a common password and group file.

* Local file: Use local for all authentication and information user tell in local file. Stand-alone computers should choose Local File.

Manage system services by enabling or disabling them - A list of services that start on boot can be found here... if there is something you don't want or need to start, you can disable it here.

Manage, add & remove fonts, import Windows™ fonts - You should install new fonts to your system here.

Localization

Manage date & time - You can always right-click to clock on your desktop and configure it from there, but this feature is included here as well. No matter which way you configure it, you will need to make your date & time changes as root.

Manage localization for your system - If you are changing your language from English to something else (or back to English) you configure it here. Bear in mind that a reboot is necessary to complete the change, and some of your applications may need to be configured separately.

Administration Tools

View & search system logs - The system logs can be viewed here. It's an alternative to typing dmesg in a console but every bit as useful.

Open a Console as Administrator - You can open a console from here or from the main desktop menu.

Manage users on system - You can add a new user to or delete a user from the system here.

Import Windows™ documents and settings - If you are dual-booting, this gives you a wizard to access your files. You can copy the files over to PCLinuxOS or share the folders between PCLinuxOS and Windows.

Network Sharing

Configure Windows® Shares

Access Windows (SMB) shared drives and directories - Windows machines use the SMB protocol to share directories.

Share drives and directories with Windows (SMB) systems

Configure NFS shares

Protocol used mostly for Unix/Linux machines for sharing.

Access NFS shared drives and directories

Share drives and directories using NFS

Configure WebDAV shares

Access WebDAV shared drives and directories - WebDAV (Web-based Distributed Authoring and Versioning) is an extension to the HTTP protocol which allows you to create, move, copy, and delete resources on a remote web server. In practice, mounting a remote WebDAV repository on your local machine allows you to modify a remote web server's files as if those files were local to the system.

Local Disks

Manage disk partitions - If you want to change your partitions, you can do it here, but be aware that you should backup all your data first, as changes to the partitions could cause data loss.

CD/DVD burner - There may be a notation designating your drive type here - it has mine as (Slimtype DVD A DS8A4S)

Share your hard disk partitions - If you have multiple users on your computer you can configure sharing partitions with some or all users.

Security

Configure system security, permissions and audit - You can set up security on several levels - Poor, Standard, High, Higher and Paranoid - and set up periodic system checks, set up level of permissions on some configurations.

Set up your personal firewall - You can configure your firewall here. It is a matter of checking which services you will allow access to on your machine. You can access the internet but you are designating which services can be accessed from the internet. Default is to have "Everything" checked, but that isn't very secure. Unchecking "Everything" turns on the firewall; then only check those services you want to allow access. You shouldn't need to check anything unless this computer is hosting services. However, if you have your printer on one computer in your home and configured it to print from other computers in your home, "CUPS Server" needs to be checked.

Configure authentication for PCLinuxOS tools - Here you can figure authentication for various tools. this means you can designate whether things can be done by a user using their password, or by the user without a password, or only by the root user.

Advanced setup for network interfaces and firewall - This tool allows set up of network interfaces fallover and firewall replication.

Boot

Set up autologin to automatically log in - auto-login is not as secure as having to login, because anyone can start your computer and do anything with it. However, some people like having their computer bring up the desktop upon boot, and this is where you configure it. In my case, I used to have an old laptop in the living room for some quick, occasional web-browsing. My adult daughter occasionally came in and looked things up as well. I had the laptop configured to auto-login. I keep important files on my desktop computer with the normal login screen, and didn't share any files or drives with the laptop. My new laptop does not have autologin enabled because I use it much more.

Set up boot system - This is where you can configure your boot loader (Grub or Lilo). For those who have a multi-boot system, you can change the boot order here. This was useful to me when I had just started using Linux and was dual-booting with WindowsXP. I had it setup to start Windows, but not long after that, I went into this section and changed the default boot to PCLinuxOS (and removed WindowsXP completely not too long after that!).

Set up display manager - When you click this you get a new window which says "X11 Display Manager allows you to log into your system with the X Window System running and supports running several different X sessions on your local machine at the same time." The choices I get are GDM (Gnome Display Manager) and XDM (X Display Manager). I think your choices depend on what desktop environment you are using.

As you can see, you can do almost anything to configure your system by using the PCC. Any questions or problems with this program can be directed to the very capable people in the forum.

Windows Migration: Fine Tune Your PCLinuxOS Installation

by Paul Arnote (parnote)

Now that you have PCLinuxOS installed on your computer, it's time to "fine tune" your PCLinuxOS installation. If you bought a new violin or guitar, you will want to tune them before you play them. They will produce music if you don't tune them, but not optimally. Thanks to the excellent hardware recognition in the PCLinuxOS installer, your PCLinuxOS installation will most likely run just fine. Just as with a new violin or guitar, you should also fine tune your PCLinuxOS installation. By fine tuning your new installation, you can make your PCLinuxOS installation run optimally and provide the best performance from your hardware, old or new.

Without a doubt, hardware recognition and compatibility under PCLinuxOS -- and Linux, overall -- has improved by leaps and bounds in recent years. When I first started with Linux, there were simply some hardware configurations you avoided at all costs. You avoided them because they were either extremely difficult to configure, or the hardware manufacturers didn't support Linux in any shape, way or form.

However, thanks to the growing popularity of Linux, many more hardware manufacturers that formerly shunned Linux support are now jumping on board with driver support. Hardware manufacturers, such as Broadcom and Lexmark, both whom were steadfast in their refusal to support Linux, now produce Linux drivers for their hardware. Granted, they haven't written hardware drivers for their older hardware. (And much of the older stuff remains problematic, although less problematic, despite advances of the Linux community "roll-your-own" drivers). But the new hardware items they produce now typically include Linux drivers.

Setup Video Card

While the PCLinuxOS installer does a very good job at detecting and properly setting up your video card, there may be times when you will want to change the video card driver in order to help improve performance. Besides the free and open source Xorg drivers, PCLinuxOS also makes the proprietary, closed source drivers for ATI and nVidia graphics cards available through Synaptic. Once you've installed them, you may need to re-setup your X server to use the proprietary graphic drivers. Also, once installed, they should appear among your choices.

Launch the PCLinuxOS Control Center (a.k.a. PCC). You will need to have root user access, and you will be asked for the root password when you launch PCC. Go to the "Hardware" section, and select "Configure Video Card" from the choices.

You will see a window appear, similar to the one above.

Selecting the "Graphic Card" button will cause the window above to appear, with your currently configured graphic card driver selected. Unless you know better, or you have been advised differently, and unless you are changing to the proprietary drivers (after installing them), you are strongly advised to NOT change from the default graphics driver that is selected by the PCLinuxOS installer. Selecting the wrong driver here could cause you to be unable to boot into your graphical desktop. Use extreme caution here. The fix is sometimes difficult, even for seasoned, experienced Linux users.

Selecting the "Monitor" button will display the monitor selection choices. Not all choices will apply to your system! The currently selected monitor choice will appear, preselected in the list.

Selecting the "Resolution" button will display a window similar to the one above. Here, you can select the display resolution and color depth for your monitor display. One thing you should realize is that under Windows, the 16 million colors setting is called 32 bits. Under Linux, the very same thing is called 24 bits. The different naming is on account of a difference between how the bits are counted, between the Windows and Linux camps. Don't let this trip you up. They are one and the same.

When you select the "Options" button, you will see a window displayed that is similar to the one shown above. The options displayed may differ slightly from what is shown, based upon the different capabilities of your graphic card. Generally, you are safe sticking with the default options, unless you are directed to make changes or until you are better acquainted to tweaking an Xorg video driver (which is beyond the scope of this article).

After making changes to your video display, it is a good idea to enable those changes by restarting your computer.

Set Up Your Sound

For most users, sound will be set up properly. However, due to the wide variety of sound cards out there -- both those built into a motherboard and those added on -- you may find it necessary to perform a manual configuration.

Open up a terminal session, and at the command prompt, enter the following:

su <Enter>

Enter your root password when prompted, then press Enter.

You will notice that your command prompt has now changed to red text, to indicate that you are now entering commands as the root user. Because of this, exercise an extra level of caution. Double check your command line entries. The root user has access to all parts of the system, and can make system-wide changes. Performing actions as the root user, you can wreak some havoc on a system. Don't be afraid. Just be cautious.

Now, enter alsaconf at that red command prompt. This is the ALSA Configurator. ALSA is the default sound system for Linux. ALSA stands for the Advanced Linux Sound Architecture. You should have a display in terminal similar to the image above. Press "Enter" on your keyboard.

After a brief period, a screen similar to the one will be displayed. Typically, the highlighted choice is the best one to choose. Again, hit the "Enter" key on your keyboard.

Again, hit the "Enter" key on your keyboard. ALSA Configurator will run the initialization script to set up the defaults for your sound card. When you are returned to the red text prompt in your terminal session, type exit to end the terminal session for the root user. If all went well, your sound card should now be properly configured.

Within the past couple of years, a new Linux sound project has emerged, called Pulse Audio. Pulse Audio's goal is to make sound configuration under Linux much easier, while insulating the end user from having to drop to a terminal session and running alsaconf from the command line. Pulseaudio also allows you to set up sound defaults on an application specific basis. This means that if you want a louder volume from one application than another, you can easily configure it to do so. If you are interested in exploring more about Pulseaudio (which is in the PCLinuxOS repository), I strongly recommend doing a search in the PCLinuxOS forum and reading the relevant threads there.

Set Up Your Printer

For many of us, making a paper copy of data is still a fact of life. If you are like most of us, you will have a printer that you will want to set up under Linux. Fortunately, PCLinuxOS makes it relatively easy to set up a printer.

The first step you should take, before even connecting your printer to your computer, is to install task-printing from Synaptic. This will install the Linux printing system, called CUPS (Common UNIX Printing System), along with printer drivers that will cover many printers that you might have.

Once you have installed task-printing, turn your computer off, connect and turn on your printer, then turn your computer back on, rebooting into PCLinuxOS. This will give the CUPS printing subsystem an opportunity to initialize and prepare, so you can properly install and find your printer.

While some users swear by setting their printers up using a method that circumvents the installation and use of CUPS, we'll focus on using CUPS. Using CUPS is often easier, and it offers up easy access to your printer from other computers on your network.

Enter http://localhost:631 into your favorite web browser's URL bar. You will see a page similar to the one shown above. Select the "Adding Printers and Classes" link (first choice in the "CUPS for Administrators" column). You will be prompted for your root username (usually just "root" without the quotes) and your root password on the computer you are starting CUPS on.

If you wish for your new printer to be made available to other computers on your network, be sure to check the second checkbox under "Server Settings" (right). Next, click on the "Add Printer" button under the "Printers" section (upper left).

What you see next depends on how your printer connects to your computer. If it connects using a USB port, you will see choices for a USB connection. If it is a network printer that connects via an ethernet port or wirelessly, then you will probably have better success setting up your printer via CUPS native Internet Printing Protocol, a.k.a. IPP. With so many options here, coupled with the large number of different printers out there, it's virtually impossible to cover them all in this article. Rather, I would strongly recommend looking toward the PCLinuxOS forum for assistance, should you need it.

The other thing you might want to try is to select "Find New Printers," instead of the "Add Printer" button. Be sure your printer is turned on and connected, and see if CUPS auto-detects your printer.

One other thing that CUPS can help with is managing printing jobs in your printer's printing queue. From this screen, you can hold or delete errant print jobs.

Set The Time

There's little else that's as annoying as your computer's clock displaying the wrong time. It's even more annoying when your computer's clock either loses or gains time. Fortunately, you don't have to tolerate either situation.

Launch PCC (remember, you need to have root access), and select the "Network Services" category. Find and select the "Configure time" icon.

This starts the NTP wizard. Select the "Next" button in the lower right corner.

In the lower half of the window, select each of the three time server drop down lists, and choose a NTP time server. While you can choose from any of the available time servers, I recommend making your primary time server as the one nearest to your geographical location, your secondary time server the next closest, and your third one any of the time servers you wish.

Next, choose the region that is the closest match to your geographical location.

Now, choose a city that is in your same time zone. Even though I live in the Kansas City area, it isn't a choice. However, Chicago, which is in my same time zone, is available as a choice.

You should now see a "summary" window, displaying all of your chosen settings: your three time servers, and your time zone. Select the "Next" button.

You should now see a listing of text in the window as PCLinuxOS tests and sets up your sound server synchronization. Just wait for this window to complete.

If you see the window above, you have just successfully set up your computer to sync with the time servers that you've chosen.

Networking

One thing you're going to want to get set up and running almost right away is your network connection. Few users run a static installation these days that isn't connected, in one way or another, to a network of some kind. Usually, that connection is to the internet.

Luckily, if you are using a wired ethernet connection, your connection is pretty much automatic. There won't be anything left for you to do, after plugging in your ethernet cable. Setting up your wireless connection is a little more involved, however.

Before you get started setting up your wireless (wifi) connection, it would be a good idea to have all the information that you will need gathered together. Minimally, you will need the SSID (network name) for your network, the type of encryption used, and the password for the network connection.

Open PCC (PCLinuxOS Control Center). Enter the root user password when prompted, and go to the "Network & Internet" section. Select the "Setup a new network interface" icon.

You can also arrive at the same place by right clicking on the Net Applet icon in the system tray, (which will be an X in a red circle, if there are no current network connections), then selecting "Configure Network" from the menu that appears.

You will see the window above displayed. While most of you will select "Wireless (Wi-Fi)," you can also set up a cellular connection (GPRS/Edge/3G) or a dialup (POTS) connection. Select the type of network interface you are wanting to configure. For the purpose of this article, we'll focus on setting up the most common connection, a wifi connection.

Select the network interface that you want to configure. Fortunately, Linux support for the many varied wireless cards and chipsets has vastly improved over the past five years. Still, there may be instances when you run across a wireless card or chipset, (typically an older one), that doesn't have direct support under Linux. You'll know you have one of these animals if "Use a Windows driver (with ndiswrapper)" is your only choice.

Never fear, however, because we can most likely still get it up and running. To use ndiswrapper to get your wireless card running will require you to find the Windows *.inf and *.sys files for your particular wireless card. You can get these from your Windows partition (if you are dual booting), or download them from the internet on another computer. If you use the latter method, save the files to a USB flash drive, and transfer them to your /home/yourusername/Downloads directory. When prompted for the Windows driver file, point PCLinuxOS towards the *.inf file for your wireless card. The rest of the ndiswrapper configuration is pretty straight forward. Just follow the prompts.

In the next screen, select the router you want to connect to. I have two (well, actually three) wireless routers on my home network (one is in the basement and not shown in the image above).

If you use some form of encryption on your wireless network -- and these days, that's nearly everyone -- the "Operating Mode" will be "Managed." Common options for "Encryption mode" include WEP and WPA/WPA2 Pre-Shared Key (PSK). WEP is much less secure than WPA/WPA2 PSK, and can be easily broken in under two minutes by a determined hacker. Most of the time, the wireless network wizard will have the proper encryption mode already preselected for you.

On the next line, enter the encryption key for your router. If you want to see the key that you are entering, clear the check in the "Hide Password" check box. Otherwise, all you will see are a bunch of big, black bullets. After you've entered your encryption key, select the "Next" button.

You can also get to the "Wireless Settings" window (previous image) by selecting "Network Center" from PCC, selecting the triangle next to "Wireless (Wi-Fi)," then selecting the "Configure" button.

Accepting the defaults in this window will work just fine. But if you would like to use OpenDNS or Google DNS services for your connection, clear the checkmark next to "Get DNS servers from DHCP" and enter the primary and secondary DNS addresses on the DNS server lines. We'll discuss the "host name" function a little later. For now, just accept the defaults and select the "Next" button.

Accept the defaults (which may differ from the selections above), and select the "Next" button.

Select if you want the connection to start up now, then select the "Next" button.

If everything was successful, you see the "Congratulations!" window, as shown above. However, if you see a message that there was a problem configuring your wireless connection, go back and review your settings to insure that everything is correct. Often times, the problem is an improperly entered encryption key.

While the explanation sounds complicated, the entire process is actually very easy. Often times, a step-by-step instructional article can make the process sound a lot more complex than it really is.

Hostname

The hostname is the name that a network connected device (your computer) is known by on a network. By default, your hostname is set as localhost.localdomain on PCLinuxOS. This makes your PCLinuxOS box easy to identify on your home network -- provided you don't have more than one computer running PCLinuxOS connected to your network. However, if you have more than one computer running PCLinuxOS connected to your network (I have up to eight connected at any given time), it can quickly become confusing to see multiple computers named "localhost" on the network.

Fortunately, you don't have to accept the default value of "localhost.localdomain." You can personalize each and every PCLinuxOS computer on the network to have its own unique name. While there are ways to do this with the aid of a graphical user interface, I'm going to show you a different way to do this -- the sure fire, easiest, fastest way. Trust me. It's not hard to do. Most of it uses GUI tools, too.

If you are using the KDE desktop, press the Alt + F2 key. You'll see a window like that pictured above at the top of your screen. Enter the following:

kdesu kwrite

Enter the root password in the box above, and press OK.

KWrite will open, as above. Select File > Open, and traverse the directories to /etc/sysconfig. Find and select the "network" file.

Under the LXDE and Xfce desktops, select the application menu, then Run Program. Enter the following:

gksu -l leafpad (LXDE), or gksu -l mousepad (Xfce)

The -l contains a lowercase L -- not the number one. Enter the root password, as described above. This will cause either the Leafpad or Mousepad text editors to open (just like it did with KWrite under KDE). In either text editor, select File > Open from the menu, and traverse to the /etc/sysconfig folder. Find and select the "network" file. At this point, the processes merge, regardless of which desktop environment you are using.

The first line in the network file will be HOSTNAME=localhost.localdomain. Change the line to include the name you want to assign that particular computer. As an example, on my IBM Thinkpad T42, I changed it to read thinkpad-t42.localhost.localdomain. So, if you have a desktop and a laptop on your network, you might want to change the hostname on each to read desktop.localhost.localdomain and laptop.localhost.localdomain, respectively.

Save the file, and restart your computer. Your computer will now have a much improved and unique name on your network.

Localization Manager

Even though PCLinuxOS is a Linux distro based in the United States, and thus uses English as its default language, it's also understood that PCLinuxOS users reside all over the globe. As a result, it stands to reason that not every PCLinuxOS user is a native English speaker.

Launch "Localization Manager" and select your native language from the list of over 80 different languages. When you select your language, the language files for your selected language will be downloaded to your computer. Reboot your computer, and your copy of PCLinuxOS will now appear in your native language.

Summary

By fine tuning your PCLinuxOS installation, you can tailor it to your unique and specific needs. Spending just a little extra time tuning your copy of PCLinuxOS will help you be more productive, and will make your PCLinuxOS experience more enjoyable.

How To Create Sub Menus In GRUB

by agmg (Antonis Komis)

I'm pretty sure you've all heard about GRUB. GRUB (complete name GNU GRUB - short for GNU GRand Unified Bootloader) is the default bootloader used by PCLinuxOS. It is the first software program that runs when your computer starts. It is responsible for loading and transferring control to the kernel software which, in turn, initializes the rest of the operating system. It allows you to boot, not only to your PCLinuxOS installation, but also to other operating systems on your hard disk, including multiple PCLinuxOS installations. You can also have multiple kernels installed on your system and boot to each one of them using GRUB.

This is probably what your GRUB will look like after installing and updating PCLinuxOS:

Pretty tidy, huh? Let's say you have two more PCLinuxOS (or any other Linux) installations, one more for Windows and three or four different kernels for your current install. How would GRUB look in that case?

Wow! Pretty long list! Wouldn't it be better if you had all these entries organized in sub menus with distinct names, to help you navigate between them?

Much better, huh? Let's see what's under the "Other Kernels" entry:

All the kernels for the current installation are gathered under this entry and you can select which one to boot. Selecting "Previous Menu", takes you back to the main list. Let's select another entry, "Testing":

This entry could very well be named "Other Operating Systems" and contain other Linux distributions or Windows installed on your hard disk. You can customize the entries to suit your needs.

Sounds interesting? Keep on reading ...

GRUB can be configured by editing the file menu.lst which is located under /boot/grub. The menu.lst file from the first screenshot (a typical installation of PCLinuxOS) would look like this:

timeout 10

color black/cyan yellow/cyan

gfxmenu (hd0,0)/boot/gfxmenu

default 0

title linux

kernel (hd0,0)/boot/vmlinuz BOOT_IMAGE=linux root=UUID=9cfa42bb-

d4b9-459e-a044-bd9dd8f6be7a quiet vmalloc=256M acpi=on

resume=UUID=f1d0f361-8058-4232-a34c-a111b26eece4 splash=silent vga=788

initrd (hd0,0)/boot/initrd.img

title linux-nonfb

kernel (hd0,0)/boot/vmlinuz BOOT_IMAGE=linux-nonfb

root=UUID=9cfa42bb-d4b9-459e-a044-bd9dd8f6be7a quiet vmalloc=256M

acpi=on resume=UUID=f1d0f361-8058-4232-a34c-a111b26eece4

initrd (hd0,0)/boot/initrd.img

title failsafe

kernel (hd0,0)/boot/vmlinuz BOOT_IMAGE=failsafe root=UUID=9cfa42bb-

4b9-459e-a044-bd9dd8f6be7a failsafe vmalloc=256M

initrd (hd0,0)/boot/initrd.img

title memtest-4.20

kernel (hd0,0)/boot/memtest-4.20 BOOT_IMAGE=memtest-4.20

The first section specifies some options related to GRUB itself, such as the time it will display on the screen (timeout), the entry that will be the default to boot (0 is the first one) or its background.

The following sections are entries for booting PCLinuxOS with different options and the last one launches the memtest program for testing your computer's memory (RAM). If you had Windows installed on your disk and decided to keep it alongside PCLinuxOS, you should have one more entry allowing to boot to Windows, similar to this:

title Microsoft Windows

rootnoverify (hd1,0)

make active

chainloader +1

You may have a lot more entries like the above and new entries might be added later on if you decide to make new installations on your hard disk or try different kernels on your existing ones. It can become quite a long list, believe me.

GRUB has a nice feature, the configfile command. It is possible to create sub menus by using the configfile command, followed by the filename of the configuration file you want to load.

Example:

timeout 10

color black/cyan yellow/cyan

gfxmenu (hd0,0)/boot/gfxmenu

default 0

title other kernels

configfile /boot/grub/submenu.lst

This entry will load the configuration file called submenu.lst. This config file is in the same folder as menu.lst (/boot/grub/) and follows the same format as menu.lst. A new menu colour scheme can be specified, default boot entry can be set, etc. Adding an option to return to the previous menu is recommended, to avoid being "stuck" in the submenu.

Example:

timeout 10

color black/cyan yellow/cyan

gfxmenu (hd0,0)/boot/gfxmenu

default 0

title 2.6.38.8-pclos3.bfs

kernel (hd0,0)/boot/vmlinuz-2.6.38.8-pclos3.bfs BOOT_IMAGE=2.6.38.8-

pclos3.bfs root=UUID=9cfa42bb-d4b9-459e-a044-bd9dd8f6be7a quiet

vmalloc=256M acpi=on resume=UUID=f1d0f361-8058-4232-a34c-a111b26eece4

splash=silent vga=788

initrd (hd0,0)/boot/initrd-2.6.38.8-pclos3.bfs.img

title Previous Menu

configfile /boot/grub/menu.lst

Before proceeding with changes to the menu.lst you should make a backup, in case something goes wrong in the way.

Open your favourite terminal emulator and type:

su (your root password)

cp /boot/grub/menu.lst /boot/grub/menu.lst.bak

Next step is to create new .lst files under /boot/grub/ that correspond to the entries you would like to have on the main boot menu. Each entry you want to create must have its own configfile. The best way to do this, is to make additional copies of menu.lst and rename them according to your needs. This way you will have the formatting and all the entries of the main list in each one of the new .lst files. Then, you can easily remove the ones you don't want, by simply editing the .lst file with your favourite text editor (with root privileges, off course). Remember that the first section of the file must not be removed and you should also add an entry in every sub-menu file for returning to the main boot menu.

I created three new files in my case:

su (your root password)

cp /boot/grub/menu.lst /boot/grub/kernels.lst

cp /boot/grub/menu.lst /boot/grub/testing.lst

cp /boot/grub/menu.lst /boot/grub/options.lst

Let's have a look at my kernels.lst file after I have edited it to only contain the entries I want:

timeout 10

color black/cyan yellow/cyan

gfxmenu (hd0,0)/boot/gfxmenu

default 0

title 3.4.11-pclos1.bfs

kernel (hd0,0)/boot/vmlinuz-3.4.11-pclos1.bfs BOOT_IMAGE=3.4.11-pclos1.bfs

root=UUID=9cfa42bb-d4b9-459e-a044-bd9dd8f6be7a quiet

vmalloc=256M acpi=on resume=UUID=f1d0f361-8058-4232-a34c-a111b26eece4

splash=silent vga=788

initrd (hd0,0)/boot/initrd-3.4.11-pclos1.bfs.img

title 3.2.18-pclos2.pae.bfs

kernel (hd0,0)/boot/vmlinuz-3.2.18-pclos2.pae.bfs BOOT_IMAGE=3.2.18-pclos2.pae.bfs

root=UUID=9cfa42bb-d4b9-459e-a044-bd9dd8f6be7a quiet vmalloc=256M acpi=on

resume=UUID=f1d0f361-8058-4232-a34c-a111b26eece4 splash=silent vga=788

initrd (hd0,0)/boot/initrd-3.2.18-pclos2.pae.bfs.img

title 2.6.38.8-pclos3.pae.bfs

kernel (hd0,0)/boot/vmlinuz-2.6.38.8-pclos3.pae.bfs BOOT_IMAGE=2.6.38.8-pclos3.pae.bfs

root=UUID=9cfa42bb-d4b9-459e-a044-bd9dd8f6be7a quiet vmalloc=256M acpi=on

resume=UUID=f1d0f361-8058-4232-a34c-a111b26eece4 splash=silent vga=788

initrd (hd0,0)/boot/initrd-2.6.38.8-pclos3.pae.bfs.img

title 2.6.38.8-pclos3.bfs

kernel (hd0,0)/boot/vmlinuz-2.6.38.8-pclos3.bfs BOOT_IMAGE=2.6.38.8-pclos3.bfs

root=UUID=9cfa42bb-d4b9-459e-a044-bd9dd8f6be7a quiet vmalloc=256M acpi=on

resume=UUID=f1d0f361-8058-4232-a34c-a111b26eece4 splash=silent vga=788

initrd (hd0,0)/boot/initrd-2.6.38.8-pclos3.bfs.img

title Previous Menu

configfile /boot/grub/menu.lst

My file contains only the extra kernels of my installation. I have not removed the first section (options for GRUB) but I could change the settings i.e. the timeout. Also, I have added a section in the end of the file that will allow me to return to the main list.

A similar procedure has to be followed for every entry you would like to have on your main list. For each entry, you must create a separate .lst file and edit it accordingly.

In this article, I have covered only one of the many features of GRUB. Hope you will find it useful and it will help you tidy up your boot menu.

There are many more ways you can customize GRUB so it better suits your needs. For example, you could add an entry that reboots the computer, like this:

title Reboot

reboot

If you would like to further experiment and get to know GRUB, you should begin by reading the manual:

http://www.gnu.org/software/grub/manual/legacy/grub.html

ms_meme's Nook: Sunny Side Of The Web

MP3       OGG

Mark's Quick Gimp Tip & Double Take

Last time, I talked about removing an object from a photo using the Gimp Resynthesize plug-in. This time around, I want to show you how to easily ADD an object to a photo. Thee are thousands of plug-ins created y a huge community of GIMP users and developers. A simple Google search will give you a treasure trove of what's out there. I enjoy using some of the creative brushes. I recently found some tree brushes from http://njsitebuilder.deviantart.com/. These are realistic trees that can be re-sized using the brush tool. In the examples below, I show how easy it is to add a realistic tree to a photo. It's just a matter of downloading, unzipping, and installing/copying the brushes to /home/username/.gimp-2.8/brushes. Once installed, boot GIMP and select a tree from the brush menu at right. Then re-size, click, and place the tree where you want it. I created a separate layer for each tree so I could move them around a bit and edit them with an eraser. Get the brushes and add a tree with just one click!

Mark Szorady is a nationally syndicated cartoonist with georgetoon.com.

He blogs at georgetoon.com/blog.

Email Mark at georgetoon@gmail.com.

Find the answers here.

My 16 GiB Corsair Flash Voyager GT Has Died ...

... Or How To Fully Erase Personal Sensitive Data

by AndrzejL

My 16 gigs Corsair Flash Voyager GT has died. No biggie. I am not writing this to complain or cry out. This story's going to have a happy ending.

Sometime ago, my other 16 gigs pendrive died on me, too. It was a long time after its warranty had expired. It was old. I had a spare one. No biggie. Why am I even mentioning it? I am mentioning it simply because I want to describe the behavioral pattern.

So the story goes like this. It started a few weeks before the thumbdrive died completely. I had a video from a friend's wedding copied onto the pendrive. I was watching it. All of a sudden, SMPlayer closed -- no errors -- clean exit. I thought "What the hell?" and tried to play the video again. Well ... no video to be played. Then I noticed something far worse than the missing video. "Holy crap! Where's my pendrive?" Yes. The dongle was not recognized by the system. I unplugged it, plugged it back in, and everything worked fine again. I thought it was a USB port that was to blame. Maybe a software glitch. I remember thinking that maybe the motherboard of that lappy was going bad.

A few days later, I was watching a different video from this pendrive on another machine. Smplayer died again -- twice -- within 10 minutes. "Uhuh! This is not a USB/mobo problem" I thought, and I copied all the data from the memory stick to the HDD on my main machine. I sensed the reaper coming after my old friend. After a while, the system was "losing" the drive way too often. It became unreliable. I tried many things to recover it, but nothing worked.

One night, I was watching a Ted.com talk from the Voyager and SMPlayer closed. It closed again 20 minutes later. I knew what was going on and had just finished copying data from the flash drive. I heard that Corsair has great confidence in their products, and they give a long term warranty -- 5 years, or sometimes even a lifetime warranty. This pendrive has been with me for a shorter period than that. I went to the manufacturers site and reported a dying pendrive. I was told to send the Voyager to the Netherlands to be replaced. BUT... but... but... what about all my pron documents? I don't want some curious dude at Corsair to be able to recover all my notes and photos and so on. How would I overwrite the drive with some useless random data that would make it harder or almost impossible to recover?

After some searching, I have combined a few commands for my convenience. They are listed below. Run these commands:

su (and provide the root password when prompted)

Then run:

fdisk -l (that's fdisk space dash lower case L)

This command will list all the hard drives available in your system.

Example:

[root@icsserver andrzejl]# fdisk -l

Disk /dev/sda: 40.0 GB, 40007761920 bytes

240 heads, 63 sectors/track, 5168 cylinders, total 78140160 sectors

Units = sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0xef08263a

Device Boot Start End Blocks Id System

/dev/sda1 * 63 73392479 36696208+ 83 Linux

/dev/sda2 73392480 78140159 2373840 5 Extended

/dev/sda5 73392543 75479039 1043248+ 82 Linux swap / Solaris

/dev/sda6 75479103 78140159 1330528+ 83 Linux

[root@icsserver andrzejl]#

This machine for example has only one HDD /dev/sda and it's 40 gigs.

Once you have found the correct drive, run this:

dd if=/dev/urandom of=/dev/sdx & pid=$!

Remember to replace x with the correct drive letter... DO NOT MAKE A MISTAKE. DD does not ask. DD writes. If you make the mistake of writing random strings to a wrong drive you are the only one to blame.

In my case it's /dev/sde drive that I want to "randomize".

[root@wishmacer andrzejl]# dd if=/dev/urandom of=/dev/sde & pid=$!

[1] 20951

[root@wishmacer andrzejl]#

It gives me a process id and then runs in a background. you can then check the progress by issuing command:

kill -USR1 $pid

The result will look something like this:

[root@wishmacer andrzejl]# kill -USR1 $pid

[root@wishmacer andrzejl]# 10171578+0 records in

10171577+0 records out

5207847424 bytes (5.2 GB) copied, 2710.78 s, 1.9 MB/s

[root@wishmacer andrzejl]#

It spits out some pretty useful info.

Sometimes it may not give you a prompt. It will look like the process froze. Don't worry. Punch enter, and the prompt is back.

It will take longer, but once it's done you will see something like this:

[root@wishmacer andrzejl]# dd: writing to '/dev/sde': No space left on device

31719425+0 records in

31719424+0 records out

16240345088 bytes (16 GB) copied, 8522.4 s, 1.9 MB/s

This means that the process has finished. This should be sufficient -- data on your HDD has been overwritten with "random" gibberish. If you are paranoid and you want to make the recovery process even more difficult, run the dd command a few times. You don't have to format the disk or anything. Just re-run the command in the terminal. Five to ten times should do it.

Gimp Tutorial: Create A Shiny Button

by Meemaw

We've all seen those shiny buttons that people make, so now we're going to make one.

Start a new project, 640 x 400 with a white background. If your project has some other color background, you can always change it by choosing white on your color palette, and using the bucket fill tool.

Choose the rectangle select tool and draw a rectangle. In your tool options below, check Rounded Corners. A slide will appear, allowing you to set the amount you want rounded. I set mine around 25.

We want to save this item, because we will use it again. Go to the Select menu and choose Save to Channel. We haven't really talked about Channels yet, but are used to designate the colors in an image, and also any selection masks that may be used. Our drawing has no color yet, but we have selected and saved a rectangle, so it is saved there.

Next, we want to add a layer. Make sure Transparency is selected in your add layer dialog. With the new layer selected, bucket fill your rectangle with black. Notice the rectangle is the only thing that gets filled. Save your project as Button.xcf

Now add another transparent layer. On this one, choose Select > Feather. You want to choose your feather setting to be the same as the height of your rectangle, so if your rectangle is 90 pixels tall, make your feather setting 90 pixels as well. Mine will be 100 pixels. Notice that this outline is a little different.

Now, bucket fill your drawing with a color you like. I used a teal blue (00c0f5). If you make it darker your button will be darker. Notice your fill now is blurry around the edges. That's the feathering. However, look at your drawing, and you will notice that the feathering extends beyond the edges of your original rectangle. Let's get rid of that.

Make sure your color layer is selected, then go to the Channels tab and select the rectangle you saved. Click the red button at the bottom of the tab. (When you hover your mouse over the button, it will say, "Replace the selection with this channel.") Now the dotted lines that surround the selection are around the original rectangle. However, we want to delete everything outside that rectangle. Make sure you go back to your Layers tab and the colored layer is selected, then click on Select > Invert. This will choose everything except your rectangle. NOW, press your Delete key, and the outer color will disappear.

Go back and click Select > Invert again, since we are working on the button itself.

Now we want to make our button shiny. First we want to choose the ellipse select tool. Start your mouse to the left and above our button, and end up to the right about centered. Hold down the <CTRL> and <Shift> keys while you draw it. This will select the intersection of the two figures (see the dotted line?)

Next, choose Select > Shrink to shrink the selection you just drew. When the settings box appears, choose to shrink by 3 pixels. Notice that the dotted line is now inside the button.

This will be the shiny part. Click on your color chooser to make the foreground white, then click on the Blend, or Gradient, tool. Choose the gradient FG (Foreground) to Transparent. Create another transparent layer, choose your Gradient tool, hold down the <CTRL> key to make your gradient straight, and draw a line from above your button to about halfway between your selection and the bottom of the button. (You can probably play with the gradient and get it the way you like it.) Clicking on Select > None removes all your selection lines so you can see what it looks like so far. If you like what you've done since you saved last, save your work.

Now, let's put some text on our button. Choose the text tool, formatting your font, size and color in the text tool options on the bottom left. I think the tool's appearance has changed since we did text earlier. Your text box will appear wherever you click similar to a rectangle select. Enlarging the box and clicking in it will allow you to type your text. When you have the text typed and formatted correctly, change to the Move tool to position your text box.

We want to move our shiny layer OVER our text as well, so click on the shiny layer (here Layer #2) and then the up arrow at the bottom of the layers tab to raise the shiny layer to the top. I've already moved mine.

You should have saved everything while you were working on it. While I was working on mine, I decided I wanted the text larger and in a different font. Simply click on the text layer, click on the Text tool, highlight your text and change the font and size. You may have to reposition it so it's centered again, but that's easily done by clicking on the Move tool.

I also made a smaller button that I can use for the menu button on my panel.

Have fun!

Forum Foibles: How To Make A Forum Foible

Xfce Power User Tips, Tricks & Tweaks: Working With Graphics

by Paul Arnote (parnote)

We've all run into situations where we needed to change from the PNG graphics format to the JPG graphics format ... or vice versa. You have to be careful, however, so that you don't overwrite your original files. Overwriting your original files is always B-A-D.

There is no doubt that the ImageMagick set of graphic commands are the most powerful ones ever conceived. There are literally NO limits to what you can do with them. One such ImageMagick command, mogrify, can be a very dangerous one. Without "putting a leash on it," mogrify will overwrite your original files with a smile -- and without any warning. In a way, mogrify is the "dd" command of the ImageMagick graphics commands. The other most commonly used ImageMagick command is convert. There are others, but these are the ones that most people use most often.

So, the secret to utilizing the ImageMagick mogrify command is to do one of three things. First, you can (read that you should) always make backup copies of your images, and only perform your work on the copies. The second thing you can do is "put a leash" on the mogrify command, and it's easier to do than you might think. In keeping with a "theme" here (this is, after all, an article about Xfce Power User Tips, Tricks & Tweaks), the latter is exactly what we are going to do, via a Thunar Custom Action. The third thing you can do is avoid the use of the mogrify command altogether. However, you will also be limiting yourself from using one very powerful ImageMagick command.

Don't worry. If you are not an Xfce user, there is still an ample amount of information you will find useful for working with graphic files. In fact, every one of the scripts listed below can also be utilized as ... well ... standalone scripts, that you can use from the command line in a terminal session.

A Brief Review Of Graphics Formats

Before we get started, let's do a slight review of three leading graphics formats and how your choice of which one to use will affect the results you get. There are two basic types of image formats: bitmapped, or pixel based graphics formats, and vector based graphics formats.

Original JPG image from camera.

JPG files are a pixel-based graphics format, and use something called "lossy compression." This means that the JPG format will basically scan your image and discard data that it feels is irrelevant or unnecessary. As a result, every time you edit - save - re-edit - re-save - re-re-edit - re-re-save ... etc. a JPG file, a small amount of the data is discarded each time. Some graphics aficionados can actually start to see noticeable image degradation by the third generation JPG image. Most everyone else can start to see it by the fourth or fifth generation without too much difficulty. Of course, all of this is done to produce smaller file sizes. Basically, the JPG format produces smaller files sizes at the expense of quality.

Top left: snippet from original JPG file, as shot by the camera. Top Right: second generation PNG file snippet. Bottom Left: second generation JPG file snippet. Notice the image already breaking up in the eye on the left and around the glasses on the top of the head. Bottom Right: sixth generation JPG file snippet. Breakup around glasses getting more pronounced, more pixelation around the left eye, and the colors are becoming more muted.

PNG files, also a pixel-based graphics format, use something called "lossless compression." The advantage here is that none of the image information is discarded with each edit and re-saving of the PNG file. The trade off is that the PNG files are slightly larger than their JPG counterparts, but preserve quality at the expense of file size. PNG files also allow you to have transparent backgrounds, something that JPG files can't do. The PNG format came about as an open standard to provide an alternative to the use of JPG and GIF files, which (at that time) were licensed and closed standards. And yes, along the way, many computer users were threatened with lawsuits for using these formats without a license. Along the way, the developers of the PNG format sought to overcome some of the shortcomings of the JPG file format, like the lack of ability to use transparent "colors" and JPG's "lossy compression" pitfalls. Since then, the JPG and GIF formats have been released from their "closed" and proprietary status, and anyone can use them now without fear of being sued for using them without a proper license.

SVG files are the odd duck in this collection of graphics formats. They are a vector-based graphics format. Basically, all of the image information in vector-based graphic files is stored as mathematical equations, which can be scaled as large or as small as you want, with absolutely no loss of quality and no pixelation. They also produce very small file sizes. The trade off is that there are many programs that cannot properly display SVG files. SVG files also don't lend themselves well to photographic images. They are better suited for "drawn" images that are created in a vector-based drawing program, such as Inkscape, Xara Extreme and LibreOffice Draw.

Sure, there are other graphics formats, such as GIF, TIFF, RAW and BMP files (the latter two produce monstrous file sizes, since they employ virtually no compression). In fact, there are many more graphics formats out there, but most people will be working with one of the first three file formats (JPG, PNG or SVG) I mentioned more than 95% of the time.

So what does this mean for you?

Let's say you have a collection of over 1,000 images from your most recent vacation. It was the "vacation of a lifetime." You shot them with your new digital camera (most of which save your images as high quality JPG files). Let's complicate the situation a little, too. You misplaced/lost your extra memory cards, or you simply didn't bring enough of them to hold all of the images you shot. So, you transfer those images to the laptop you took along with you so you can delete the originals from the memory cards, freeing up space so you can continue shooting those gorgeous pictures. You want to perform some edits -- cropping, resizing, color enhancements, etc. -- on those images before posting them to your online photo sharing site.

If you crop the image and re-save it, then re-size it and re-save it, then enhance colors and re-save it, you're already looking at a fourth generation JPG file. As a result, you will be also looking at an image that is already exhibiting significant image quality degradation. Fortunately, there IS a better way, one that preserves the image quality while enabling you to preserve as much of the image quality as possible. That method is to convert your images to PNG files, perform your edits on the PNG files, and then convert them back to JPG files before you upload them to your favorite photo sharing site. (We'll talk more about SVG files a little later on.)

So now, we need to put that leash on the ImageMagick mogrify command, and use it to convert our image files between formats. REMEMBER: ONLY EVER WORK ON COPIES OF YOUR IMAGES! Do NOT risk overwriting your original images, under ANY circumstances! One slip or one misplaced command and all of your images from your vacation of a lifetime could be G-O-N-E ... forever! They will be irretrievably replaced with the altered versions. And NEVER, EVER directly edit the images stored on your camera's memory card. If you do, you are just asking for trouble. It's not a matter of "if" you will slip up, but "when." Consider yourself properly warned.

With the warning in mind, do not fear what we are about to do. Remember that you will be working on COPIES of your images, and the ORIGINALS are safely tucked into their own, separate directory (for some reason, I cannot stress this enough).

Lucky for you, you are an Xfce user and can create a Thunar Custom Action to perform the file format conversions in a relative blink. In Thunar, go to Edit > Configure Custom Action. On the first line, give it a name. I called it "Convert JPG To PNG." On the second line, give it a description. I entered "Convert all the JPG images in the directory to PNG files." On the third line, enter the following command:

mogrify format png *.jpg

Under the "Appearance Conditions" tab of the Configure Custom Action dialog box, enter *.jpg in the File Pattern box, and only check the checkbox next to "Image Files."

In its most basic form (as shown above), this mogrify command changes all the JPG images in a folder (*.jpg) to PNG images (format png) -- all without overwriting your original images (which is a distinct possibility if you are not careful with the mogrify command). The bad thing about this command, used in its most basic form, is that all of your new PNG files are now mixed in with all of your JPG files -- in the same directory.

Not only does this get messy, but it also greatly increases the chances for you to accidentally perform your edits on the original file, instead of the PNG copy of the file. It would be better if our converted images were in their own directory, keeping them separated from the originals. Let's change the command (third line) of the custom action to this:

mkdir Copies && mogrify -path ./Copies format png *.jpg

Now, this is better. First, we make a directory called "Copies" (mkdir Copies), and tell mogrify to place the converted images in the Copies folder (-path ./Copies). However, there is one problem with this command. If the "Copies" folder already exists, the command will exit with an error when executing the mkdir command (since you're trying to create a folder that already exists), and it never gets around to executing the second part (the mogrify part) of the command.

When this happens, there is no warning or notification from Thunar that there was a problem of any kind. So, some of the "reliability factor" is removed from this Thunar Custom Action. After all, when you select and use the custom action, you don't want to have doubts in the back of your mind about if the command worked or not. You simply just want it to work. Period. So, let's see if we can improve this further.

D="$(zenity --title="Directory Name" --entry --text="Please enter the directory name")"; mkdir $D && mogrify -path $D -format png *.jpg

While the command is getting longer and a bit "messier," this is definitely an improvement. We use Zenity to ask the user for input, namely the name of the directory we want to place our copied images into. This command is better in that it allows the user (you) to specify a directory name. However, if you enter the name of a directory that already exists, the command will fail as miserably as the previous incarnation of the command -- and again, without warning or notification that it failed. It's great that we have a choice of the directory name now (via the user input), but the command could still fail. Relying on user input is fraught with potential for failure, and that source of failure is the user themselves. Sometimes, you have to protect users from themselves. If only we could make the creation of the directory conditional on whether or not it already existed.

Ah! But we can! Let's try this version of the command:

D="$(zenity --title="Directory Name" --entry --text="Please enter the directory name")"; if [ ! -d $D ]; then mkdir $D; fi && mogrify -path $D -format png %F

Now, this version is the messiest of all, but achieves perfectly what we are trying to do, and performs -- in all cases -- as it should. In this version, we use a Zenity dialog box to ask the user to specify a directory where we want to make our copies. We then use a conditional if-then statement to check to see if that directory already exists, and if it doesn't, to make that directory. Then, we continue with the mogrify command as we employed it previously, telling it to convert all the JPG images in a directory to PNG files, and place them in the directory specified by the -path $D statement, which also happens to be the same directory we specified in the Zenity dialog box.

Under the "Appearance Conditions" tab, place a checkmark in the check box next to "Image Files" only, and set the file pattern to *.jpg;*.JPG.

Also, you will have to have separate custom actions, one for every graphics file type you are wanting to potentially convert from or to. So, just restricting to PNG, JPG and TIFF files, you now have six slightly different custom actions, each one tailored for a specific type of graphics file conversion.

So, is there a better way to "automate" the process, and create a directory with a unique name every time it is used? Why, yes there is! We can make a directory whose name contains the date and time of creation. Extending the date command out to include seconds as part of the time that's in the name of the directory, we can create a directory with a unique name every single second.

But, to do this, we will have to create a bash script to handle the automatic directory naming. First, Thunar cannot/will not recognize or interpret the date command when used in a custom action command. Also, because we're using the same directory name twice (once in the mkdir command, and once in the mogrify -path switch), we'll also need to handle the file conversion in the bash file. This will insure that the same directory name is used throughout the entire command.

There are added bonuses to using a bash script. First, I can drop the use of the "more dangerous" ImageMagick mogrify command, and switch over to using the safer ImageMagick convert command. Second, I can now perform the file conversions on only the images I select, instead of doing all of the images in a directory. Third, I can make the bash script handle either PNG or JPG or TIFF files (or any other kind of graphic file), and the Thunar Custom Action will call one bash script to provide whatever type of graphic format conversion I want to handle. (Note: we'll create a special bash script later on to handle only SVG files, since their conversion process requires different parameters). Fourth, I can also "dress up" the entire process by displaying a progress bar to give the user feedback that it is working. Fifth, I can provide user interaction by asking for user input for less critical parts of the process, using Zenity dialog boxes.

In my opinion, the critical part of this process is the creation of a directory with a unique name. That is the point in the previous custom action commands where things break down and fail. Even if the user messes up on the user input of the less critical aspects of the process, there is no harm done, since all of the original files remain intact and unchanged.

The Convert Image Script

So, here is the bash script, which I've called convert-image.sh, that we'll use to convert between different pixel-based graphic file formats:

#! /bin/sh

# Increment and count the number of files passed to the script

# for later use in the progress dialog box

n=1

# Ask for the destination graphic image format to change to

# Next line is entered all on one line

EXT=`zenity --title="Convert Image" --entry --text="Please

enter the image format to convert to (e.g. PNG, JPG, TIFF, etc.)"`

if [ $? == 1 ]; then

exit

fi

# Make sure the file extension is in lowercase text

declare -l EXT

EXT=$EXT

# Ask for the quality level of the copied images

# Next line is entered all on one line

QUAL=`zenity --title="Please enter quality" --entry --text="100

= Full Quality, 75 = 75% Quality, 50 = 50% Quality"`

if [ $? == 1 ]; then

exit

fi

# If the destination image format is PNG, set background to none

# (transparent) and set the quality levels, which differ from JPG

if [ $EXT == "png" ];

then

BACKGROUND="-background none"

QUALITY=$(($QUAL / 10))

else

BACKGROUND="-background white"

QUALITY="$QUAL"

fi

# Generate the new directory name, and set it to uppercase text

NEW_DIR="./"$EXT"-"$(date +"%m%d%y-%H%M%S")

declare -u NEW_DIR

NEW_DIR=$NEW_DIR

mkdir $NEW_DIR

# Pause for one second, just to be sure that everything that

# needs to be done has been done

sleep 1

# Cycle through the selected files, performing the conversion

# one file at a time

for file in $@; do

if [ ! -e $file ]; then

continue

fi

# Get just the filename, without the original file extension

name=$( echo $file | cut -f1 -d.)

# Convert the file and write it out to the destination file

# Next line is entered all on one line

convert -quality $QUALITY $BACKGROUND $file $NEW_DIR/${name}.$EXT

# Set up the information to display in the progress dialog box

echo $(($n * 100 / $#))

echo "# Processing file: $file"

let "n = n+1"

# Next line is entered all on one line

done | (zenity  --progress --title "Converting to "$EXT"..." --percentage=0 --auto-close --auto-kill)

exit 0

Enter the above text into your favorite text editor (Mousepad is the default for Xfce). I have created a directory in my /home directory called "Scripts," and that is where I keep all of my scripts. Save the file. As I mentioned earlier, I named the script "convert-image.sh." Don't forget to make the script executable after you save it. You can safely remove the comment lines (the lines that start with #) from the script, if you choose.

Now, create a new Thunar Custom Action (Edit > Configure Custom Actions...). On the first line, enter a name. I called mine, simply, "Convert Images." On the second line, enter a description. I entered "Convert the selected files to the user defined graphic format." On the third line, enter the following command:

$HOME/Scripts/convert-image.sh %N

Of course, if you have your script stored somewhere other than a Scripts directory in your /home directory, you will need to be sure to point it to the proper location. You have to admit that this is a much cleaner command than what I demonstrated earlier.

Choose an icon for your new custom action. Under the "Appearance Conditions" tab, the file pattern should be *, and the checkbox in front of "Image Files" should be checked.

Now, when you select multiple image files, or even just a single file, you can select "Convert Images" from Thunar's right click context menu. Supply the extension that represents the graphics format that you want to convert to, followed by the compression level to use (from 1 to 100). Your new directory will be created, the selected image files will be converted to the desired graphics format, and they will be placed into your new directory. All the while, your original images remain in their own directory, untouched and unaltered.

Converting SVG Files

Believe it or not, there are websites out there in the Internet wilderness that are charging people money to convert SVG files to "regular" pixel-based graphics formats. My initial response was, "you gotta be kidding, right?" I wish I was kidding, but it's true. Charging people money to do something so simple almost seems criminal to me.

Thankfully, converting SVG files to those "regular" graphics formats isn't much different than how we converted between the other, pixel-based graphics formats. But it is different enough that it was easier to just create a separate bash script to handle the conversions from SVG files, rather than getting entangled in a bunch of conditional if-then-else statements.

Here is that bash script, which I've called convert-svg.sh:

#! /bin/sh

n=1

# Next line is entered all on one line

EXT=`zenity --title="SVG Convert" --entry --text="Please

enter the image format to convert to (e.g. PNG, JPG, etc.)"`

if [ $? == 1 ]; then

exit

fi

declare -l EXT

EXT=$EXT

if [ $EXT == "png" ];

then

BACKGROUND="-background none"

else

BACKGROUND="-background white"

fi

# Next line is entered all on one line

DEN=`zenity --title="Please enter density" --entry

--text="72 = 1:1, 144 = 2x size, 36 = 1/2 size"`

if [ $? == 1 ]; then

exit

fi

NEW_DIR="./"$EXT"-"$(date +"%m%d%y-%H%M%S")

declare -u NEW_DIR

NEW_DIR=$NEW_DIR

mkdir $NEW_DIR

sleep 1

for file in $@; do

if [ ! -e $file ]; then

continue

fi

name=$( echo $file | cut -f1 -d.)

# Next line is entered all on one line

convert -density $DEN $BACKGROUND $file $NEW_DIR/${name}.$EXT

echo $(($n * 100 / $#))

echo "# Processing file: $file"

let "n = n+1"

# Next line is entered all on one line

done | (zenity  --progress --title "Converting to "$EXT"..."

--percentage=0 --auto-close --auto-kill)

exit 0

It works much like the previous script does, except it asks for some different information, on account of what's needed to do a proper conversion from the vector-based SVG graphics format to a pixel-based graphics format. In fact, most of the differences are in how the ImageMagick convert command is called, and the input of the "density" value for the SVG file.

The "density" value is an interesting one. The default value is 72, which produces a 1:1 image. That's just another way of saying it produces an image that is the same size as the SVG image size. If you want the image to be ½ size, enter a value of 36. Similarly, if you want to produce an image that is twice the normal size, enter 144 as the density value. So, by working out the math, a density value of 12 will produce an image that is one-sixth the size of the SVG image, and a density value of 108 will produce an image that is 1.5 times larger than the SVG image.

The density value allows you to scale an image up or down, without pixelation and without producing any "jaggedy" edges in the converted image. That is one of the nice things about SVG files. Because the file content is mathematically based, it can be scaled as large or small as you want, with excellent clarity and no loss of quality. The same cannot be said for pixel-based graphic formats, which will pixelate and exhibit a significant loss of quality whenever you attempt to scale the images past their capabilities to produce and display a clear picture. That limit varies, depending on the initial resolution (dpi) of the image, the degree of compression utilized to produce that particular image, and the size of that image, among other factors.

Enter the script above in your favorite text editor. Save the file. I called mine "convert-svg.sh," and placed it in my $HOME/Scripts directory, where I store all of my custom scripts. Be sure to mark the script as executable.

So, to utilize our script as a Thunar Custom Action, start off just like we did with the previous script by creating a new custom action. On the first line, enter a name. I called mine "Convert SVG." On the second line, enter a description. I entered "Convert selected SVG files to user specified bitmapped graphic format." On the third line, enter the following command:

$HOME/Scripts/convert-svg.sh %N

Choose an icon for your new custom action. Under the "Appearance Conditions" tab, set the file pattern to *.svg;*.SVG, and place a check in the checkbox only in front of "Image Files."

Now, whenever you right click on one or a group of SVG files, you will be able to select "Convert SVG" from the right-click Thunar context menu. Enter the file extension you want to convert the file to, followed by the density value. Your selected SVG files will be converted to the file format you indicated with the file extension, sized according to the density value you entered, and placed in their own sub-directory.

Image Resizing

Resizing a group of images is another task that can easily be accomplished from a Thunar Custom Action. While the ImageMagick convert command can be called for individual files and used to resize images by just using the convert command, we need a bash script if we want to perform the action properly on multiple files.

Here is the script I use to resize a group of images, and I call it Img-resize.sh:

#! /bin/sh

n=1

# Next line is entered all on one line

RES=`zenity --title="Image Width" --entry --text="Image

Resizer -- Please enter the image width (e.g. 600)"`

if [ $? == 1 ]; then

exit

fi

# Next line is entered all on one line

EXT=`zenity --title="File Extension" --entry --text="Enter

the file extension you want to convert to (e.g. JPG, PNG, TIFF)"`

if [ $? == 1 ]; then

exit

fi

declare -l EXT

EXT=$EXT

# Next line is entered all on one line

QUAL=`zenity --title="Image Quality" --entry --text="Enter the

image quality (1 - 100)"`

if [ $? == 1 ]; then

exit

fi

if [ $EXT == "png" ];

then

BACKGROUND="-background none"

QUALITY=$(($QUAL / 10))

else

BACKGROUND="-background white"

QUALITY="$QUAL"

fi

REZ=$((RES-2))

NEW_DIR=./Resized$RES

if [ ! -d $NEW_DIR ]; then

mkdir $NEW_DIR

fi

sleep 1

for file in $@; do

if [ ! -e $file ]; then

continue

fi

name=$( echo $file | cut -f1 -d.)

# Next line is entered all on one line

convert -resize $REZ -quality $QUALITY $BACKGROUND -bordercolor

black -border 1x1 $file $NEW_DIR/${name}_$RES.$EXT

echo $(($n * 100 / $#))

echo "# Processing file: $file"

let "n = n+1"

# Next line is entered all on one line

done | (zenity  --progress --title "Resizing..." --percentage=0

--auto-close --auto-kill)

exit 0

Using Zenity dialog boxes, you enter the width (in pixels) that you want the new images to be, the file extension of the graphic format (jpg, png, tiff, etc.) you want them converted to, and the quality setting to use (1 - 100) for the destination file.

After you've entered your settings in the Zenity dialog boxes, a new directory is created if it doesn't already exist. The new directory is named "Resizedxxx," with the "xxx" representing the new width of the images. So, if you specified resizing the images to 600 pixels, the new directory will be called "Resized600." If the directory already exists, then the current one is used, and the script skips trying to create the new directory.

The width that you entered is decreased by two pixels (the REZ=$((RES-2)) line) to accommodate the one pixel black border that's placed around the destination image. The new horizontal width of the image is appended to the end of the file name, and the destination image is given the file extension you specified in the Zenity dialog box. While the images are being resized, a Zenity progress dialog box is displayed to show the overall progress, and to display the name of the file that is currently being processed.

Note that if you rotate the images before resizing them, that will cause the height of the original image to become the width of the new, rotated image. If that width of that new image is less than the width you specified, the width of the destination image will be adjusted accordingly, and you will end up enlarging the image when you may have really meant to reduce the image size. So, it's best to perform any image resizing you may wish to do, before you rotate images.

So, now that you have a better idea of how the script works, let's make a new Thunar Custom Action from it. First, enter the script into your favorite text editor, and save the file. As I mentioned earlier, I called it "Img-resize.sh," and saved it in my $HOME/Scripts directory. Don't forget to make the script executable.

Next, create a new Thunar Custom Action. On the first line, enter a name. I called mine "Resize Images." On the second line, enter a description. I entered "Resize the selected graphic files." On the third line, enter the following command:

$HOME/Scripts/Img-resize.sh %N

Choose an icon for your new custom action. Under the "Appearance Conditions" tab, leave the file pattern set to *, and make sure that only the checkbox in front of "Image Files" is checked.

Now, when you select "Resize Images" from Thunar's right-click context menu, you will be able to resize either a single file, or a group of files, to one common width. If the image already exists in the destination directory, it will not be overwritten. If you wish to "redo" the same images at a previously used width, then you will need to first delete or move the existing files.

Image Rotation

Invariably, there will be some images that you will want to rotate. After all, it does get old having to cock your head to the left or right, just to be able to view your images with some semblance of normalcy.

Once again, as it was with the image resizing and the image converting we did earlier, you can easily set up an ImageMagick convert command to rotate single images, one at a time. The command, from a Thunar Custom Action, would be like this:

convert -rotate 90 %f %f to rotate images 90 degrees clockwise, or

convert -rotate 270 %f %f to rotate images 90 degrees counterclockwise.

But, if you've just sat down for a marathon photo editing session of your vacation photos, the last thing you want to do is something as mundane and simple as rotating images, one image at a time. Especially if you can do them all in one quick task. Your time would be better spent on headier editing tasks.

Once again, a custom bash script comes to our service, and allows us to process multiple files all at once. Here is the bash script, which I have named "Img-rotate.sh."

#! /bin/sh

n=1

# Next line is entered all on one line

RES=`zenity --title="Image Rotation" --entry --text="Enter

the degrees rotation (e.g. 90, 180, 270)"`

if [ $? == 1 ]; then

exit

fi

NEW_DIR=./Rotate$RES

if [ ! -d $NEW_DIR ]; then

mkdir $NEW_DIR

fi

sleep 1

for file in $@; do

if [ ! -e $file ]; then

continue

fi

EXT=$(echo "${file##*.}")

name=$( echo $file | cut -f1 -d.)

# Next line is entered all on one line

convert -rotate $RES $file $NEW_DIR/${name}-Rotate$RES.$EXT

echo $(($n * 100 / $#))

echo "# Processing file: $file"

let "n = n+1"

# Next line is entered all on one line

done | (zenity  --progress --title "Rotating..."

--percentage=0 --auto-close --auto-kill)

exit 0

The first thing you might notice is that this script is a bit shorter than the previous two that we covered. One reason is because we don't have a lot of user input, other than the degrees of rotation. The other reason is we're not converting formats. We're only changing the rotational orientation of the image, which is relatively simple. Most of the script consists of two things: dissecting the filename to parse out the filename and the file extension separately, then putting it back together again to form the destination filename, and processing through the images passed to the script, one at a time with the for-do-done loop.

The script checks to see if a directory named "RotateXX" exists (the XX representing the degrees of rotation specified by the user), and if it doesn't already exist, creates a new directory using the aforementioned naming convention. If the directory already exists, the existing directory is used.

Within the for loop, the file extension for each file passed to the script is extracted and saved to the $EXT variable, while the filename (without the file extension) is saved to the $name variable.

At the end of the convert command, a new filename for the destination image is assembled, starting with the sub-directory to place the image in, followed by the name with "-RotateXX" appended to the end of it (where the XX represents the degrees entered by the user), and the original file extension replaced at the end. Then, as with the other scripts, a Zenity progress dialog is displayed to give feedback about the overall progress and to list the file that is being currently processed.

So, that is how the script works. Enter the script into your favorite text editor, and save it. Now, let's set up and create our new Thunar Custom Action. On the first line, enter a name. I called it "Rotate Images." On the second line, enter a description. I entered "Rotate selected images the user specified degrees." On the third line, enter the following command:

$HOME/Script/Img-rotate.sh %N

Select an icon for you new custom action. Under the "Appearance Conditions" tab, keep the file pattern as *, and make sure that only the checkbox in front of "Image Files" is checked.

When you select image files to rotate, you can select "Rotate Images" from the Thunar right-click context menu. The selected files will be rotated, renamed and saved to the new directory, leaving your original images untouched and unaltered.

Here's a tip: to rotate images clockwise (to the right), select to rotate images 90 degrees, and to rotate images counterclockwise (to the left), select to rotate images 270 degrees.

Miscellaneous "Short" Graphic Commands

Not all graphic processing commands require a bash script. Many graphics tasks can be completed with one-liner ImageMagick commands. Here is a brief summary of some of those "one-liners" that you can easily use as Thunar Custom Actions (in addition to the ones we previously covered throughout the course of this article).

Add a one pixel black border:

Single images:

Command: convert -border 1x1 -bordercolor black %f %f

File Pattern: *

Appearance Conditions: Image Files

Multiple selected images:

Command: mogrify -border 1x1 -bordercolor black %F

File Pattern: *

Appearance Conditions: Image Files

Options:

If you want a 2 pixel border, change the 1x1 to 2x2. Similarly,

if you want a 5 pixel border, change the 1x1 to 5x5. If you want

a different color border, change "black" to "blue" or "red" or

"green" or whatever other color you want to use.

Convert FORMAT1 To FORMAT2:

Single Images:

Command: convert %f `basename %f .jpg`.png

File Pattern: *.jpg

Appearance Conditions: Image Files

Variations:

Swap the .jpg and .png around in the command to convert a PNG

file to a JPG file. This also works for any other pixel-based

graphic formats. Replace .jpg in the original command with the

file extension of the original file, and replace the .png in the

original command with the file extension of the file format you

are wanting to convert to. Be sure to change the file pattern

accordingly in all of these variations.

With the `basename %f .jpg` part of the command, the

old file extension is stripped from the original file name,

and the new     file extension (.png) is appended to the destination filename.

Multiple Images:

Command: mogrify -path PNG -format png %F

File Pattern: *

Appearance Conditions: Image Files

Variations:

Substitute the lowercase png in the command with any other format

you want to convert your image to (your destination format). The

directory pointed to in the -path switch must already exist. Otherwise,

the command will fail. Depending on how many files you

are processing, give the command at least a few seconds to

complete after calling it, before you go checking the destination

directory for your converted files. The -path statement is

optional, and may be omitted. If omitted, the *.png files will

be placed in the same directory as the original images.

You can also use any of the mogrify commands that we talked about earlier in the article. For some reason I can't figure out, the mogrify command will accept and work on multiple files passed from Thunar, while the convert command will not properly parse multiple filenames that are passed to it from Thunar. Instead, the convert command will use the last filename passed to it from Thunar, and append an incrementing number to the end of the filename.

Summary

As you can see, you can accomplish a lot of graphic manipulation tasks from Thunar's Custom Actions. Empowered by custom bash scripts, I'm sure there are many more graphic manipulations that can be done from a Thunar Custom Action.

The nice thing about being able to make these basic edits, en masse, from a Thunar Custom Action is that you can do them much quicker than if you opened the images in a graphics editor. As an exercise in furthering your knowledge of Thunar Custom Actions and working with graphics files, you might want to take a look at the command line tools aaphoto and rsvg.

You can make your custom actions as basic or fancy as you want. Of course, the fancier ones are most likely going to require a custom bash script. If you study the bash scripts, I think you will be able to see a skeleton framework that's common between the bash scripts we presented here. Simply perform the "meat" of your operations in the midst of the for loop. In the process, you'll gain a better understanding of bash programming.

If you come up with any innovative ImageMagick one-liners, I'd certainly be interested in hearing about them. Feel free to send me an email at pclinuxos.mag@gmail.com and tell me about them. I'll be happy to publish the one-liners in a future follow up article ... with due credit, of course.

Inkscape: Getting Started

by Meemaw

While we have enjoyed creating many wonderful things with GIMP, you should know that GIMP is not the only graphics program to use. GIMP is primarily for editing photos. Inkscape is a great program for creating images from scratch.

While that sounds daunting, it really isn't too hard. With a little practice, you can make some really nice images. I have done much more with Inkscape than I ever could with a pencil and paper. I'm far from being an artist, but with the Inkscape program to help, things come out much better.

Let's take a look at the basic window and see what's there.

When you open Inkscape for the first time, you get the window as shown above. You already have a new document in your work area, and rulers across the top and down the left side. You can change your preferences to show or hide any number of tools as you want.

Across the top we see the Menu bar with the items File, Edit View, Layer, Object, Path, Text, Filters, Extensions and Help. Many of the items can be accessed elsewhere, and we'll see that soon.

Under the menu bar is the Commands Bar, which has many of the most used tools. The first eleven default tools here are New, Open, Save, Print, Import, Export, Undo, Redo, Copy, Cut & Paste.

The rest of the tools are used together with the tools at the left side of the window, or to help you navigate your project, and need a little explanation.

The next three look like magnifying glasses with boxes inside. These are zoom tools: from left to right, they are 'Zoom to fit Selection in Window', Zoom to fit Drawing in Window' and 'Zoom to fit Page in Window'. They are an easy way to zoom in and out conveniently between the whole page and any selection you are working on. These are also accessible from the menu bar under View > Zoom.

The next three look like two overlapping sheets of paper with one blank, one with a closed lock and one with an open lock. These are 'Duplicate the selected Object', 'Create a Clone of the Selected Object that is Linked to the Original' and 'Cut the selected Clone's Links to their originals'. These are used to duplicate or clone something you are making, in case you need more than one of the same thing (like stars or flowers). If you duplicate your object, you can make different changes to it than are made on the original. If you clone your object, the changes you make to the original also are made on the clone. This is handy if you need two objects exactly alike except for color, for example. If you have cloned the original, you can make all the changes, then use the third button to cut the connection between the two, then change the color on one of them. These items are also available from the menu bar under Edit > Duplicate or Edit > Clone.

The next two look like a circle and rectangle with black dots around them. The one on the left is 'Group Selected Objects' and the one on the right is 'Ungroup Selected Objects'. In some of your creations, you will want to group certain objects together to make your finished project. These buttons are very handy to group them, and also to ungroup them again if you find you need to undo something. These are available from the menu bar under Object > Group and Object > Ungroup.

The last seven tools are probably the most used on this bar. From left to right, they are Fill & Stroke, Text Configuration, Layers, Edit XML Tree, Align & Distribute, Inkscape Settings and Edit Document Properties. Each of these tools, when clicked, brings up a separate window, so we'll look at them.

Fill & Stroke - This is the tool you use to put color inside most objects and borders on the outside. If I draw a rectangle, Stroke is the border and Fill is the inside color. I can change the inside color by clicking the Fill tab and choosing color, gradient or pattern. I can change the border by clicking the Stroke tab and choosing color, gradient or pattern. In the example below, I have drawn a rectangle, filled it with a blue color, and made the stroke black, then clicked Stroke Style and changed the stroke size to 5 pixels. You can do loads of variations just using the Fill & Stroke dialog. You can open it from the menu bar under Object > Fill and Stroke.

Text Configuration - Any time you put text onto a project, you will use this tool, because it is where you change the font settings for the text you have. This works in cooperation with the Text tool on the left side of the window. You choose the text tool at left and then, after you've typed the text you want, open this tool to configure the text you have written, or even alter your text. The menu bar has a Text section which contains this tool.

Layers - Just as in many other programs (like LibreOffice Draw, Scribus and GIMP), the Layers tool is very useful in creating your project. You can create your artwork on one layer, your background on one layer, and your text on another. This keeps things organized and also can help you keep from moving things that shouldn't be moved. If you are sure of your background, you can put it in the bottom layer and lock the layer, and you won't ever move your background until you unlock it again. This leaves you free to work with your other objects . The Layers tool is also available from the menu bar under Layer. The buttons are the same as we saw in Gimp: clicking the eye hides the layer, and clicking the lock closed locks the layer so nothing on that layer can be changed.

Edit XML Tree - Each Inkscape drawing you make has a text description which is saved in the drawing's file format of .svg. Each object you add has a descriptive name and is listed in this text file. Clicking on the descriptive name gives you a whole list of parameters for that object (size, color, location on the page, etc.) The more complex your object gets, the larger this file becomes. Even though I've never done it, the drawing can be altered by simply altering the file. I tried it, though, by duplicating an entry in an XML file which represented a circle I had drawn. I ended up with 2 identical circles. If you understand it well enough, you could probably edit a whole drawing this way. It is also accessible from Edit > XML Editor.

Align & Distribute - If you have an object that you want to center on the page, this is the tool you grab. It's also in the menu bar under Object. Clicking on your object, you can click any of the align buttons and center it. Choosing two objects, you can center them, line them up by their borders or, in the case of the distribute section, spread them evenly across the page.

Inkscape Preferences - This is a quick and handy button to access your preferences window. You can also find it under the File menu.

Document Properties - Each document you create is different. This tool allows you the opportunity to edit the properties of that document, setting orientation, margins, page size and even whether you have gridlines or guides enabled. It is also located in the File menu.

Just in case you haven't noticed, every time you hover your mouse over a tool, you get a tooltip with the description of the tool and also the keyboard shortcut for that tool. So if you hover over Fill & Stroke, the shortcut is <Shift> + <CTRL> + F. Now you have three ways to get that tool. Use whichever is easiest for you. Oh, by the way, the Undo command, which is under Edit > Undo is + Z here, just like in several other programs we have used.

Now let's look at the left side of the window. Your tools are here, and everything you want to make can be done with these tools. In addition, the third toolbar will change depending on what tool you are using. The tools are as follows;

Selection Tool - This is the arrow we all know so well. It selects an object with a single click. You will see arrows at the corners of the object's frame, pointing outward, which you can use to resize your object. If you click once more, your arrows will change direction and you can rotate your object. These arrows are called 'handles', and allow you to edit your object in a certain way.

Nodes Tool - When you have an object selected and click on the Nodes tool, your handles will change to small squares and circles, and you will be able to manipulate your object even more. One of the first things you can do is move the circles at top right and it will make rounded corners on your rectangle. When you grab the small circle on an ellipse, you will get either a pie-shaped object (with a piece cut out!) or an arc (where your stroke doesn't go all the way around). The left-hand object was the result of pulling the node handle with the mouse pointer inside the circle, while the arc was made by pulling with it outside. Be prepared for the ellipse to flicker a bit while you are working. The nodes tool is very useful for all your objects.

Tweak Tool - The Tweak tool allows you to change your object - blur, move, enlarge, and several other changes. Hovering your mouse over the tools will tell you what each does. Truthfully, I haven't used it much yet, but the tool below is the blur tool.

Zoom Tool - Hey, here's another way to zoom into and out of your drawing! Choosing this tool turns your mouse cursor to a magnifying glass with a plus sign in it. Left-clicking in your object zooms in: right-clicking in your object zooms back out. You can also use your scroll wheel - but hold the <CTRL> key while you use it.

Rectangle Tool - Any rectangle you draw will be done with the rectangle tool. You can place your mouse pointer on the page, click and drag to make your rectangle. If you hold down the key, your rectangle will snap to one of several preset dimension ratios. In the toolbar above the page, you will see boxes you can fill to set the dimensions and location you desire.

3D Box Tool - This is a tool that will allow you to draw 3 dimensional solids. The box is drawn in perspective, and to manipulate it, you must also move the axes that appear. You will need to experiment with this a bit.

Ellipse Tool - This tool draws ellipses and circles. If you hold down the key as you drag your mouse, you will draw a perfect circle.

Star Tool - If your desired object has three or more sides, use this tool. With the accompanying toolbar at the top, you can choose whether it will be a polygon or a star, and configure the number of corners you want in your object. If it is a star, you can set the spoke ratio as well (the smaller the number, the more 'pointy' your star is and as the number approaches 1, your star approaches the appearance of a circle). Both examples below have 8 corners, and the star has a spoke ratio of .5. As long as your tool is selected you can change the appearance of your polygon or star, adding more corners or changing the spoke ratio.

Spiral Tool - The Spiral Tool does just what it says: it draws spirals. The toolbar has three settings: Turns, Divergence, and Inner Radius. Turns designates how many times your line curls around. Divergence is how much farther apart the outer lines are than the inner, and Inner Radius is the radius of the open area inside the spiral. The spiral on the left is 9 turns, divergence of 2 and inner radius of .5. The spiral on the right is 5 turns, divergence of 4 and inner radius of .25. Again, if your tool is still chosen you can change the spiral you just drew to your wishes.

Pencil Tool - The pencil allows you to draw freehand lines on your page. While this is good sometimes, the tool also shows any shake your mouse might have, so if you want an absolutely straight line, you need the pen tool.

Pen Tool - The pen tool is for Bezier curves and straight lines. A bezier curve is drawn with control points which allow you to edit your curve. Below are three lines: the top was drawn with the pencil, the second was drawn with the pen and the curve is a bezier being drawn. The tools shown above your page will allow you to draw what you want. You can actually draw a spiral using this tool and the node tool, but the spiral tool is easier and faster.

Calligraphy Tool - This is another pen-type tool, but here you can draw calligraphy-type lines with it. The tool settings above your page will change the appearance of your line. You have 6 pre-configured tools, plus a 'No Preset'. The tool can make some interesting variations in lines drawn.

Text Tool - This is the tool which allows you to enter your text. Choose it, then click on your page and you will get a cursor. Type your text, then click the text button at the top to change the font and size. Your text is also displayed there and you can change it, just in case of a typo or any other correction you might wish to make.

Spray Tool - Spray is an interesting tool. It has three settings: 'Spray copies of the selected object', 'Spray clones of the selected object', or 'Spray objects in a single path'. Remember, if you make a copy, each of the objects can be edited independently, and if you make a clone all edits on the original affect all the clones until you unlink them. If you spray objects in a single path, you get an extension of the object you used, all enclosed within the same stroke. One example of this is using an ellipse to make a cloud. In the example, the ellipse on the left is the original, and the cloud on the right was what I got when I copied the ellipse, then sprayed in a single path.

Eraser Tool - This tool looks like most other eraser tools: like a little pink eraser. Choose the object you want to erase, then choose the erase tool. The toolbar at the top will display a fill and stroke color and you will see it while you are erasing, which is kind of unnerving, but it will be fine. As soon as you lift your finger off the mouse, whatever you erased will be gone. If you don't choose an object, then all objects under your mouse pointer will be erased.

Bucket Fill Tool - I think all bucket fill tools are the same! Choose a color, click in the area you want to fill, and there it is.

Gradient Tool - The Gradient tool works together with Fill & Stroke to make gradients. Choosing a gradient in Fill & Stroke results in a simple gradient of the last color you chose: that color to transparent. However, clicking on the gradient tool allows you to see which direction your gradient is going, change it if desired, and allows you to edit your gradient for a different effect. You can add Stops, as they are called, and change the color at every stop while in Edit Gradient. You can then arrange your stops to get your desired effect.

Dropper Tool - The Dropper tool is an easy way to choose a color for fill on an object. Say you have two objects that you want the exact same color. Choose the one you want to change, then choose the dropper tool and click in the one with the correct color, and your selected object will be filled with that color.

Connector Tool - With the Connector tool, you can draw lines between objects. As you arrange the objects, the lines stay between them instead of just staying in one place. This is useful for flowcharts or any other instance where you need a line between two objects. The settings allow you to ignore or route your connector around an object if you don't want to include it in your connected group. The lines below were drawn to connect three of the ellipses, while routing around the center one. Connectors are strokes, so you can go into Fill & Stroke and edit the design of your connector (wider line, dotted line, etc.)

These tools are fun to play with! You might choose a few and get a feel for how they work. This is a good time to look at the bottom of the window. It looks pretty and all, with the color palette there, but actually, the bottom of this window has a wealth of information.

This display actually tells you about your selection. On the left side it says Fill and Stroke, and they both have colors. You can use this to change the fill and stroke in your object if you wish. Clicking on a color will change the fill to that color, and Shift-click will change the stroke. These are the colors of my circle selected below. Just to the right of the Stroke color is the number 5. I used the same settings to draw the ellipse below that I did to draw the rectangle earlier, and my stroke size was 5 pixels. (I have obviously changed the Fill since then.) There is a right-click menu there with a few standard sizes, so you can set your stroke size there, or even remove it if you wish. Next to that is a box that says 100. That is Opacity, which can be set here and also in the Fill & Stroke tool window. Next to that, there is the 'eye' you can click to make your layer invisible and the lock you can click to lock your layer so it can't be changed. In the center, it says, “Ellipse in layer Layer 1”. It looks like they have repeated the word layer, but I think of it as “Ellipse in the layer Named Layer 1”, so if you name your layer something else, the line will make perfect sense. You will also see some helpful text just to the right. Since we selected the ellipse with our selection tool, it is telling us that if we click again, we can toggle to tool to the rotation handles. To the right of that we get an X and Y location. This tells you where your mouse pointer is at any given time. Last on the end, the percentage shown tells you how much you have zoomed into your drawing.

I know it seems like a ton of information, but we can make sense out of it soon. Notice that Inkscape is designed to provide several ways of doing any task, so if you want to use a certain method (menu bars) and your friend does things differently (keyboard shortcuts), you can both enjoy Inkscape.

Next time we'll start a project.

PCLinuxOS Recipe Corner

Cracker Candy

Ingredients:

enough crackers to line a baking sheet.

1 cup unsalted butter. (2 sticks).

1 cup packed light brown sugar.

1/2 tsp vanilla extract.

1 cup semisweet chocolate chips.

1 cup marshmallows or coconut, optional.

1 cup nuts of your choice. (cashews, almonds, walnuts, pecans, peanuts)

Cooking Instructions:

1. Line a baking sheet with foil, making sure you have enough to create a tall rim around the pan. Line the pan with crackers, breaking up pieces if you have to, to fill in any cracks. Preheat the oven to 375F.

2. In a medium sized saucepan, melt the butter and brown sugar together over medium heat. Stir frequently until the mixture begins to boil. Once boiling, continue boiling for 3 minutes, stirring constantly. Remove from heat and add in vanilla. Pour caramel over crackers, and spread evenly with a silicone spatula. CAUTION! This mixture is very hot and will stick to your skin, causing a nasty burn. BE CAREFUL!

3. Put the baking sheet in the oven, reducing heat to 350F. Bake for 15 minutes, watching carefully that the caramel does not burn.

4. Remove from heat and cover with chocolate chips. Let stand 5 minutes until chocolate melts, and then spread evenly with a spatula. Sprinkle nuts or whatever toppings you desire. Let cool completely, and then break into pieces, storing in an airtight container.

Mounting SSH/SFTP Shares As Local Drives

by AndrzejL

I have a machine that runs an ssh server. That's nothing new. Neither is it worth mentioning under normal circumstances. Recently, I purchased a 2 TB Western Digital MyBook USB 3.0 hard drive and I was going to use it to backup all my data. "Why not make it a network shared drive?" I thought. It will make my life much easier if I could access the data from all my machines. Not a bad idea, I know, but I was not going to setup samba or nfs. I didn't want to make it a "network" drive. I wanted to have it mounted as a local drive on every machine that I use without a big fuss. How do I go about it?

I assume that you have the drive attached to the ssh server running machine, and that it's mounted. And that you have read and write permissions granted to your user. I am using static IPs in my network -- this makes things much easier for me.

In my case the drive is mounted on the server (IP 192.168.0.1 and port 20202) as /media/1862_GB_X-Ternal/ and my user andrzejl is the only user that is allowed to write to and read from it.

Now it's time to prep the client machine. It's really simple. I want to have my drive mounted on my ssh client machines in /media/1862_GB_X-Ternal/ folder, but I want to mount it as user (andrzejl) -- not as root.

First I had to open a terminal and gain root's privileges by issuing:

su

and giving root's password.

Next I had to create my mount point:

mkdir -p /media/1862_GB_X-Ternal/

and make andrzejl owner of it:

chown -Rf andrzejl:andrzejl /media/1862_GB_X-Ternal/

Now that I had the folder ready, I needed a package that would allow me to work with sshfs / sftp file system. So, in the same terminal I ran:

apt-get install sshfs-fuse

After the package was downloaded and installed, I closed this terminal window and opened another one. I needed to drop the root's privileges, as I want to do the rest of this as a user.

The syntax of the command looks like this:

sshfs -p sshSERVERport

loginTOtheSSHserver@IPorHOSTNAMEofTHEsshServer: /where/is/the/drive/mounted/on/the/server/

/where/to/mount/on/local/machine/

Now, if I start filling in the data in this command I get this:

sshfs -p 20202 andrzejl@192.168.0.1:/media/1862_GB_X-Ternal/ /media/1862_GB_X-Ternal/

After running this command and typing in the password, (if you got the syntax right), you should find all your data on your ssh client machine mounted in /media/1862_GB_X-Ternal/, ready to be read and modified by your user.

Now ...

If you want the data to be automounted at start up without typing in the password, follow this post in my blog: Passwordless SSH authentication. Using authentication keys

You also need to create a mountsshfsshare.sh script in your ~/.config/autostart folder and make it executable.

Here is how I do it under KDE4.

Open a terminal. Type in:

touch ~/.config/autostart/mountsshfsshare.sh

chmod +x ~/.config/autostart/mountsshfsshare.shecho "sshfs -p 20202andrzejl@192.168.0.1:

/media/1862_GB_X-Ternal/ /media/1862_GB_X-Ternal/" > ~/.config/autostart/mountsshfsshare.sh

Don't forget to modify the sshfs line to suit your needs.

Just to check, run this:

cat ~/.config/autostart/mountsshfsshare.sh

It should spit out:

sshfs -p 20202 andrzejl@192.168.0.1:/media/1862_GB_X-Ternal/ /media/1862_GB_X-Ternal/

or whatever command you use to mount the sshfs share. Now you can reboot the ssh client machine for testing purposes. If you did everything properly, you will have a mounted drive waiting for you the next time you boot up your machine.

Edit: Sometimes .sh script will not work. If it doesn't, try creating a .desktop file instead.

Remove the .sh file first.

rm -f ~/.config/autostart/mountsshfsshare.sh

Now create the .desktop file.

touch ~/.config/autostart/mountsshfsshare.desktop

Now edit the file using Your favorite editor. I will use mcedit here. Paste this into it:

[Desktop Entry]

Comment[en_US]=Mount SSHFS automagically.

Comment=Mount SSHFS automagically.

Encoding=UTF-8

Exec=sshfs -p 20202

andrzejl@192.168.0.1:

/media/1862_GB_X-Ternal/ /media/1862_GB_X-Ternal/ &

GenericName[en_US]=

GenericName=

Icon=xterm-terminal

MimeType=

Name[en_US]=sshfs_mount

Name=sshfs_mount

Path=

StartupNotify=true

Terminal=false

TerminalOptions=

Type=Application

X-DBUS-ServiceName=

X-DBUS-StartupType=

X-KDE-SubstituteUID=false

X-KDE-Username=

Do not forget to change the sshfs line. Now save the file and reboot for testing. I like this setup very much for a good few reasons. Here are just a few:

a) The hard drive is being shared over the network but it feels and acts like a local drive.

b) It's not accessible by the windows machines without a specific setup.

c) It's easy to setup permissions to the drive so only one user or group can have full access to the drive. You can have some folks see the drive as read only while you keep the privileges to write to it.

d) Like everything that runs via ssh, the traffic between you and the HDD is encrypted.

When Was My System Installed?

by agmg (Antonis Komis)

When was my system installed? Good question. I was wondering the same thing lately, so I've been searching for ways to determine the installation date of my PCLinuxOS system. For the purposes of this article, I will use a recent PCLinuxOS installation under VirtualBox, which I know I have installed on January 22, 2013. Let's see if we can confirm that date.

Log files

The first thought would be to check the various log files. The problem with this method, though, is that log files are rotated in a timely manner to prevent them from growing. This unbounded growing of log files has several disadvantages:

- Larger files are harder to manipulate.

- File systems run out of space.

- The information you log may constitute personal data.

Log rotation involves the regular (nightly or weekly, typically) moving of an existing log file to some other filename and starting fresh with an empty log file. After a certain period, the old log files get thrown away.

In a rolling distribution like PCLinuxOS, which can go on for months or even years without a reinstallation, it may be hard or impossible to find very old log files unless you are willing to disable log rotation and have all the disadvantages mentioned above.

The stat command

The rolling nature of PCLinuxOS doesn't help us much in our effort to find the actual install date. The system is updated regularly, which means that almost everything could be changed on every update. One of the things that's least likely to be changed is the /lost+found directory. You can use the stat command on that folder, from the terminal:

[agmg@localhost ~]$ stat /lost+found

File: `/lost+found'

Size: 16384           Blocks: 32         IO Block: 4096   directory

Device: 801h/2049d      Inode: 11          Links: 2

Access: (0700/drwx------)  Uid: (    0/    root)   Gid: (    0/    root)

Access: 2013-01-22 16:42:42.205851899 +0200

Modify: 2013-01-22 17:49:44.000000000 +0200

Change: 2013-01-22 17:49:44.000000000 +0200

Birth: -

The results tell me that the system was installed on January 22, 2013. Yet, there is something that you should keep in mind: the stat command will not give you accurate information if you have reformatted your hard drive, restored the system from a backup or had filesystem issues at some point. Also, the system time has to be set correctly during installation for this method to work properly.

tune2fs

The same conditions regarding the filesystem and the proper setting of system time during installation also apply to the next command, which makes use of the tune2fs. The command has to be issued as root from the terminal, and will show us when the filesystem was created:

[root@localhost agmg]# tune2fs -l /dev/sda1  | grep cr

Filesystem created:       Tue Jan 22 17:49:44 2013

A similar command using tune2fs, with a more complicated syntax, is the following:

[root@localhost agmg]# tune2fs -l $(df -P / | awk 'NR==2 {print $1}') | sed -n 's/^.*created: *//p'

Tue Jan 22 17:49:44 2013

In both cases, the results agree on the date that we got previously, using the stat command

passwd

Let's use one more trick to verify our results. During PCLinuxOS installation, there are two user accounts created: the root account and the first user account. The trick is to check when was the password of root or the first user account set, provided that you haven't changed it and (again) that the system time was properly configured at the time of installation.

[root@localhost agmg]# passwd -S root

root PS 2013-01-22 0 99999 7 -1 (Password set, blowfish crypt.)

[root@localhost agmg]# passwd -S agmg

agmg PS 2013-01-22 0 99999 7 -1 (Password set, blowfish crypt.)

Once more, we see the same date: January 22, 2013. So, the system must have been installed on that date and never reinstalled. Great!

Conclusion

As you can see, there are a few ways to see when your system was installed. None of them is perfect, because each one has certain conditions that must be met for that method to give accurate results.

But if those conditions are met, then you could get a good picture about how much time your stable, rolling installation of PCLinuxOS has been up and running. If you are a typical user that doesn't mess up the system too much and keeps updating it regularly, this time could be quite long!

Forum Foibles: ms_meme's Linux ABC BOOK

Game Zone: TorchLight II

by daiashi

About The Game

The award-winning action RPG is back, bigger and better than ever! Torchlight II takes you once more into the quirky, fast-paced world of bloodthirsty monsters, bountiful treasures, and sinister secrets - and, once again, the fate of the world is in your hands! Torchlight II captures all the flavor and excitement of the original game - while expanding the world and adding the features players wanted most, including online and LAN co-op multiplayer. Torchlight II is fast, fun, and filled to the brim with action and loot. Adventure solo or online with your friends! http://www.torchlight2game.com

- Multiplayer: Play co-op with your friends via LAN or over the Internet for free. No subscriptions, no item sales. Our new matchmaking service lets you find friends, start new games, and join existing games. And, as always, you can play single-player offline as well.

- Customizable Characters: Players will create and customize a character from one of four brand new classes. Each class can be played as either male or female, with customized cosmetic features and looks to make each individual character stand out. All new skills and loot give loads of opportunity for unique character builds.

- Moddability: TorchED, the Torchlight II editor, will give players the ability to create their own mods, adding even more content to the world. Have your friends download the same mod and play together.

- New User Interface: Torchlight II boasts a new and improved user interface, designed to be easier than ever for new players to pick up and play. This intuitive interface ensures you can focus on playing the game the way you want to.

- Open World: We're not only in the town of Torchlight anymore! Explore vast overland areas and multiple hub towns, fight through rain, snow, day and night. Our level randomization ensures new layouts, paths, loot, and monsters every time you play.

- New Game Plus: In New Game Plus, the game's not over until you say it is. Once you've beaten Torchlight II's primary campaign, you can start again with the same character for a significantly greater challenge. You'll keep all of the skills, gold, and gear you worked so hard for!

- Pets & Fishing: These popular features make their return in Torchlight II in improved form. More choices, better effects, and your pet will still make the run to town to sell your loot so you don't have to.

System requirements

Software: Wine and steam.

Hardware/OS:

OS: Windows XP SP3/Vista/Windows 7

Processor: x86-compatible 1.4GHz or faster processor

Memory: 1GB System RAM

Hard Disk Space: 1.2GB free space (subject to change)

Video Card: DirectX compatible 3D graphics card with at least 256MB of addressable memory.

These are the minimum requirements for Windows 7/Vista/XP. However, I have always had better luck when these specs are slightly higher, on account of playing through WINE.

About The Company

Runic Games, located in Seattle, is a veteran team composed of the designers and leads of projects including Diablo, Diablo II, Mythos, Fate, and Torchlight, which won the Game Developer's Choice Award for Best Debut of 2009.

Some Gameplay Screenshots

Getting It To Run

Ok, first things first. Head on over and grab Steam, if you haven't already done so. WINE should install it with no problems. You will need Winetricks from Synaptic to get some needed files for steam to run properly. These files are corefonts and vcrun6, both from winetricks. For example:

After steam is installed, search for Torchlight II from the Steam store front.

After downloading Torchlight II, I had to make no other changes to get this game running.

Have fun.

2012 LinuxQuestions.org Member's Choice Awards

by Paul Arnote (parnote)

The 12th annual Members Choice Awards were recently announced over at the LinuxQuestions.org forum. Members were given from December 17, 2012 until February 4, 2013 to vote for their favorite Linux software in 30 different categories. The LinuxQuestions.org forum is a distro-agnostic forum where Linux users can get together to ask questions and have discussions without regard to a specific distro. There are also distro-specific boards in the forum, for those who would like to talk about and ask questions about their specific distro.

To vote, users had to be registered in the forum, and could only vote once. Users were allowed to skip categories if they had no personal knowledge of the applications, or if they had no opinion one way or another. Below are some of the highlights from the results of the voting, leaving out some of the more obscure categories. Instead, only those categories that are of most interest to desktop Linux users are highlighted. You can view the entire results here.

Desktop Environment Of The Year

KDE took the top honors again this year, with 31.31% of the votes. Xfce took an impressive second place finish, with 25.51% of the vote. Gnome continued its slide, taking a distant third place finish with 12.88% of the vote, followed up by Cinnamon (9.97%) and LXDE (6.97%).

Graphics Application Of The Year

Gimp, the perennial favorite in this category, repeated its stampede over the competition, garnering 69.85% of the vote. Blender (7.81%) narrowly took second place over Inkscape (7.38%). ImageMagick and Krita tied for fourth place with 3.25% of the vote to round out the top five spots.

Office Suite Of The Year

It's probably no surprise that LibreOffice took the top spot among office suites, with 85.14% of the votes. OpenOffice took a distant second place, with only 9.37% of the votes. Calligra took third with 3.88% of the vote, while Gnome Office (1.29%) and Lotus Symphony (0.32%) rounded out the top five spots.

X Terminal Emulator Of The Year

To match the top honors position in the desktop category, KDE's Konsole took the top honors with 22.68% of the vote, with Gnome Terminal coming in a close second with 20.41% of the vote. The trusty standby XTerm took third place with 13.61% of the vote. Xfce Terminal (xfterm4) and Terminator rounded out the remaining spots in the top five vote recipients, with 9.90% and 8.45% of the vote, respectively.

Desktop Distribution Of The Year

These results may surprise you, but Slackware took first place with 20.59% of the votes. Ubuntu took second place with 17.02% of the votes. Linux Mint was close on Ubuntu's heels, taking 16.21% of the votes. Debian (12.64%) and Fedora (8.66%) filled in the numbers four and five spots. PCLinuxOS tied for 14th place.

File Manager Of The Year

Dolphin took first place with 23.77% of the votes, while Nautilus filled in with second place with 15.28% of the votes. Thunar came in third with 14.09% of the votes. Midnight Commander (12.22%) and PCManFM (6.28%) took fourth and fifth places, respectively.

Browser Of The Year

Firefox was the favorite browser by a wide margin, capturing 52.76% of the votes. Chrome (17.27%) and Chromium Browser (11.75%) captured the second and third place spots. Opera came in fourth place with 8.03% of the votes, and SeaMonkey came in fifth with 2.76% of the votes.

Open Source Hardware Product Of The Year

It shouldn't be any surprise that the Raspberry Pi took first place by a large margin, with 79.29% of the votes. Arduino took a distant second place with 10.68% of the votes, while Pandora took a distant second place with 9.39% of the votes. Beagle Board (0.65%) and Bug Labs (0.00%) rounded out the remaining choices.

Video Media Player Application of the Year

VLC was the clear winner, taking 64.99% of the votes. Mplayer came in second, with 25.13% of the votes. Totem (2.33%), Mplayer2 (1.80%) and Kaffeine (1.62%) made up the third, fourth and fifth place spots, respectively.

Audio Media Player Application of the Year

Things were pretty well divided among the field this year, with no one application gaining an overwhelming lead. Amarok took first place honors, with 15.68% of the votes. Audacious took second place, with 13.55% of the votes. VLC took third place with 12.71%, with Clementine (12.08%) and RhythmBox (10.38%) rounding out the top five spots.

Mobile Distribution Of The Year

It was no surprise here that Android takes first place, with 66.86% of the votes. CyanogenMod took second place, with 23.14% of the votes. The surprise comes with third and fourth place finishers Meego (3.71%) and Maemo (2.57%), both of which aren't seeing much active development. The Chinese operating system Tizen came in fifth place with 1.43% of the votes.

Database Of The Year

MySQL took top honors this year with 40.00% of the votes. PostgreSQL came in second place, with 24.16% of the votes. sqlite came in third place with 13.77% of the votes. Relative newcomer MariaDB took fourth place with 8.83% of the votes, while Firebird came in a close fifth place with 8.57% of the votes. MariaDB will be the one to watch next year. Distros have already announced a planned switch to the GPL'd MariaDB, dumping the Oracle run MySQL, similar to what happened with the switch to LibreOffice from OpenOffice.

VoIP Application Of The Year

No surprises here. Skype took first place commandingly with 51.82% of the votes. Ekiga took second place with 11.36% of the votes. Mumble (7.73%) took third, while Jitsi (6.36%) took fourth. LinPhone and TeamSpeak tied for fifth place, with each capturing 5.45% of the votes.

Programming Language Of The Year

The overwhelming favorite programming language of the year was Python, taking in 28.03% of the votes. C came in second place with 15.37%, while C++ captured third place with 13.56% of the votes. Perl and PHP tied for fourth place, each with 7.05% of the votes.

Messaging Application Of The Year

The perennial favorite Pidgin repeated its win in this category, earning 52.06% of the votes. Xchat, the popular IRC chat client, took second place with 8.57% of the votes. Kopete took a close third place finish, with 8.25% of the votes. Irssi (7.30%) and Empathy (5.71%) took fourth and fifth place, respectively.

Backup Application Of The Year

Sometimes, when something works really well, there's no reason to change. The first place winner here was rsync, with 42.82% of the votes. CloneZilla took second place with 11.49% of the votes. Tar came in third with 10.92% of the votes, with rsnapshot (5.46%) and luckyBackup (4.89%) rounding out the top five.

Window Manager Of The Year

Openbox took the top honors for favorite Window Manager Of The Year, with 17.53% of the votes. KWin placed second, with 16.61% of the votes. Compiz (13.28), Fluxbox (11.25%) and xfwm4 (8.49%) filled in the third, fourth and fifth place spots, respectively.

Text Editor Of The Year

By a nearly 3:1 margin over its second place finisher, Vim was the overall favorite text editor among Linux users, with 34.35% of the votes. Gedit came in second with 12.10% of the votes. Geany took third place with 9.04% of the votes, while Emacs (8.76%) and Kate (8.48%) took fourth and fifth place, respectively.

Open Source CMS/Blogging Platform of the Year

Wordpress was the overall favorite among bloggers again this year, with 56.63% of the votes. Drupal came in second with 20.92% of the votes, while Joomla! came in with 10.71% of the votes. The rest of the field was pretty evenly divided up, and no one application came away with a decisive fourth or fifth place finish.

Virtualization Product Of The Year

The perennial favorite, VirtualBox, repeated its first place finish with 53.79% of the votes. KVM took second place with 16.55% of the votes. Third place went to VMware with 14.71% of the votes. QEMU (8.28%) placed fourth, and Xen (3.91%) placed fifth.

Open Source Game Of The Year

Perhaps due to the large number of entrants into this field, the votes were quite scattered all over the gaming landscape. First place honors went to Battle for Wesnoth, with 11.72% of the votes. Second place went to 0 A.D. with 9.52% of the votes. Open Arena took the third place spot with 6.59% of the votes. Flight Gear came in a close fourth place with 6.23% of the votes. GnuChess, NetHack and SuperTuxKart all tied for fifth place with 5.49% of the votes.

Summary

There are the choices of favorite applications among Linux users. If you missed out on your chance to place your vote, be sure to mark your calendar for the 2013 Members Choice Awards. The 2013 voting should begin around mid-December.

Adopt A Virtual Cat At AdoptMe.com

by Patrick G Horneker (phorneker)

Anyone who has a cat for a pet knows how much fun they can be. They can be a problem, too. You have to keep them fed and watered, clean out their boxes, brush them to remove shedded fur and danders, and sometimes have to remove them from places they should not be.

But what if you want to have a cat for a pet, but cannot have one because your landlord does not permit pets, or someone living with you has an allergy to pets.

If you cannot have an actual cat for a pet, but really want to have a cat, then why not adopt a virtual cat? AdoptMe.com is a site that allows you to adopt virtual pets such as cats, dogs, horses, and fish.

AdoptMe was a series of stuffed toys that were available at Kohl's during the 2006 holiday season. (Other retailers sold the toys, but this is where I first came across them.) These toys came with serial numbers so you can "register" these pets with AdoptMe.com. The idea behind these toys is to teach the basic responsibilities of pet ownership to children.

The website can be used without actually owning the stuffed pet, and that is what this article shows you. Enter the website with the URL, http://www.adoptme.com, and the following will appear:

When you want to adopt a virtual pet for the first time, you will need to click on Adopt a Pet. You do not need an account to adopt pets, but it is a good idea to have one. After clicking on Adopt a Pet, you will need to come up with a username and a password for this account. You will need to enter the password twice to confirm and to check spelling of the password. You will also need to enter your e-mail address so if you forget your password, AdoptMe.com will send you the needed information. The age field is for demographic purposes only.

Alternately, you can use the Guest Login page (http://www.adoptme.com/guestlogin.php) to adopt a pet without having to register for a user account.

Adopting a New Pet

Only six pets are shown at one time. Click on More Pets to scroll to the next page.

For virtual cats, you get to choose from European Tabby, Persian, Scottishfold, and Siamese. For this article, I chose a European Tabby.

Here, you give your virtual cat a name, the age in years, and its gender. For my account, I have a one year old male tabby named Thomas.

If you use the register login screen, your AdoptMe account will be created. Otherwise, your username will begin with Guest followed by a series of numbers. I have chosen to register for a AdoptMe account.

You can adopt more than one pet for your account. However, there is a limit of 24 pets that you can adopt. (I kept it simple and adopted only one virtual cat.)

Login to AdoptMe.com

For subsequent logins, you will need to click on Login at AdoptMe.com: Enter your username and password, and click on Login. Clicking on Modify will allow you to change your username or password.

The Main Screen

After logging in, select the pet you wish to work with by clicking on the pet's picture, or you can adopt a new pet by clicking on New Pet.

...and this is the main screen where everything happens in the simulation.

You can adopt a new pet from here by clicking on New Pet. Clicking on Another Pet will take you back to the Choose a Pet screen where you can select another virtual pet to take care of.

Help opens a balloon containing the user manual for the simulation.

The Stats Page

Stats shows you in a chart what is happening with the simulation.

The Stats screen is very helpful in tracking progress on how you are doing with your pet. Special messages appear at the top of this screen. In this example, Thomas needs a trip to the veterinarian's office. In this simulation, all pets need to go to the vet every three days, and each trip to the vet costs $40.00.

This example screen shot was taken on February 9, 2013.

Each item in the stats screen is accompanied by a color patch. Here, Thomas is in good shape as all stats are showing green. When you first get your pet, this level is set to 50. Take care of your pet, and this number will rise. The bar is fully colored once you reach a level of 100. As of this writing, Thomas has a happiness level of 210. The shopping cart pulls up a list of items you have purchased for your pet (excluding food).

The kennel has a special purpose. As with real cats, you can board your pet in the kennel when you are going away for some time (such as a vacation). For $3.00 per day, your virtual cat will be fed, taken to the park, watered, and cleaned daily. It is well worth the cost and if you neglect your cat, you will know about it when you log back in.

As you play along in this simulation, we need to do the following to keep your cat happy:

1. Have at least three servings of dry cat food and three servings of canned food available.

2. Make sure your cat gets fed and watered at least once a day.

3. Make sure your cat gets groomed at least once a day.

4. Make sure your cat gets some exercise at least once a day.

5. Take your cat to the vet the same day a message indicating your cat is sick appears in the Stats page. This should happen once every three days.

Most importantly, check the amount of virtual money you have to work with.

Virtual Money

Virtual money is what you use in the simulation to purchase supplies for your virtual cat. When you adopt your first virtual cat, you get $210.00 in virtual money to work with. You get $80.00 added to your account at the start of each day (the first time you login for that day). When you adopt additional virtual cats, you get $100.00 added to your account for each cat adopted.

Unlike the real world, you can get a job for your cat to earn additional money (when jobs become available). There are some circumstances where you can earn additional money such as achieving a happiness level of 200, where you get an additional $80.00!

Of course, as with real cats, there are expenses. It costs $40.00 to visit the veterinarian. It costs $25.00 to enter your cat in a cat show. You will need to purchase the following from the pet shop when you adopt your first cat (and other cats you may adopt):

Dry and canned food. This is your major expense as canned food is $10.00 per can. (In the real world, you could purchase pallets of canned food for that price.) Dry food costs between $20.00 and $30.00. (In the real world, you can purchase large bags of dry food at a real pet store for that much.)

Pet Toys. You will need to get at least one bow for use in the park. You can purchase toy mice and balls in the shop, but they are not needed as they are already provided in the gym and in the park.

Collar. As in the real world, collars are optional, but they are worth the expense, especially if you want to keep your cat happy.

Brush. This is a mandatory item for grooming your cat, which happens in the bathroom. You will not be able to groom your cat without this.

Most activities in the simulation cost nothing and should be done at least once a day. Keep in mind that before you decide to adopt another cat, be sure you can sustain enough money in your account to support all of your virtual cats.

Vet's Office

Besides food, visits to the veterinarian are the second biggest expenditure for cat care. You will be able to enter this screen only if your cat is sick. (If you cat is not sick, a message to the effect will appear at the top of the main screen.)

On the left side of this screen, there are three buttons. Each of these buttons represents an activity performed by the veterinarian. To make your cat feel better, you must click on all three buttons top to bottom. After you have done that, click on Exit.

You must visit the vet when the simulation tells you to keep your cat happy.

Happiness is Important

Keeping your cat happy is very important to the success of this simulation. When you start this simulation with your first cat, the happiness level will be at 50. You need to be sure your cat has been fed, groomed, exercised, and is feeling well in general. If you do this on a daily basis, your cat will achieve great levels of happiness. The Stats page shows how happy your cat is on the left hand side. The level will be fully covered when the happiness level of your cat reaches at least 100. On the other hand, if you do not take care of your cat, expect problems when you login as your cat's happiness level will drop.

Where's The Cat?

When you login to AdoptMe.com, your cat will be found in your home, namely the bedroom. To get there from the main screen, click on the door below where it says Go Inside. The interior of your virtual home will be shown.

First thing to do is go into the bedroom. Your cat may or may not be asleep.

If your cat is not asleep, there will be five buttons representing activities your cat can do in the bedroom. To complete the tasks in most any room, you need to click on the button representing each activity at least once in the order shown.

In the real world, we really do not want your cat to use your pillow as a scratch pad. In this simulation, nothing gets damaged, unless your cat is quite unhappy (the happiness level drops below 50).

When finished, click on Exit to get back to the interior screen.

Grooming Your Cat

Keeping your virtual cat groomed is one of the essentials of making your virtual cat happy. From the interior screen, click on the door below where it says Bathroom

There are four buttons representing activities needed to groom your cat. Click on all four buttons in the following order to complete the task. Of course, the cat needs to be in the bathroom for anything to happen.

Shower. Click on this first to wash your cat in the shower. In real life, cats generally tend to clean themselves and do not require placement in a bathtub. But then, there are the exceptions.

Teeth Brushing. Click on this second so your cat will brush his/her teeth. Of course, this cannot happen with a real cat.

Nail Filing. Click on this third so your cat will file his/her nails. In real life, this is what scratch pads are for.

Brushing. Finally, click on this button to brush your cat's fur. If you have not purchased a brush, the fourth activity button will be crossed out. You will need to purchase a grooming brush from the pet store before re-entering the Bathroom. In real life, this is the only step needed to groom your cat.

Feeding and Watering Your Cat

It is very important that your virtual cat be fed and watered on a daily basis. Water is provided with the simulation. You must purchase cat food (in some form) from the pet store in order to be able to feed your virtual cat. Check the Stats screen to see how much dry and canned food you have available (in terms of servings).

From the interior screen, there are two links below the word Kitchen, named Drink and Eat. These links take you to the kitchen, where your cat is sitting by the bowl on the floor. If you click on Drink, there is water in the dish. If you click on Eat, there is food in the dish. Once you enter the kitchen, click on the bowl to feed or water your cat.

Once your cat is done, click on Exit to return to the interior screen. You need to enter the Kitchen twice. Once to feed the cat, and once to water the cat. Both tasks cannot be accomplished with one visit to the kitchen.

If you clicked on Eat, one serving is deducted from either the canned food supply or the dry food supply. Which supply is used is randomly chosen. Be sure to check the Stats screen to see how many servings of each type of food are available. You may need to go to the pet store to purchase more food.

At The Park

Every cat needs some recreation. To go to the park, you will need to be sure you are in the main screen. If you are in the Interior screen, click on Exit to get to the main screen. Alternately, you can click on Home on the toolbar above the simulation screen on the displayed page.

Click on Park to enter the park. You will need to purchase a bow from the pet store to be able to complete the task here. Otherwise, the Play Button on the Park screen will be crossed out, and you will never be able to complete this task.

When you enter the Park screen, the mouse pointer will show a bird. This allows your cat to run throughout the park. Move your mouse pointer around the play area. You will see your cat run around the park chasing the bird. After a minute or so, click on Tricks. There is a row of buttons that allow your cat to perform six tricks in the park. This is similar to what we have done in the bedroom.

To successfully complete this task, you must click on each of the buttons from left to right, allowing the animation to play for each task.

Rollover. Your cat will roll over on his/her back.

Flip. Your cat will do a back flip.

Dance. Your cat will dance the same as in the bedroom.

Ball. Your cat will bounce the ball once and then toss the ball off the screen. Balls are provided in the park so you do not have to purchase any from the pet store.

Mouse. Your cat will play with a toy mouse. Mice are provided by the park.

Stalking. Your cat will crawl around as if to hunt down mice and other prey.

Once your cat performs all six tricks, click on Play to play with the bow dangling off a string. You must have purchased a bow from the pet store to perform this task. Move the mouse pointer around (it is a hand with the bow dangling from a string) and click on the play area for your cat to chase down the bow. Continue this until your cat meows. At that time, your tasks in the park are finished.

Click on Exit to return to the main screen.

At the Gym

To enter the Gym, go the the main screen and click on the door underneath the word Sports. This will take you to the gym screen.

There are four activities your cat can perform for exercise. Click on all four (at least once) and watch the animations. Your cat can swing on the grips, climb the rope, bounce a basketball and ride the exercise cycle.

Click on Exit to get back to the main screen.

When You Are Finished

What I have just shown you is a basic routine you should perform daily for your virtual cat. To finish with your cat, go into the Interior Room (the one labelled Go Inside), then click on Bedroom. This will allow your cat to nap until you are ready for your next session.

Click on Exit to get back to the Interior screen. Now click on Living Room.

If your cat is happy, this is what your living room should look like. If not (the happiness level is 50 or below, your cat will appear in the living room raving mad, with the living room being very messy, and furnishings damaged.

On the day of your cat's birthday, the living room will be decorated for your cat's birthday.

But Wait! There's More.

AdoptMe has special features that go beyond the basics of pet care. AdoptMe comes with places to visit and games to play. Your pet can join clubs, chat and blog about his/her experiences. Also, you can dress up your cat with accessories (if you wish).

The menu appears below the play area. Click on View <pet's name> Blog to view your virtual cat's blog. It is a good idea to read this blog as it shows your progress in how you take care of your pet. You can also read other pet's blogs too.

Also, from the main screen is a item called Show. Here, your cat is placed into a cat show, and if there is a show going on, your cat will be in first, second or third place depending on how well you took care of your cat. It costs $25.00 to enter your cat into the cat show.

In Conclusion

A virtual cat is no real substitute for adoption of a real cat. However, if you really want to adopt a cat, but circumstances prevent you from doing so, such as living in a place where pets are not allowed, or someone in your household has a strong allergy to pets, a virtual cat may be your only option.

Even if you do adopt a real cat, having a virtual cat provides you with all the benefits of cat ownership, and very few of the problems associated with cat ownership, provided that you take proper care of the cat.

HTML5 "One-Liner" Text Editor

by Paul Arnote (parnote)

Let's see a show of hands: how many of you have been browsing the web and wanted to jot down a few notes as you went? Well, if you're using a modern HTML5 browser (Opera, Firefox, Chromium, etc.), you can have a handy place to jot those notes down – and it's only one tab over.

Thanks to a post by Jose Jesus Perez Aguinaga on the coderwall website, there is a simple one line command that will turn a tab in your HTML5 browser into a simple notepad. In that tab you can jot down those notes or thoughts that enter your head as you browse.

Here's the simple command:

data:text/html, <html contenteditable>

Simply copy and paste the command into the address bar of a new tab in your HTML5 web browser.

Bare and raw, here's what it looks like after I pasted the first stanza lyrics of the Beatles song "Let It Be" into it:

Pretty cool, huh?

Jose's post spurred others to chime in with their enhancements and ideas. Here's one version that only works in webkit HTML5 browsers (such as Chromium and Chrome):

This version uses a notebook paper background to display your text on. The code to produce it is as follows:

data:text/html;charset=utf-8, <title>TextEditor</title>

<style>

body {

background: -webkit-linear-gradient(#f0f0f0, #fff);

padding: 3%;

height: 94%;

}

.paper {

font: normal 12px/1.5 "Lucida Grande", arial, sans-serif;

width: 50%;

height: 80%;

margin: 0 auto;

padding: 6px 5px 4px 42px;

position: relative;

color: #444;

line-height: 20px;

border: 1px solid #d2d2d2;

background: #fff;

background: -webkit-gradient(linear, 0 0, 0 100%, from(#d9eaf3), color-stop(4%, #fff)) 0 4px;

background: -webkit-linear-gradient(top, #d9eaf3 0%, #fff 8%) 0 4px;

background: -moz-linear-gradient(top, #d9eaf3 0%, #fff 8%) 0 4px;

background: -ms-linear-gradient(top, #d9eaf3 0%, #fff 8%) 0 4px;

background: -o-linear-gradient(top, #d9eaf3 0%, #fff 8%) 0 4px;

background: linear-gradient(top, #d9eaf3 0%, #fff 8%) 0 4px;

-webkit-background-size: 100% 20px;

-moz-background-size: 100% 20px;

-ms-background-size: 100% 20px;

-o-background-size: 100% 20px;

background-size: 100% 20px;

-webkit-border-radius: 3px;

-moz-border-radius: 3px;

border-radius: 3px;

-webkit-box-shadow: 0 1px 2px rgba(0,0,0,0.07);

-moz-box-shadow: 0 1px 2px rgba(0,0,0,0.07);

box-shadow: 0 1px 2px rgba(0,0,0,0.07);

}

.paper::before {

content: '';

position: absolute;

width: 4px;

top: 0;

left: 30px;

bottom: 0;

border: 1px solid;

border-color: transparent #efe4e4;

}

textarea {

display: block;

width:94%;

margin:0 auto;

padding:3.8% 3%;

border: none;

outline: none;

height: 94%;

background: transparent;

line-height: 20px;

}"><h1>Text Editor</h1>

</style>

<body contenteditable spellcheck="false" class="paper" >

Simply copy all of the above code, and paste it all into the address bar of a new tab in your favorite webkit HTML5 browser. As can be expected, the comments on Jose's post provide a whole host of variations on the "theme." Some variations only work on certain browsers.

One such item mixed among the comments was Jason Cooper's "a5" notepad.

You can use Cooper's a5 notepad by pointing your browser to http://a5.gg/. The added benefit this JavaScript notepad provides is that your notes are automatically saved as soon as you enter them. Close out the tab and reopen it, and your text remains. Close out your browser and reopen it, and your text remains. Reboot your computer and reopen your browser and the page, and your text remains.

One benefit to running the simple, original command in Firefox is that you can easily save your notes as an HTML file. Under Chromium and Chrome, there is no immediately available method to save your notes, other than copying them into another editor or printing them out. Under Firefox, simply select File > Save Page As... (or Ctrl + S from the keyboard), and provide an original name for your HTML file. The "default" filename is index.html, but I'm certain you can come up with a much more descriptive and useful name. Plus, it may quickly become confusing and difficult to find your notes when you have to search through a hundred different files, all named index.html.

Screenshot Showcase

uT6 - KDE

DeBass - KDE

cstrike77 - KDE

weirdwolf - KDE

NoMicrosoft4ME -LXDE

Crow - LXDE

agmg - KDE

RobNj - LXDE

ferry_th - KDE

Meemaw - XFCE

DISCLAIMER

1. All the contents of The PCLinuxOS Magazine are only for general information and/or use. Such contents do not constitute advice and should not be relied upon in making (or refraining from making) any decision. Any specific advice or replies to queries in any part of the magazine is/are the personal opinion of such experts/consultants/persons and are not subscribed to by The PCLinuxOS Magazine.

2. The information in The PCLinuxOS Magazine is provided on an "AS IS" basis, and all warranties, expressed or implied of any kind, regarding any matter pertaining to any information, advice or replies are disclaimed and excluded.

3. The PCLinuxOS Magazine and its associates shall not be liable, at any time for damages (including, without limitation, damages for loss of any kind) arising in contract, tort or otherwise from the use of or inability to use the magazine, or any of its contents, or from any action taken (or refrained from being taken) as a result of using the magazine or any such contents or for any failure of performance, error, omission, interruption, deletion, defect, delay in operation or transmission, computer virus, communications line failure, theft or destruction or unauthorised access to, alteration of, or use of information contained on the magazine.

4. No representations, warranties, or guarantees whatsoever are made as to the accuracy, adequacy, reliability, completeness, suitability, or applicability of the information to a particular situation.

5. Certain links on the magazine lead to resources located on servers maintained by third parties over whom The PCLinuxOS Magazine has no control or connection, business or otherwise. These sites are external to The PCLinuxOS Magazine and by visiting these, you are are doing so of your own accord and assume all responsibility for such action.

Material Submitted by Users

A majority of sections in the magazine contain materials submitted by users. The PCLinuxOS Magazine accepts no responsibility for the content, accuracy, and conformity to applicable laws of such material.

Entire Agreement

These terms constitute the entire agreement between the parties with respect to the subject matter hereof and supersedes and replaces all prior or contemporaneous understandings or agreements, written or oral, regarding such subject matter.

Table of Contents

Welcome From The Chief Editor

Windows Migration: Configure Your Computer With PCC

Windows Migration: Fine Tune Your PCLinuxOS Installation

How To Create Sub Menus In GRUB

ms_meme's Nook: Sunny Side Of The Web

Mark's Quick Gimp Tip & Double Take

My 16 GiB Corsair Flash Voyager GT Has Died ... ... Or How To Fully Erase Personal Se

Gimp Tutorial: Create A Shiny Button

Forum Foibles: How To Make A Forum Foible

Xfce Power User Tips, Tricks & Tweaks: Working With Graphics

Inkscape: Getting Started

PCLinuxOS Recipe Corner

Mounting SSH/SFTP Shares As Local Drives

When Was My System Installed?

Forum Foibles: ms_meme's Linux ABC BOOK

Game Zone: TorchLight II

2012 LinuxQuestions.org Member's Choice Awards

Adopt A Virtual Cat At AdoptMe.com

HTML5 "One-Liner" Text Editor

Screenshot Showcase

Unnamed

here

Unnamed

Unnamed

LinuxQuestions.org

AdoptMe.com