Internet Relay Chat, better known as IRC, is a distributed client-server system in which users can communicate with any number of other users in real time. IRC servers host channels that are dedicated to discussion forums on specific topics. These topics aren't fixed other than by convention and the whims of the IRC operators. If you are old enough to remember CB radio (that is, those of you in your mid-30s and up), you pretty much understand IRCat least in the human sense of the experience.
A number of IRC servers exist around the world, some with thousands of channels. IRC servers can also peer with other servers. IRC channels cover a plethora of topics, from purely social to politics to business or to high technology. In the Linux world, there are channels devoted to programming in most of the popular languages, as well as your favorite Linux distribution, office applications, games, and so on. IRC channels are great places to meet and exchange information, ask questions, answer questions, or just plain chat. All this chatting takes place via an IRC client such as XChat, which I will now discuss.
To start XChat, click the Applications launcher on the top panel, navigate to Internet and click XChat IRC (program name, xchat). When the program starts for the first time, you see a window with your username listed as a nickname (see Figure 9-9). There are also alternative nicknames listed on the off chance that someone else might be using that name already. Even though this defaults to your username, or your login name, you can choose whatever you like here. In fact, most people on IRC have some nickname other than their own names. On IRC, you'll see me logged in as wftl. That is my nickname.
Figure 9-9. Even when running XChat for the first time, a large number of networks is already configured.
If you know which network the channel you want to connect to is on (or if you just want to see what channels are available), click one of the choices in the list of Networks and click the Connect button. One that you might find interesting right off the bat is the Ubuntu Servers entry, which automagically logs you into the #ubuntu discussion channel, a great place to ask Ubuntu Linux specific questions. However, I do want to show you how to add other networks. Let's add my own IRC server here so you can see how it's done.
First, click the Add button to the right of the Networks list. The words New Network are highlighted at the top of the Networks list. Change that to something that makes sense. In my case, I entered WFTL IRC Server. Now, this entry is just thata placeholder for a list of servers within a network (there can be one or many). Click Edit and the Edit Server dialog appears (see Figure 9-10). At the top, there is one host listed, newserver/6667. This is just a sample entry and needs to be changed to something real. On my IRC server, that's chat.marcelgagne.com/6667. You don't generally need to worry about this, but 6667 is the TCP port that IRC operates on.
Figure 9-10. Each network can contain one or more servers. Furthermore, you can choose to have XChat log you into a channel when you connect.
Each IRC server can have potentially hundreds of channels or it can have just one. If you happen to know what channel you want to connect to, you can add it here so that it happens automagically when you log in. Look a little further down under the Connecting section to the Channels to Join field. As that label indicates, you could join multiple channels, but for my server, #wftlchat is what you need. Click Close and you'll find yourself back to the main XChat window Networks list. Make sure the WFTL IRC Server entry is highlighted, and then click Connect. The XChat conversation window appears with your nick name logged in to the appropriate channel (see Figure 9-11).
Figure 9-11. Chatting in IRC. To the right is a list of people currently logged in to the channel.
To ask a question or talk to the group, just type your message in the text field to the right of your nick name at the bottom, then press <Enter>. Notice the network name and channel name on the buttons at the bottom of the window. It is possible to join multiple channels at the same time when chatting on IRC.
Learning More About IRC
IRC has some interesting commands that you might want to know about. IRC commands are fronted by a slash character (/) followed by the command name. Some commands can be used by all users, whereas others are for channel administrators only. To find out what commands are available to you, type /help in the text field and press <Enter>. The list of commands appears in the chat window itself. Here are a few of the more common and useful commands:
IRC is a fantastic resource and one I recommend highly, but with a cautionary suggestion. This vast, distributed network of real-time discussion groups has evolved a culture all its own, with its own rules of etiquette, rules that should be respected. Channels have operators who monitor traffic and requests from users. Operators can also send you packing if you don't behave. There may also be bots, small programs designed to handle simple administrative requests, so not every user you see is necessarily human.
It's easy to get hooked on IRC when there is so much at your disposal, but it's also good to take some time and read a little primer on what it's all about. Check out the IRC primer in the Resources section for a great introduction to the world of IRC.
Another great resource is the netsplit.de IRC information site where you'll find a search engine for channels and topics, as well as a comprehensive list of IRC servers and networks.
I'll see you online.