lego (12) Linux (39) pi (20) Thinkpads (4)

Tuesday, 20 November 2012

Lost audio playback after unplugging headphones

Audio/sound worked fine through the Thinkpad's speaker, I then plugged in headphones which worked fine, but then after unplugging the headphones, audio/sound did not play through the speaker, and plugging the headphones back in confirmed there was no audio / sound through them.

The fix is to restart the alsa-utils service.

/etc/init.d/alsa-utils restart

Playback through both speakers and headphones was fixed.


This appears to be happening on all my Thinkpads (X20, X21, X22, X23, X24, X60, X60s, X61, X61s, X61T, T420) ever since Update Pack 5 for LMDE (Linux Mint Debian Edition) [affects Update Pack 6 as well].  I'm not certain if it is an issue with LMDE or Debian Wheezy.

The issue is that if you hardware or software (using volume control) mute the sound, you cannot unmute the sound via hardware or software volume control.  The sound will appear unmuted but there is no sound.

The solution is to run alsamixer (it's a XTerm GUI app, so run from a terminal session).  You should see a sound control for PulseAudio.  You can toggle the sound on/off by pressing m (for mute/unmute).

This is the only way I have found to be able to unmute the sound.

Monday, 15 October 2012

My Proven Method for Upgrading on LMDE

I've had mixed results when using the GUI updater.

What has never failed me is this method:

1) triple check your sources.list
2) run (as root), apt-get update
3) run (as root), apt-get upgrade -d
4) run (as root), apt-get upgrade
5) [if any errors in #4], run (as root), apt-get upgrade -f
6) run (as root), apt-get dist-upgrade -d
7) run (as root), apt-get dist-upgrade
8) [if any errors in #4], run (as root), apt-get dist-upgrade -f
9) reboot and test!

Always resulted in successful upgrades. I've been down the "destroyed" system route when upgrading before.

But like always, I do a quick clonezilla of my /root partition. I consider that critical. Even if the upgrade goes smooth, you never know what show-stoppers you'll run into after the upgrade (such as a particular critical application you use is not compatible with some of the updates). You always want a rollback strategy.

Monday, 10 September 2012

Using Compiz with LMDE (updated pack 4 or later)

I used Compiz with LMDE with GNOME 2 since starting to use LMDE.

With update pack 4, the choices of window managers has changed with GNOME 2 being replaced with GNOME 3, Cinnamon and MATE (fork of GNOME 2).  I tried Cinnamon for a while, and yes it is indeed impressive, it is still too early to start using it to replace Compiz w/ GNOME 2.

To get Compiz working with MATE, there is one additional issue than with GNOME 2.  With GNOME 2, you can simply run "compiz --replace" to activate Compiz.  In MATE, this works, but then then some MATE processes end up pegging the CPU high (constant running 50% CPU on a dual core -- I would assume this would be 100% on a single core system or 25% on a quad core system).  To   stop the CPU from running high, you run a "killall -9 marco" after activating Compiz.  However, as I found, it doesn't seem to work very well from a script.  I've always had "compiz --replace" as a startup script in "Startup Application", but simply adding the kill directly after didn't seem to have the desired effect.  Even when ensuring Compiz was starting up as a background process with a &, the killall immediately after still didn't appear to be having any effect.  I also tried putting a sleep inbetween steps.

The ultimate solution is to prevent the marco from starting completely.

With that said, here is the ultimate workaround to get Mate with Compiz running as your desired Window Manager.

First, you will need to install mateconf-editor (sudo apt-get install mateconf-editor).  This will add a red-icon version of Configuration Editor to your Programs (not to be confused with gconf-editor which you may have previously installed as well).  Start mateconf-editor from a terminal or from the Programs menu.

Second, navigate to /desktop/mate/session/required_components.  Locate the windowmanager setting, and change it to either blank or compiz.  I actually went with leaving it blank and continuing my prior tradition of having a "compiz --replace" execute via "Startup Applications", rather than changing the default to Compiz.

That's it.  Now have fun with CompizConfig (ccsm) to edit and configure your Compiz environment.

If you don't have Compiz installed, install the components via Synaptic.  I prefer to install all the plugins as well to fully customize Compiz.  I use compiz-gtk, compiz-dev, libdecoation0, compiz-plugins, compiz-core, compiz-fusion-plugins-unsupported, libcompizconfig0, compizconfig-backendgconf, compiz-fusion-plugins-main, compiz-fusion-plugins-extra, compiz-fusion-bcop, and compizconfig-settings-manager.

