Martin Cooper's Linux Blog

All things Linux …

Monthly Archives: January 2012

Amazon MP3 Downloader for Linux [Update]

Linux solutions provided by Amazon failed to work due to dependency issues and also no 64bit support. This was solved by a little program called pymazon found here this worked for me in both Debian Wheezy 64bit running XFCE . To install it from a Terminal just run the following commands;

$ sudo apt-get install python-crypto
$ sudo apt-get install python-qt4
$ wget
$ tar -xzf Pymazon-0.9.tar.gz
$ cd pymazon-0.9
$ sudo python install

and run from a Terminal with;

$ pymazom

Open the [Preferences] options and change the [Save Directory] to one of your choice.

Then buy your audiobook/music on Amazon, during the process it will ask you to download their Linux version of the software unfortunately it does not support 64 bit and even the 32 bit versions have dependencies missing. So just click on the link following the text which says “If you have already installed the Amazon MP3 downloader click here” and continue the purchase. Once complete a download should start of an .amz file e.g AmazonMP3-12345678.amz which you should direct to a folder of your choice. Next open python, select the [Load Files] optin and navigate to your previously stored .amz file and open it, pymazon will then display a list of your purchased tracks and these can then be downloaded using the [Download] button and once downloaded displayed with the [Show Downloads] button.


Folding@Home on Debian Squeeze

New Year, New Operating System & a New Team

It’s been a while since I blogged about the Folding@Home Project so as I have moved to Debian Squeeze on my server I thought I’d document the install of the Folding@Home software and move my contributions from the Ubuntu Team to the Debian Team.

The Folding@Home Project can be found at and their goal is

“to understand protein folding, misfolding, and related diseases. You can help scientists studying these diseases by simply running a piece of software. Folding@home is a distributed computing project — people from throughout the world download and run software to band together to make one of the largest supercomputers in the world. Every computer takes the project closer to our goals. Folding@home uses novel computational methods coupled to distributed computing, to simulate problems millions of times more challenging than previously achieved.”

So in other words, whilst you computer is switched on it’s unused capacity can be working away on problem solving for a common cause.

First you need to a name to use, start at and enter the name you wish to use and as long as it’s not found in the search you are good to go just make sure you and note it down for later.

Then you need a passkey this is a unique key which binds your donations to your username just in case someone else decided to use the same name get one from and note it down for later.

So my sever is an AMD 64 duel core and I want to run 2 instances of the Folding@Home software 1 on each processor. I start by creating a folder in my home folder called Folding@Home, opening a Terminal I do;

$ mkdir Folding@Home

then moved into it and created 2 more core1 and core2

$ cd Folding@Home

$ mkdir core1 core2

I now downloaded the software from the site download page at downloading the software for 64 bit PC’s called FAH6.34-Linux64.tgz into my Downloads folder. I then moved into that folder with;

$ cd ~/Downloads

and extracted the fah6 file within the tar archive with

$ tar -xzvf FAH6.34-Linux64.tgz

the copy the fah6 file to both the core folders and making them executable with

$ cp fah6 ~/Folding@Home/core1
$ chmod +x ~/Folding@Home/core1/fah6


$ cp fah6 ~/Folding@Home/core2
$ chmod +x ~/Folding@Home/core2/fah6

Then we need to cd back to the core1 folder with.

$ cd ~/Folding@Home/core1

Then run the following;

$ ./fah6

[Note ./fah6 -config can be used later to reconfigure]

This then asks the following questions;

User name [Anonymous]? Type in your username, then press [Enter].

Team Number [0]? Type in the number 2019 for the Debian Team, then press [Enter].

Passkey []? Type your passkey here and, press [Enter].

Ask before fetching/sending work (no/yes) [no]? to make things automatic, leave at no and press [Enter].

Use proxy (yes/no) [no]? I’m not behind a proxy, so I left at no, and pressed [Enter].

Acceptable size of work assignment and work result packets (bigger units may have large memory demands) — ‘small’ is10MB (small/normal/big) [normal]? again I left at the default of normal, and pressed [Enter].

Change advanced options (yes/no) [no]? y
Core Priority (idle/low) [idle]?
Disable highly optimized assembly code (no/yes) [no]?
Interval, in minutes, between checkpoints (3-30) [15]?
Memory, in MB, to indicate (3966 available) [3966]?
Set -advmethods flag always, requesting new advanced
scientific cores and/or work units if available (no/yes) [no]?
Ignore any deadline information (mainly useful if
system clock frequently has errors) (no/yes) [no]?
Machine ID (1-16) [1]? 1 as this is running on core 1 I added a 1 when I do the same actions in the core2 folder I’ll add a 2 here
The following options require you to restart the client before they take effect
Disable CPU affinity lock (no/yes) [no]?
Additional client parameters []?
IP address to bind core to (for viewer) []?

