For more detailed instructions, pick your distribution: Ubuntu, Debian, Gentoo, Slackware Fedora, Xandros (Debian derivative) on Asus Eee PC, openSUSE
You will need to install some programs to use Arduino under Linux (the way you do this depends on your distribution):
You will also need a compatible kernel. For example, it needs USB serial support with the FTDI driver.
If you have brltty installed (the default on recent versions of Ubuntu), you'll need to remove it.
Download the latest Arduino Linux distribution from the arduino dowload section. Copy/extract these files to a directory (or your desktop) and Run the "arduino" script.
The Arduino software distribution includes a couple of pre-compiled binaries that may not work on 64-bit systems:
Your distribution should provide a package for RXTX (probably called librxtx-java). Once installed, you need to copy librxtxSerial.so. to the lib/ sub-directory of your Arduino application directory or to the extensions folder of the JRE.
On some distributions however the version of librxtx-java supplied is still not up to date, a working version can be downloaded here: http://rxtx.qbang.org/pub/rxtx/rxtx-2.2pre2-bins.zip further instructions are available at http://chemicaloliver.net/programming/fixing-arduino-on-ubuntu-9-10-karmic-x64/ which also includes a full version of arduino-0017.tgz with a working version of rxtx included. Note: Just installed Ubuntu 9.10 64-bit (2010-02-15), required packages from repository, and latest IDE. Works out of the box.
Arduino uses a patched version of avrdude. The source is available here: avrdude-5.4-arduino-0010-src.tgz. After compiling, copy avrdude and avrdude.conf to the hardware/tools/ sub-directory of the Arduino application directory. The version of avrdude packaged with the latest Arduino software seems to work under x64 linux. The proposed source file does not include support for the latest ATmega328, and should therefore not be used with the Arduino Duemilanove.
To fix:
sudo sed -i 's/XINERAMA/FAKEEXTN/g' /usr/lib/jvm/java-6-sun/jre/lib/amd64/motif21/libmawt.so
Arduino's (and other USB-serial devices) end up as /dev/ttyUSB#.
If you have more than one such device then some udev magic may help avoid confusion.
Run avr-gcc --v from a terminal window to check your version number.
The current arduino script won't run from a menu because the java libraries aren't found. (You would get "Could not find the main class: processing.app.Base." error.) I suggest adding a line to the script like this:
cd `dirname $0`
before the CLASSPATH line.
(The old instructions for installing Arduino on Linux are still available.)