No, you didn’t travel back to the 1990s. Some technologies are simply more enduring than others, and IRC is one of them. These days IRC is as functional as ever, new features are in the works, thanks to the IRCv3 project, and its premise is still good enough to be copied (looking at you, Slack).
If you haven’t heard of IRC, here’s a quick rundown:
What is IRC?
The abbreviation stands for Internet Relay Chat, and it’s a communication protocol that enables users to chat in channels (chat rooms) on IRC networks. A network consists of IRC servers, and users connect to it from an IRC client application.
IRC was created in 1988 and had a somewhat turbulent history with splits and forks due to disagreements over protocol standardization. As people moved to social networks and various messaging apps, the popularity of IRC declined. However, thousands are still using it, and most congregate on Freenode. It’s currently the largest IRC network, with the majority of channels dedicated to free and open source software.
Every major Linux distribution has an IRC channel, so IRC provides a great way to get help or meet fellow Linux users. You can exchange private messages and files with others, and create your own channels – public, private, or invite-only. User actions are called IRC commands, and begin with a forward slash. To join a channel, you’d type /join #channelname
in your IRC client.
Most networks allow you to participate without an account. Since IRC chats are just plain textual messages, the whole experience is lightweight and equally fast on desktop and mobile devices.
Interested in trying IRC? Do you want to change your current IRC client? Here are some of the best IRC clients you’ll find on Linux – and things you can do with them.
Keep Your IRC Client Simple
1. Polari
The point of Polari is to start chatting. It doesn’t have dozens of options to distract you. All you have to do is click the plus button, choose a network from the list (or add a custom one), and join a channel. Many will find Polari too limited, but it looks like a good choice for beginners and minimalists.
Highlights:
- Automatically upload images and text to a pastebin service.
2. Pidgin
You may remember Pidgin as a multi-protocol IM app that predates current all-in-one solutions like Franz. One of the supported protocols is IRC, which makes Pidgin a fully-functioning IRC client. You can create accounts on multiple networks and join several channels at once. Authentication with SSL and SASL is supported, and Pidgin can automatically join selected channels on startup.
Highlights:
- Optional plugins that enable word highlighting, customizable notifications, hiding join/part messages etc.
Special Mention:
Communi – a QT-based IRC client with its own IRC framework. It supports the split-view feature that lets you see multiple channels side-by-side.
Chat From the Terminal
3. Irssi
If you’re serious about IRC and spend a lot of time in the Terminal, Irssi is the IRC client for you. It supports themes, advanced chat log management, keyboard shortcuts, and command aliases. There are also plugins and scripts, and Irssi-proxy is among the most useful. It helps you maintain multiple server connections and share them between clients or devices (e.g. your phone and your PC).
Highlights:
- Manage all IRC connections in one window, or in many separate windows.
- Split messages into windows by type, so that private messages are displayed in one window, and status messages in another.
4. Weechat
WeeChat is all about extensibility. If you want to, you can add features via plugins, or write scripts in a number of languages (Python, Perl, Lua, Ruby…). If not, just keep it lightweight.
WeeChat can connect to multiple servers and encrypt your private information. Although it’s an ncurses-based application, WeeChat is quite colorful, and supports various appearance tweaks. You can also use a frontend – Glowing Bear is a popular recommendation.
Highlights:
- Create triggers (automated actions) to execute commands, send auto-reply messages in private IRC chats, change nickname colors in IRC channels, and more.
5. F-IRC
F-IRC is a command-line IRC client with a compact interface that you can navigate with cursor keys. It supports colors and allows connections to multiple IRC servers. You can define your favorite channels and customize F-IRC in detail by editing the configuration file.
Highlights:
- Autocomplete any number of user-defined words – just list them in the configuration file.
- The word cloud shows the most frequent words in your IRC chats.
Special Mentions:
While BitchX is a fairly popular command-line IRC client, ii (irc it) is unlike anything else on this list. It’s a filesystem-based IRC client that creates directories and files for every server and channel you join. Try it and see if you can handle the geekiness.
Don’t Miss A Thing
6. Quassel
IRC is great, but it does have a major flaw: you can’t see the messages that were posted in a channel while you were offline. Quassel solves this problem with its client-server approach.
The “core” (server) component of the application is constantly online, even when you close the client. When the client reconnects, the server shows you new messages since the moment you disconnected. If you dislike this functionality, Quassel works just as well as a regular IRC client.
You can theme Quassel with stylesheets, and organize opened chats with Custom Chat Lists. This feature lets you group IRC channels, separate private messages from status messages, and hide some types of messages.
Highlights:
- The backlog fetching option automatically loads the log for every chat session, allowing you to simply scroll back to read old messages.
- Quassel can display a website preview when you hover over a link in a chat.
7. Smuxi
Like Quassel, Smuxi relies on the client-server model to deliver messages you missed while offline. Apart from IRC, Smuxi can connect to Twitter, Facebook Chat, and Jabber/XMPP.
Two viewing modes help you manage multiple IRC channels. Caret Mode lets you navigate Smuxi’s interface with the keyboard, and Browse Mode lets you switch to other tabs in Smuxi without changing their state (for example, removing highlights or marking messages as read).
Smuxi is scriptable, so you can write hooks and plugins to expand shortened URLs in chats, print your currently playing song or your system information, and more.
Highlights:
- The Message Patterns option can convert common or recurring phrases into links, email addresses, or other user-defined text.
- Integration with Ubuntu messaging menu and GNOME desktop notifications.
Special Mentions:
With adjustments and plugins, Irssi and WeeChat can also be used for permanent IRC connections. If you’d like to play with a self-hosted solution, try The Lounge or Convos. Both IRC clients can stay online and ensure you don’t miss anything.
Tweak Every Detail
8. Konversation
Like a true KDE app, Konversation is completely customizable, and it cooperates with other KDE applications. It can integrate with the Kontact Address Book to show your contacts who use IRC. You can define multiple nicknames and identification methods for each IRC network you add, and quickly switch between them from the dropdown menu in the main chat window.
Konversation has a tabbed interface, and you can get detailed notifications about activities in each tab. It’s also possible to receive channel messages as notifications on your KDE desktop while Konversation is minimized.
Highlights:
- Every channel you join can use a different character encoding.
- Built-in scripts let you share weather information or the song you’re listening to.
- The URL Catcher tool can list and export all links from the selected channel.
9. Hexchat
A fork of the once-famous XChat, HexChat has everything you need without being too complicated. This is why many Linux distributions ship it as the default IRC client. You can set it to autojoin channels, and create aliases for IRC commands.
HexChat supports multiple authentication methods (SASL, NickServ…) and scripting with Perl and Python. The Preferences dialog offers plenty of interface-tweaking options, like custom colors and transparency. Extra tools for handling URLs and auto-replacing text snippets can be found in the Settings menu.
Highlights:
- The marker line feature lets you know where you left off in a conversation, dividing old messages from the unread ones.
- HexChat can notify you when certain words or usernames appear in an IRC channel.
10. Kvirc
At first glance, Kvirc might look dated, but it actually pays attention to appearance details. You can create a whole theme by tweaking input and output fonts, background and selection colors, and transparency. The window tiling option makes it possible to view multiple channels simultaneously.
With Kvirc, identity management is easy thanks to Network Profiles. This feature lets you create separate settings for each IRC network you wish to join.
Highlights:
- Create a Notify List of usernames to track, and Kvirc will let you know when those users are online.
- The Smart Encoding feature enables the use of two encodings at once, which is helpful if you’re chatting in different languages.
- To hide spam and undesirable content, apply word filters.
Other Cool Things To Do on IRC
1. Use Your Browser as an IRC Client
If you already spend a lot of time in your web browser, and you don’t want to install a separate IRC client, the solution is obvious. Access IRC from the browser! Kiwi IRC is a popular web-based IRC client, and a good choice for beginners. Alternatively, take a look at Riot, which we covered while it was still called Vector.
2. Connect to Slack
Since Slack is so heavily inspired by IRC, it’s only fair that you can access it from your regular IRC client. True, most of the options won’t be available, but you’ll still be able to send and receive messages. You can follow the instructions from Slack, or set up one of the third-party helper apps and plugins (wee-slack, Slack IRC Client, or slack-irc).
3. Connect to Twitch
If you watch gaming streams on Twitch, you probably know it’s possible to chat with other users. Did you know you can do this from any IRC client? The setup is relatively straightforward and well-explained in the official documentation.
4. Create Your Own IRC Channel
The real fun starts with your own IRC channel. To create one, pick a name, join the channel, and register it. That’s all!
You should have a registered nickname on that network, and you can check if the channel name you want is already taken with /msg ChanServ info ##channelname
.
Now you can invite users, password-protect the channel to make it private, or add some bots to it. There are many uses for an IRC channel: from hosting group chats and Q&A sessions to organizing a study group with your friends or setting up a helpdesk service for your company.
5. Have Fun With IRC Bots
IRC bots can make your channel more interactive and assist you in administration. You can use them for anti-spam protection and automatic banning, or to get statistics about the channel and its visitors. Bots can show local time for a selected user, fetch weather information and word definitions, and relay entries from RSS feeds.
You can use bots to organize trivia games on your channel, or for more serious business, to notify users about GitHub repository activity and new bug reports in a software project. Some bots can post content from the channel to Twitter, while others can link to Linux man pages and software documentation. They are relatively easy to program, so if you’re not happy with the existing IRC bots, you can always make your own.
SEE ALSO: 15 Best Free Backup Software for Linux
Try these IRC Clients for Linux but be safe!
Whatever you do on IRC, remember to stay safe. As anywhere else on the Internet, malicious users and “wannabe hackers” can appear in IRC channels, too. Don’t accept files from unknown users. You can also set up an ignore list or disable private messages to protect yourself. Of course, be polite and respect channel rules, and you’ll surely have a great time.
Now we’re interested in your thoughts about IRC. Do you still use it? What is your favorite IRC client for Linux? Tell us in the comments section below!