IRC clients primarily for the Unix shell
updated Jan 26, 2003
The UNIX operating system was the original home to the Internet Relay Chat, when some code developers wanted a way to chat in an easy-to-use, real-time forum and discuss their developments. Back in the early days of IRC, the IrcII (pronounced irc-two[*]) program was the premiere client. Designed to run in a text-mode environment, IrcII is not pretty -- it has no sounds, graphics, menus, pop-ups, etc. (see a screen capture). It is, however, fast, stable, lightweight, portable, and easily backgrounded using virtual terminals such as Unix "screen".
UNIX has evolved over the years into many variant OS's such as Linux, BSD, Solaris, etc., sometimes collectively known as "*nix", "Unix-like" or simply "Unix". Because of this increasing popularity, more, newer IRC clients have been developed for Unix systems. Perhaps the most common are BitchX and EPIC, both variants of the ircII client with greater functionality built into them at some stage in their development.
Even more recently, with the increased use of Unix on home PCs, IRC users are turning to graphical user interface (GUI) clients to meet their needs. As with mIRC for Windows or the various Macintosh clients, text-based clients can be used in in GUI "terminal emulators" that make them available in the graphical environment. Additionally, pure graphical clients have been developed to offer some of the look, feel, and functionality of Windows and Mac clients, and have proliferated in numbers much like their GUI ancestors. The primary Unix graphical clients are likely Xchat and KVIrc.
In addition, most of the Unix text-based clients have been ported to work under Windows or Mac, but you're better off sticking with clients developed for those OSes (follow the links above). An interesting exception might be Mac OS X, which is BSD-based and now makes Apple ironically the largest distributor of UNIX OS systems in the world.
At one time, the IrcII client set the standard against which all other clients were developed and measured. While this may still hold true to some extent today, the Windows client mIRC has largely taken over that position.
Many distributions of Linux and BSD come with built-in package management software (such as rpm for RedHat-based systems or deb for Debian-based systems). In these cases, installing your IRC client is usually as simple as downloading the program appropriate for your distribution and then installing the binary package. Some distributions have source packages, which allow you to maintain the package management of the distribution while still benefiting from building your client from source code. Managing distributions this way is for moderately experienced users who have the patience to read the package manager's manual pages to understand how it functions.
Alternatively, you can download a "pristine source", usually in the form of a tarball that ends with the .tar.gz or .tgz extension. This package should be unpacked (using the gzip and/or tar utilities) into its own directory. Once that's done, every tarball package comes with two files, usually called README and INSTALL. Some clients may have additional README.extension files, which you should also read. These files tell you important information about how to compile and install the program!
Installing the GUI client may be easier than it sounds. Of course, running a graphical client requires that you have a graphical environment installed on your computer, such as the XFree86 system. It also requires a window manager, such as FVWM2, Enlightenment!, Sawfish, WindowMaker, NextStep, BlackBox, or any of about a hundred other options. Some clients, such as XChat and KVIrc, require special "widget sets" to be installed on your system. If you go to the home pages of these IRC clients, they will tell you what you need to download and install.
Luckily, if you have a package-managed distribution as stated above, the process is just as simple as downloading and installing the package you need. Most typical end-users of distributions such as RedHat or Mandrake have the benefit of a default installation that has already supplied you with everything you need. Again, if you plan to compile from a source tarball package, you should follow the instructions in README and INSTALL.
We'd also like to take a brief moment to make a very important point: if your Unix distribution uses package management, it behooves you to use it. Please do not install source tarball packages into distributions that use package management, such as rpm or deb, unless your are a fairly experienced user (in which case, what are you doing here?). While it's likely these programs will work once compiled, they can still do more harm than good if you don't know what you're doing! Trust me, I've made this mistake myself....
To install an IRC client, you usually need to have a decent level of UNIX knowledge. You may also get some tips from the rather out-dated IRC by Telnet FAQ (question #6-8).
If you are not very savvy with Unix here are your choices:
There are now 2 main variants of ircII which we describe below:
ircII 2.8.2 (4/95, 372,733 bytes)
ircii-current (3/2002, ~0.6MB) [ext. link]
After 2.8, ircII went through many, many versions from 2.9roof through 4.4Z, all of which were extremely buggy, either simply annoying or seriously compromised. After ircII 4.4 reached the Z release, the ircII team switched to naming their releases according to date. As of this writing, the most recent ircII release in source form is ircii-20020310.tar.bz2 (the .bz2 extension require Bzip2 to unpack). This latest ircii-current release seems to be more stable than it's 4.4 predecessors, and functions almost as stably as the original 2.8 release. Because ircii-current is a rolling release at this point, it's best if you go to the home page by following the link, and download it from there.
BitchX [ext. link]
EPIC [ext. link]
irssi [ext. link]
Probably the newest of the console IRC clients. irssi has rapidly matured into a capable IRC client. Its default configuration utilizes hidden windows, making it much easier to keep track of multiple channels. It also utilizes an embedded Perl interpreter for its scripting, eliminating the need to learn a new language. irssi appears to be very full featured, and may eventually overtake BitchX in popularity. Irssi also lacks the potentially dangerous defaults BitchX has, making it a good choice for the novice user. Even though irssi's defaults are more reasonable, it would still be advisable to read the documentation before trying to use irssi, as it is quite different from other console clients, and the default use of hidden windows can take some getting used to.
X-Chat [ext. link]
KVIrc [ext. link]
Help for ircII commands
irciiman.txt (formerly called irciiman.wri)
server numerics header
pidentd [ext. link]
Get the latest clients at these archives:
Pre-compiled ircII binaries:
The best script is still one that you write yourself. Never ever accept a script from anybody (even friends you trust). It could have cleverly-hidden back-doors which allow others to take over your client and maybe even steal your password or compromise the security at your entire site! Many scripts have lame or hostile features which can inadvertently get you banned from channels or even servers! These are not idle threats, it happens all too often in real life.
We recognize that the average user is probably not interested in learning how to script or just wants some examples to get started. In that case, please see our ircII scripts page for some ircII script packages which may increase your IRC enjoyment and convenience.
If you do want to learn how to script, there aren't really "how to" guides, but you don't really need any. If you have some basic programming experience, it's just a matter of getting some good references, such as irciiman.txt (aka irciiman.wri) and server numerics header, then learning by example from existing scripts such as those in our ircII scripts page.
Note on the pronunciation of ircII:
Some of us like to call it "eye-are-see-two". However, the other main variant, "irk-two" is probably historically more accurate. It's also commonly called "urk-ee" which is most definitely wrong. Feel free to disagree with us, we're not going to argue the point to death. What's pretty certain is that it is "two" and not "ee".