free, distributed and user-friendly IRC client with Twitter, and XMPP/Jabber support for Linux, Windows and macOS based on GNOME / GTK+

Frequently Asked Questions

How do I connect to SSL/TLS enabled IRC servers using stunnel?

First install the stunnel4 package:

sudo apt-get install stunnel4

Provide a stunnel config file:

cat << EOF | sudo tee /etc/stunnel/irc-freenode.conf
pid = /var/run/stunnel4/irc-freenode.pid
setuid = stunnel4
setgid = stunnel4
CAfile = /etc/ssl/certs/ca-certificates.crt
verify = 2

[irc]
client = yes
accept = 127.0.0.1:6667
connect = irc.freenode.net:6697
EOF

Restart the stunnel4 service:

sudo service stunnel4 restart

Now you need to tell Smuxi to connect to host 127.0.0.1 port 6667 in the settings of the IRC server. (Server -> Manage -> select an IRC server -> Edit)

Connect to the updated IRC server. After the connection was established you can check if you are connected using SSL/TLS by doing a /whois your own nick, e.g.:

/whois meebey

This will show the following output:

-!- meebey [~smuxi@123.123.123.123]
-!-  realname: Mirco Bauer
-!-  server: karatkievich.freenode.net [Montreal, CA, NA]
[671 (?) meebey] is using a secure connection
[378 (?) meebey] is connecting from *@123.123.123.123
-!-  idle: 6 [signon: 1/9/2017 4:08:03 PM]
-!-  End of /WHOIS list.

The "[671 (?) meebey3] is using a secure connection" line is the interesting one. It means we are connected using SSL/TLS.

What are the keyboard shortcuts for Smuxi?

Some keyboard shortcuts are visible in the user interface, but not all of them.

Thus here is a list of all shortcuts:

  • Alt + 1-0, Q-P: switches to chat window 1 to 10 and 11 to 20
  • Up/Down Arrrow: switch to previous/next entered message
  • Ctrl + L: moves the focus to the join bar in the top right corner
  • Ctrl + C/X/V: copy, cut, paste the selection of the chat buffer or message entry
  • Ctrl + W: close current chat window
  • Page Up/Down: scroll up/down the current chat window
  • Ctrl + Home/End: scroll to the begin/end of the current chat window
  • Ctrl + Page Up/Down, Ctrl + P/N, Ctrl + Tab/Ctrl + Shift + Tab: switch to previous/next chat window
  • Ctrl + Q: Quit Smuxi
  • F7: toggle caret mode
  • F8: toggle browse mode
  • F11: toggle fullscreen mode
I don't want to join channels manually - Is Smuxi able to remember which channels I like to join?

Yes, you can tell Smuxi several channels you want to join when connecting to a server.

From the menu go to Server --> Manage

Choose the server, to which you want to add the channel and click on edit. In the text box at the bottom of the window you may enter the channels you want to join like the following:

/join #smuxi,#smuxi.de,#debian,#ubuntu

This way you will join the 4 channels mentioned above.

Message Buffer settings: Buffer Lines, Persistency Type, what?

In Preferences -> Interface -> General you find various Message Buffer settings for Smuxi. This settings tell Smuxi where to store received messages you see in every chat. Each continuous text line in Smuxi is a single message (line wrapping has no influence).

Buffer Lines

This setting tells Smuxi's frontend how many messages a single chat should retain before the oldest messages get removed once it exceeds that value.


By default Smuxi shows up to 500 messages per chat before it removes them. If you increase this value, keep in mind that it will increase the memory usage!

Engine Buffer Lines

This setting tells the Smuxi frontend how many messages it should fetch from the engine when it connects.


This setting has no real influence to Smuxi in standalone mode (no smuxi-server). By default Smuxi fetches 100 messages per chat when connecting to a smuxi-server. If you increase this value, keep in mind that it will increase the time needed to sync with the smuxi-server.

Persistency Type

This setting controls which backend will be used to store messages.


By default Smuxi stores all messages in memory (see Volatile).

Volatile

Originally Smuxi could only keep messages in memory, thus many kept messages means high memory usage. Also if you restart Smuxi all messages will be gone.

Persistent

This uses the default persistent backend, which is/was Persistent Db4o.

Persistent (Db4o)

This backend uses a object database called Db4o.


It is known to have issues with high CPU usage and can crash your Mono runtime. We do not recommend to use it. It is in an experimental state and deprecated in favor of the newer SQLite backend (see below).

Persistent (SQLite)

This backend stores all message in a SQLite database. It is a preview feature but has no known issues.


Requires: Smuxi 0.12 or later

Volatile Buffer Lines

This setting tells how many messages should be kept in memory per chat if Persistency Type was set to Volatile

By default Smuxi keeps up to 200 messages per chat before it removes them. If you increase this value, keep in mind that it will increase the memory usage!

Persistent Buffer Lines

This setting controls how many messages per chat a disk based / persistent backend should retain before it deletes old messages if Persistency Type was set to any Persistent option.

By default Smuxi stores up to 50,000 messages per chat before it removes them. If you increase this value, your memory usage will not increase, but the amount of space needed in your harddisk.

Why do I get "The authentication or decryption has failed" on Linux?

You may have issues relating to authentication certificates in Mono resulting in an error that looks like this:

Connection failed! Reason: Could not connect to: irc.freenode.net:7070 The authentication or decryption has failed.