Tuesday, 14 August 2012

SSD Efficiency: Moving .xsession-errors

The .xsession-errors file normally resides in your home directory and it gets written to very often.  There is very little purpose to this file, unless you are troubleshooting a particular X application.

For the sake of reducing writes to the hard drive (prevent waking a spinning disk, prolong the life of a SSD), I have tried to relocate the file to /tmp, which is a ramdisk.  I located the entry, ERRFILE, responsible for the file within /etc/X11/Xsession, and tried changing it,



However, the system keeps writing to a .xession-error file in the home directory (regardless if I delete this file or not, it gets regenerated).  The issue has persisted for weeks including after many reboots.

I came across this post which suggested making the file immutable by:

rm ~/.xsession-errors
touch ~/.xsession-errors
sudo chattr +i ~/.xsession-errors

I've done this, and now at least the file is not being written to, but likewise, there is no file generated in /tmp/.

I'll have to keep this for the time being and then remove the flag if I ever need to make use of the .xsession-errors file.

Saturday, 21 July 2012

Google Chrome popping sound in Linux

I was forced to recently upgrade my Google Chrome from Chrome 16.x to Chrome 20.x on account of LastPast simply stopped working one-day with releases < 20.x (Chrome doesn't auto-update on Linux, unless you allow it to, but LastPass forces auto-download of the latest extension each time you launch the application against your will [aside: maybe figuring out the update URL and blocking it on the router or in the Linux routing tables on the machine would prevent this]).

Obviously, the popping sound comes about from the sound card going in and out of on mode.  I noticed it immediately after upgrading, and would be prevalent on sites such as which has many hidden flash objects in the background.  Gmail and other sites with oodles of flash were essentially making chrome pop nonstop, as if it were cooking popcorn.

I found this thread:

Google appeared to post a fix.  I don't know why they would post a clearly Windows fix into a clearly Linux thread -- since when do .dll files exist in Linux.  I thought at least the libraries would exist in some form (.so) and the fix may still apply.  But only 1 out of the 3 referenced libraries even exist.

I tried upgrading to the unstable Chrome 22.x version (since someone in the thread posted that the problem appeared to be fixed in 21.x which is against not exactly what Google is saying).  It is still happening for me in Chrome 22.x.

Shockwave Flash will show as the current version 11.3.x.  You need to disable it and leave only 11.0 d1 enabled.

This is what I figured out actually works:
- Type about:plugins in your address bar
- Click Details on the upper right corner
- Locate the entry for
-- Click Disable
- Locate the entry for
-- The entry should already, if not enable it, or you'll lose flash support.

Restart Chrome and you'll be popping-free.  But you will get the annoying "there is an flash update" dialogues.  Better than the popping.

To prevent the flash update dialogues, for your shortcut that you use to start Chrome, append the following --allow-outdated-plugins.  So your shortcut may resemble the following command:
/opt/google/chrome/google-chrome --allow-outdated-plugins

UPDATE 11/20/2012:

Chrome 23+ does not suffer this "popping" issue.  I have migrated to Chrome 23.0.1271.64 on several  32bit and 64bit systems and switched back to the original default settings (to use the more up to date

Wednesday, 9 May 2012

Was going to replace the existing WLAN card in the X61T with a newer, more linux friendly version, but I couldn't get the screws loose, and ended up stripping them in the process. So in the end, I decided to hack the second WLAN card by covering pin 20 with electrical tape, adding a 4th antenna into the palm rest, and viola. Now the machine has two WLAN connections, one that is newest technology that is very linux friendly. Plus there is some signal loss due to the digitizer and touchscreen interfaces causing interference with the antennas, so the added antenna in the palm rest make the connections more reliable.

Thursday, 26 April 2012

Changing Default Browser in Linux

Whenever I have an application spawning a web page, it always either opened in winebrowser (which doesn't work, and just causes the machine to spike on cpu) or Firefiox (which I don't regularly use unless something doesn't work in chrome). For some reason clicking Make Google Chrome Default Browser in Chrome has no effect. So I ran sudo update-alternatives --config x-www-browser Which presented me some choices Selection Path Priority Status ------------------------------------------------------------ * 0 /usr/bin/google-chrome 200 auto mode 1 /opt/firefox/firefox 70 manual mode 2 /usr/bin/google-chrome 200 manual mode 3 /usr/bin/iceweasel 70 manual mode Chrome was already set but wasn't working. Perhaps the "auto mode" had something to do with it. I entered the choice 2 at the prompt and now chrome opens as the default browser.

Tuesday, 24 April 2012

Changing splash / lock screen

I'm not a big fan of the very white Linux Mint login / lock screen. So I decided to change it to match my desktop background, which is a typical dark thinkpad theme that I've been using on all my machines for years. Here's how to make the change: cd /usr/share/backgrounds/linuxmint sudo ln -sf .jpg default_background.jpg sudo ln -sf .jpg Talento-1.jpg sudo rm /var/lib/gdm3/.cache/wallpaper/* Not sure if you can use BMPs or other images. Since my background image is a BMP, I decided to play it safe and convert it to a JPG rather then find out the hard way.

Sunday, 22 April 2012

Current Status of Linux Installs (all systems)


X20 / X21X22 / X23 / X24X60X61X61T TouchX61T SXGAT420HP dv6900


architecture32bit32bit32bit64bit w/ VT64bit w/ VT64bit w/ VT64bit w/ VT64bit




distributions Ubuntu Server 10.10-Ubuntu Server 11.10-LMDE x64-LMDE x64LMDE x64


tested kernels2.6.x-2.6.x-3.2.x / 3.3.x-3.2.x / 3.3.x3.2.x / 3.3.x


fingerprint reader


pen digitizerubuntu - work
debian - doesn't work ABI mismatch
ubuntu - work
debian - doesn't work ABI mismatch


touchscreen / fingerubuntu - works but not calibrated
debian - doesn't work ABI mismatch


rotate buttonneeds scriptneeds script


wlanrequired 3rd party kernel modules


wlan power management (PM) supportbroken after 2.6.30


wlan model39004965?CentrinoRealTek


ethernetdisable PM or won't survive toggle


ultrabayneed scripts


hdpasmust manually patch


EC advanced battery function (stop / start charge)API broken, must use acpi_call


tp_smapimust patch


thinkfan (fan control)


Undervolting support
- PHC kernel
tested through liqorixtested through liqorixtested through liqorixtested through liqorix


stable PHC VIDs23 21 4 00 0 0 0


integrated graphics


stable integrated parametersi915i915i915i915


discrete graphicsrequires 3rd party kernel module








TP hotkeysn/a


wireless hotkeyneed script for bluetooth toggleneed script for bluetooth toggleneed script for bluetooth toggleneed script for bluetooth toggle



hibernate?battery charge deterioration unless method = shutdown?battery charge deterioration unless method = shutdown







cardbus eSATArandom kernel panics on SATA I/Orandom kernel panics on SATA I/O


expresscard eSATA


SD reader


CF reader



Freezing Linux Mint Debian Edition (LMDE) to Gnome2 (avoiding Update Pack 4)

To pevent accidental upgrade to Gnome 3.2, I've locked my repositories to Gnome 2. Planning on testing Gnome 3.2 at a later time. When I briefly used Linux Mint 12 (which uses Gnome 3.2), I was suffering the random X Server crashes and freezes that appears countless others (including official Ubuntu users) were as well:

Gnome 3.4 apparently fixes the stability issue experienced in Gnome 3.2.  I have not tested LMDE Gnome 3.2 (that is with Update Pack 4), but I am initially assuming the same problem exists with this distribution as with Linux Mint 12 that uses Gnome 3.2.  I will eventually test Gnome 3.2 unless Gnome 3.4 is released for testing or experimental use in the Debian repositories relatively soon.

Update /etc/sources.list to (obviously replacing the existing lines, where appropriate, not adding to):
deb debian main upstream import
deb-src debian main upstream import
deb testing main contrib non-free
deb testing/updates main contrib non-free
deb testing main non-free

Installing CheckPoint / SNX on Linux

CheckPoint / SNX

Instructions for 32bit and 64bit Debian and Ubuntu based distributions:  Last updated 2012-04

installed to - 

library info: =>  (0xf7737000) => /usr/lib32/ (0xf75fd000) => /lib32/ (0xf75e4000) => /lib32/ (0xf75d0000) => /lib32/ (0xf75cc000) => /lib32/ (0xf75c0000) => /lib32/ (0xf75a9000) => /usr/lib32/ (0xf74ee000) => /lib32/ (0xf7392000) => /usr/lib32/ (0xf7379000)
/lib/ (0xf7738000) => /lib32/ (0xf7347000) => /lib32/ (0xf7321000) => /usr/lib32/ (0xf7303000) => /usr/lib32/ (0xf7300000) => /usr/lib32/ (0xf72fb000)


install CheckPoint SNX:
sudo ./

Create the following ~/.snxrc:

server <IP>
username <email>

TIP - If you get the following error on starting:
/usr/bin/snx: symbol lookup error: /usr/bin/snx: undefined symbol: cerr
if required (should not be necessary on modern Debian / Ubuntu)
install  libstdc++5_3.3.6
sudo dpkg -i libstdc++5_3.3.6-17ubuntu1_i386.deb


(LD_PRELOAD=/usr/lib/ not necessary on modern Debian / Ubuntu)

LD_PRELOAD=/usr/lib/ snx -H
Check Point'S Linux SNX
build 600000013
use: snx -S <server> {-U <user>|-c <certfile>} [-L <ca dir>] [-p <port>] [-R] [-G] [-E <cipher>]
run SNX using given arguments
snx -F <cf> run the snx using configuration slips by
snx run the snx using the ~/.snxrc

snx -D disconnect has running SNX daemon

-S <server> connect to server <server>
-U <user> uses the username <user>
-C <certfile> uses the certificate file <certfile>
-L <ca dir> get trusted ca' S from <ca dir>
-p <port> connect using port <port>
-G enable debugging
-E <cipher> SSL cipher to uses: RC4 gold 3DES

Installing Lotus Notes 8.5.3 on 64-bit Linux

Instructions for 64bit Debian and Ubuntu based distributions:  Last updated 2013-01-28

This is for LMDE (Linux Mint Debian Edition) < Update Pack 6 (such as Update Pack 5) or lower and Debian < 7 (such as 6) or Ubuntu systems.  If you are using multiarch (only applied to 64-bit systems), found in LMDE Update Pack 6 or Debian 7, follow the instructions in .

If you need install instructions for a 32-bit Linux, refer to

Although the IBM Lotus Notes 8.5.3 was designed for GNOME 2 and has dependencies for GNOME 2 libraries, this install with the instructions provided below will result in IBM Lotus Notes install that will work with almost any window-manager.  I confirmed it works with Cinnamon, MATE, and GNOME 3.

startup - 
env LD_LIBRARY_PATH=/opt/ibm/lotus/notes/:/emul/ia32-linux/:/usr/lib32/:/usr/lib32/i386-linux-gnu/ /opt/ibm/lotus/notes/framework/../notes-wrapper %F

installed to - 

library info: =>  (0xf7752000) => /opt/ibm/lotus/notes/ (0xf526f000) => /usr/lib32/ (0xf521d000) => /usr/lib32/ (0xf5100000) => /lib32/ (0xf50e1000) => /opt/ibm/lotus/notes/ (0xf4f22000) => /lib32/ (0xf4f08000) => /lib32/ (0xf4ef4000) => /opt/ibm/lotus/notes/ (0xf4e5b000) => /opt/ibm/lotus/notes/ (0xf4e55000) => /opt/ibm/lotus/notes/ (0xf4a55000) => /usr/lib32/ (0xf4969000) => /lib32/ (0xf4942000) => /lib32/ (0xf47e6000) => /usr/lib32/ (0xf47c9000) => /opt/ibm/lotus/notes/ (0xf47c7000) => /lib32/ (0xf46fe000) => /opt/ibm/lotus/notes/ (0xf46de000) => /lib32/ (0xf46d5000) => /usr/lib32/ (0xf46cd000) => /usr/lib32/ (0xf46b6000) => /usr/lib32/ (0xf469d000)
/lib/ (0xf7753000) => /usr/lib32/ (0xf42c6000) => /usr/lib32/ (0xf4230000) => /usr/lib32/ (0xf4217000) => /usr/lib32/ (0xf41d3000) => /usr/lib32/ (0xf41cc000) => /usr/lib32/ (0xf41a5000) => /usr/lib32/ (0xf4167000) => /usr/lib32/ (0xf40f3000) => /usr/lib32/ (0xf40ae000) => /usr/lib32/ (0xf40a9000) => /usr/lib32/ (0xf403f000) => /usr/lib32/ (0xf402b000) => /usr/lib32/ (0xf3fb3000) => /usr/lib32/ (0xf3f84000) => /usr/lib32/ (0xf3f51000) => /usr/lib32/ (0xf3f05000) => /usr/lib32/ (0xf3efc000) => /usr/lib32/ (0xf3e64000) => /usr/lib32/ (0xf3d3a000) => /lib32/ (0xf3d06000) => /lib32/ (0xf3d02000) => /usr/lib32/ (0xf3cff000) => /usr/lib32/ (0xf3cfa000) => /usr/lib32/ (0xf3cef000) => /usr/lib32/ (0xf3ceb000) => /usr/lib32/ (0xf3ce8000) => /usr/lib32/ (0xf3ce3000) => /usr/lib32/ (0xf3cc7000) => /usr/lib32/ (0xf3c52000) => /usr/lib32/ (0xf3bb5000) => /usr/lib32/ (0xf3bb1000) => /usr/lib32/ (0xf3ba2000) => /usr/lib32/ (0xf3b99000) => /usr/lib32/ (0xf3b96000) => /usr/lib32/ (0xf3b88000) => /usr/lib32/ (0xf3b81000) => /usr/lib32/ (0xf3b6e000) => /usr/lib32/ (0xf3b5a000) => /usr/lib32/ (0xf3b42000) => /usr/lib32/ (0xf3b0c000) => /usr/lib32/ (0xf3aed000) => /lib32/ (0xf3ab3000) => /usr/lib32/ (0xf3a1b000) => /usr/lib32/i386-linux-gnu/ (0xf3a16000) => /usr/lib32/ (0xf3a09000) => /usr/lib32/ (0xf39f9000) => /lib32/ (0xf39f5000) => /usr/lib32/ (0xf3995000) => /usr/lib32/ (0xf3980000) => /usr/lib32/ (0xf392b000) => /usr/lib32/ (0xf391c000) => /lib32/ (0xf3911000) => /usr/lib32/ (0xf38eb000) => /usr/lib32/ (0xf38bc000) => /usr/lib32/ (0xf3809000) => /usr/lib32/ (0xf37e6000) => /lib32/ (0xf37e3000) => /usr/lib32/ (0xf376f000) => /usr/lib32/ (0xf3714000) => /usr/lib32/ (0xf36f1000) => /usr/lib32/ (0xf3698000) => /lib32/ (0xf3674000) => /usr/lib32/ (0xf3670000) => /usr/lib32/ (0xf3668000) => /lib32/ (0xf364d000) => /usr/lib32/ (0xf3646000) => /usr/lib32/ (0xf3636000) => /usr/lib32/ (0xf3631000) => /usr/lib32/ (0xf3628000) => /usr/lib32/ (0xf3600000) => /usr/lib32/ (0xf35fa000) => /usr/lib32/ (0xf35ec000) => /usr/lib32/ (0xf35e4000) => /usr/lib32/ (0xf35dc000) => /lib32/ (0xf35d9000) => /usr/lib32/ (0xf35d5000)


  1. install 32bit libraries with getlib (

    sudo apt-get install libgnomeprintui2.2-0 ia32-libs ttf-xfree86-nonfree t1-xfree86-nonfree 
    sudo getlibs -p libgnomeprintui2.2-0 libgnomeprint2.2-0 libgnomevfs2-0 libgnomeui-0 libxkbfile1 libstartup-notification0 libsepol1 libselinux1 libgsf-1-114 libgsf-1-dev librsvg2-2 librsvg2-common libavahi-client3 libavahi-common3 libavahi-glib1 libbonoboui2-0 libcroco3 libdbus-1-3 libdbus-glib-1-2 libgnome2-0 libgnomecanvas2-0 libgnome-keyring0 libgnome-menu2 libesd0 gtk2-engines libgnome-desktop-2-17 libmotif4 libmotif3 libgnome-desktop-3-0 libavahi-glib1 gtk2-engines-oxygen gtk2-engines-aurora gtk2-engines-qtcurve gtk2-engines-murrine gtk2-engines-equinox alsa-base alsa-utils iproute gnome-desktop-3-2 liborbit2 libbonobo2-0 libgconf2-4

  2. extract deb (ibm-lotus-notes-8.5.3.i586.deb) and remove the dependence in file UNPACK/DEBIAN/control (make it blank)
dpkg-deb -x ibm-lotus-notes-8.5.3.i586.deb <folder>
  1. create deb,
dpkg-deb -e ibm-lotus-notes-8.5.3.i586.deb <folder>/DEBIAN
  1. install the deb of lotus notes,

    sudo dpkg -i –force-all ibm-lotus-notes-8.5.3.i586.deb

  2. install gtk hack (from
    (validate permissions of
    • make chmod +x notes-wrapper sudo cp notes-wrapper /opt/ibm/lotus/notes/
  3. fix LotusNotes8.5.desktop file in /usr/share/applications
    • [Desktop Entry] Encoding=UTF-8 Name=Lotus Notes 8.5 Type=Application Exec=env LD_LIBRARY_PATH=/opt/ibm/lotus/notes/:/usr/lib32/:/usr/lib32/i386-linux-gnu/ /opt/ibm/lotus/notes/framework/../notes-wrapper %F Icon=/opt/ibm/lotus/notes/framework/shared/eclipse/features/ Terminal=false Categories=Application;Office;
  4. check for missing libraries:
    • LD_LIBRARY_PATH=/opt/ibm/lotus/notes/:/usr/lib32/:/usr/lib32/i386-linux-gnu/ LANGUAGE=zh_TW.UTF-8 ldd /opt/ibm/lotus/notes/framework/../lnotes
    • LD_LIBRARY_PATH=/opt/ibm/lotus/notes/:/usr/lib32/:/usr/lib32/i386-linux-gnu/ LANGUAGE=zh_TW.UTF-8 ldd /opt/ibm/lotus/notes/framework/../notes
    • LD_LIBRARY_PATH=/opt/ibm/lotus/notes/:/usr/lib32/:/usr/lib32/i386-linux-gnu/ LANGUAGE=zh_TW.UTF-8 ldd /opt/ibm/lotus/notes/framework/../notes2
  5. Xterm required for initial setup
    • When starting the application for the first time, you'll need to agree to a licensing agreement.  It appears not everyone has xterm installed as default, or perhaps had become removed.  Therefore, install xterm if not already installed
      • sudo apt-get install xterm

OPTIONAL: If you are missing the Microsoft fonts, install the following package:

Installing AT&T VPN Client on Linux

Instructions for 32bit and 64bit Debian and Ubuntu based distributions:  Last updated 2012-04

installed to - /opt/agns/bin

library info: =>  (0xf77d7000) => /lib32/ (0xf77a1000) => not found => not found => /lib32/ (0xf779d000) => /lib32/ (0xf7641000)
/lib/ (0xf77d8000)
agnclientd =>  (0xf776d000) => /opt/agns/lib/ (0xf774d000) => /lib32/ (0xf7734000) => /opt/agns/lib/ (0xf772b000) => /lib32/ (0xf75cf000)
/lib/ (0xf776e000) => /usr/lib32/ (0xf74a5000) => /lib32/ (0xf74a0000) => /usr/lib32/ (0xf748c000) => /lib32/ (0xf7466000)
agnLogd =>  (0xf773e000) => /lib32/ (0xf75c5000)
/lib/ (0xf773f000)

Starting the daemons (normally starts on boot up, but you can startup on demand instead):
(as root)
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/agns/lib
export PATH=$PATH:.:/opt/agns/bin:/opt/agns/lib:/opt/agns/bin/skin
If you run into issues while connecting (you accidentally terminate a connection etc), restart the above services.

Connecting: for command line
agnclient gui
agnclientd daemon

I recommend using command line to connect.  Edit, in particular these three lines:


Make sure the AT&T IP is correct:

Ensuring the agnclientd and agnLogd are running;
(   ps -ef | grep agn
root      4287     1  0 Apr16 ?        00:01:02 agnclientd
root      4289     1  0 Apr16 ?        00:00:00 agnLogd
run (as user);

Installing AT&T VPN client on Linux Mint Debian Edition (or other Debian or Ubuntu based distributions)64bit:
1) installing 32bit compatibility package
sudo apt-get install ia32-libs
sudo apt-get install iceweasel ia32-libs ia32-libs-gtk
2) download the client from agnclient-2.0.1-ubuntu
3) sudo dpkg –force-all -i <package.deb>
- install agnclient 
- install gtk package
- install dev package
3) install necessary libraries
sudo getlibs -p libssl0.9.8
sudo ln -s /lib32/ /lib32/
sudo ln -s /lib32/ /lib32/
sudo ln -s /lib32/ /lib32/
sudo ln -s /lib32/ /lib32/
sudo ln -s /usr/lib32/ /usr/lib32/

TIP - If get stuck authenticating:

Run ldd on NetVPN and check if all library files are setup.

TIP - When running agnclient, if you run into a GTK error:

export GTK_PATH=/usr/lib32/gtk-2.0


sudo apt-get install tcl8.4
sudo dpkg -i  --force-architecture agnclient_1.0~
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/agns/lib
export PATH=$PATH:.:/opt/agns/bin:/opt/agns/lib:/opt/agns/bin/skin

/opt/agns/bin for command line
agnclient gui
agnclientd daemon