The program then runs, updated, downloads the first batch of work and starts to process…..

The above config info is stored in the core1 folder and named client.cfg, you could just copy this to your core2 folder and open it and change the machineid=1 to 2 resave it then just start up the fah6 process with

$ ./fah6

and it would start processing or you can not complete the same action on the second core.

to stop the process I use;

$ killall fah6

to start I use

$ ./fah6 -verbosity 9
from within each folder

This bash script will run both in one terminal window.

#### Folding@Home ####
## Core 1 ##
cd ~/Folding@Home/core1
./fah6 -verbosity 9 &
## Core 2 ##
cd ~/Folding@Home/core2
./fah6 -verbosity 9

You can check your progress by entering your username at the site updates daily.

GRUB2, change the background image

I’ve just install Debian Wheezy and don’t particularly like the space themed background so decided to replace it

I just want a black background so produced a black image in GIMP 640×480 pixels called grub.png then copied it from my home to /usr/share/images with

$ sudo cp ~/martin /usr/share/images/grub.png

then I edit grub with;

$ sudo leafpad /etc/default/grub

and add


under this section:

GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`

and uncomment

then update it with;

$ sudo update-grub

on reboot I now get GRUB with a all black background, changing the GRUB_TIMEOUT=5 number will also change the time GRUB shows on the screen, GRUB_TIMEOUT=0 with prevent it showing at all if you wish.

GTK Apps i.e. VLC look ugly in Debian Wheezy

VLC looks very ugly on my Debian XFCE desktop but you can control the look of Qt apps with a program called qt4-qtconfig you can find it in the Software Manager or use the command line:

$ sudo apt-get install qt4-qtconfig

Then you’ll find it in: [Menu], [Settings], Qt 4 Settings on XFCE

If you want qt apps to use the same theme as your other apps open Qt 4 Settings
Then Select [GUI Style:] as GTK+
Then use [File], [ Save] and exit.

Debian Wheezy enable Synaptic TouchPad

I’ve just installed Debian Wheezy [currently still in testing] on my laptop from a net install disc selecting only the base system install [i.e with no desktop or laptop packages] then after install just adding the XFCE desktop packages from the command line.

$ sudo xorg xfce4 synaptic gdebi wicd lightdm iceweasel dmz-cursor-theme gnome-wise-icon-theme shiki-brave-theme leafpad

This gets me a basic install but no synaptic touchpad.

$ egrep -i ‘synap|alps|etps’ /proc/bus/input/devices
N: Name=”PS/2 Synaptics TouchPad”
shows my Sony laptop VGN_NS11J has a Synaptics Touchpad

$ grep “TouchPad: buttons:” /var/log/Xorg.0.log
[ 21.368] (–) synaptics: SynPS/2 Synaptics TouchPad: buttons: left right
show is does not support multitouch as there is no double or triple options.

Create a folder in /etc/X11 called xorg.conf.d
$ sudo mkdir /etc/X11/xorg.conf.d
then a file called synaptics.conf in this new folder
$ cd /etc/X11/xorg.conf.d
$ sudo touch synaptics.conf

open the file in leafpad

$ sudo leafpad /etc/X11/xorg.conf.d/synaptics.conf

and copy the following into it;

Section “InputClass”

Identifier “Touchpad” # required
MatchIsTouchpad “yes” # required
Driver “synaptics” # required
Option “MinSpeed” “0.5”
Option “MaxSpeed” “1.0”
Option “AccelFactor” “0.075”
Option “TapButton1” “1”
#Option “TapButton2” “2” # multitouch
#Option “TapButton3” “3” # multitouch
#Option “VertTwoFingerScroll” “1” # multitouch
#Option “HorizTwoFingerScroll” “1” # multitouch
Option “VertEdgeScroll” “1”
Option “CoastingSpeed” “8”
Option “CornerCoasting” “1”
Option “CircularScrolling” “1”
Option “CircScrollTrigger” “7”
Option “EdgeMotionUseAlways” “1”
Option “LBCornerButton” “8” # browser “back” btn
Option “RBCornerButton” “9” # browser “forward” btn


I’ve commented out the multitouch options as my synaptic touchpad has no multitouch options, the following commands.

$ sudo modprobe -r psmouse
and then
$ sudo modprobe psmouse proto=imps

will make the synaptic pad work immediately.