Here are some steps you can take to fix this.

Make sure you have the Mono SDK tools:

sudo apt-get install ca-certificates mono-devel

Next, import Mozilla's root CA certificates by running this bash command (do this as the user who is running smuxi-server, not as root):

for i in $(shopt -s nullglob; echo /usr/local/share/ca-certificates/*.crt \
    /usr/share/ca-certificates/*/*.crt); do certmgr -add -c Trust $i; done

Grab the "intermediate certificate" for the IRC network you're using. Example:

certmgr -ssl https://irc.freenode.net:7070

Even though you may see a * WARNING: Certificate signature is INVALID *, this is okay (it is a display bug in Mono's mozroots tool). Say "y" to import this certificate into the CA store.

Now, to work around a certificate store bug in Mono (Mono's fix here), create these two directories:

sudo mkdir -p /usr/share/.mono/keypairs
sudo mkdir -p /usr/share/.mono/certs

Another known issue are broken or unsupported CA certificates in the store. They can break the certificate chain validation! Run this commands to see if your stores are OK or not:

if certmgr -list -c -m Trust > /dev/null 2>&1; then \
    echo "Your system store seems OK"; else echo "Your system store is BUGGED"; fi
if certmgr -list -c Trust > /dev/null 2>&1; then \
    echo "Your user store sems OK"; else echo "Your user store is BUGGED"; fi

When both commands return OK, then you can go ahead. If one store says BUGGED then you can try this command that should remove all broken/unsupported certificates from your stores:

for i in ~/.config/.mono/certs/Trust/*; do \
    if ! certmgr -add -c Trust $i > /dev/null 2>&1; then \
        echo "Removing BUGGY certificate ($i) from user store"; \
    rm $i; fi; done
# remove known CAs that cause issues with Mono
for i in 9AAF297AC011353526513000C36AFE40D5AED63C \
         7571A7194819BC9D9DEA4147DF94C4487799D379 \
         155F35575155FB25B2AD0369FC01A3FABE1155D5 \
         9AD8003000E76B7F8518EE8BB6CE8A0CF811E1BB \
         B31691FDEEA66EE4B52E498F87788180ECE5B1B5; do \
    rm -f ~/.config/.mono/certs/Trust/ski-$i.cer /usr/share/.mono/certs/Trust/ski-$i.cer; \
done

If the first SSL connect works but every connect after that not, then you'll need to set an environment variable to keep TLS (the secure connection) from caching (fore more details see ticket #802). That means prepending MONO_TLS_SESSION_CACHE_TIMEOUT=0 to the command you use to start Smuxi. For example:

MONO_TLS_SESSION_CACHE_TIMEOUT=0 nohup smuxi-server &

For the standalone Smuxi without a smuxi-server, you would start Smuxi like this:

MONO_TLS_SESSION_CACHE_TIMEOUT=0 smuxi-frontend-gnome

After restarting your Smuxi engine connecting Smuxi to servers with Use Encryption (SSL/TLS) and Validate Server Certificate should work now for you.

If you still have issues feel free to join #smuxi on OFTC or Freenode for further assistance (idle there for at least a day so you can read the reply!).

How do I get a sound when someone highlights me?

Smuxi does not make use of any sound system/library as they are highly operating system dependent (Windows and OS X use something different than Linux and Linux alone has 3 different ones). Instead Smuxi relies on GTK+/GNOME to play a sound when a message with a highlight was received. You can enable this in the GNOME sound settings.


For GNOME2 you can find this in System -> Preferences -> Sound then switch to the Sound Theme tab, select a sound theme and alert sound from the list.


For GNOME3 you can find this in Your-Name Menu (top right corner) -> Settings -> Sound then switch to Sound Effects tab, set the alert volume to high and select the alert sound from the list.


For any other desktop environment (like KDE) you will need to make this setting using this console command:

dconf write /org/gnome/desktop/sound/event-sounds true
How can I type IRC colors or make text bold or italic?

The only way to enter IRC colors is by using their raw control codes by pressing ctrl + shift + u then space then 3 and then the number of a color.

0 is white for example, a full list of colors can be found here.

The official (m)IRC colors specification can be found here.

Bold is ctrl + shift + u then space then 2

Italic is ctrl + shift + u then space then 29

Underline is ctrl + shift + u then space then 31

How do I start Smuxi with another language?

Smuxi uses per default your OS language if it is available for Smuxi.

If you want to start Smuxi with another language, please have a look at Transifex whether the language you would like to have is already available.

On Linux/*BSD this would start Smuxi in English:

LANG=C smuxi-frontend-gnome

If you would like to use another language you could start Smuxi like this:

LANG=fr_FR.UTF-8 smuxi-frontend-gnome

Replace the fr_FR.UTF-8 part with the appropriate one for your language.

Why is Smuxi still not starting in the selected language?

  1. Make sure you have installed the respective locale
  2. Make sure your system is not overriding the selection
Where can I find the channel list?

The channel list can be opened from the menu Chat -> Find Group Chat.

As of Smuxi 0.8.9 you can also enter /list and it will show the Find Group Chat.

Browse Mode, what is special about it?

Imagine you want to have a look into another tab without the markerline to move. Or you want to scroll through the tabs without the tab status to change (remove highlight text color). The Browse Mode allows you to check tabs without interrupting any of the activity features. This way you will no longer tamper with your highlights.

This features is included in version 0.8.0 and greater