Tox: Text, voice, and video chats without a central server
Group Chats
Modern messengers need to support conversations with multiple contacts in addition to communication between two people. qTox offers the possibility to set up group chats for this purpose. The initiator of the chat group must have all the desired members as friends in their contact list. Now, tap the group chat icon below the contact list and then select the option to create a new group. The default name of the chat is Group name #1; use the context menu to rename the group appropriately.
In order for your friends to join the group, you have to send them an invitation. To do this, right-click the desired contact and select Invite to Group from the context menu. You can either use one of the previously created groups or create a new one directly. Repeat this step with all the contacts that you want to join the group chat. qTox will now notify your friends about the invitation. Once they accept the request, they can chime in. There is no chat log: If one of the contacts switches off their computer and thus the Tox client, they miss all the group messages sent in between.
Besides the classic text-based group chat, qTox also supports telephone conferences. To do this, tap the green phone icon above the chat history. At first glance, nothing changes, but as soon as the contacts in the group chat have enabled the telephony function, you can hear each other. Only people who enable this on their phones can hear the conversation. An option for video calls in a group is not available for qTox so far. The button for the video function is grayed out in the current version.
Advanced Functions
Tox's operating principle currently requires that both contacts on a call be online at the same time. The online status is visualized by a filled green or empty red dot to the right of the username in the contact list. Offline messaging is not yet supported by Tox. One of the reasons for this is that there is simply no central server that temporarily stores messages that cannot be delivered at the moment and then delivers them as soon as the addressee gets back online.
However, Tox users do not have to do without offline messages entirely. As a workaround, most Tox clients (including qTox) support pseudo-offline messages [13]. Write a message to a contact currently displayed as offline, and then the client keeps the message in memory. As soon as the contact gets back online, the program sends the reset message. Until then, qTox shows a rotating circle next to the text, which signals that delivery is still pending. However, that requires you to stay online as well.
The integration of real offline messages is on the developers' to-do list, as well as the possibility to use a Tox profile on multiple devices at the same time – for example, with qTox on the PC and in parallel with Antox on the smartphone. Currently, a profile can be exported and transferred to another computer, but clients with a copied profile must not be online at the same time. If you try it, Tox gets confused: Contacts come online and go offline again permanently, or messages and data transfers are lost.
Other Tox Clients
The Tox project maintains a list of compatible clients [14] on its website. The open source protocol underlying Tox allows independent developers to program additional Tox clients, and users have the opportunity to select a client that optimally fits their requirements. However, it is important to be careful when testing: Not all of the alternative clients have the same functionality as qTox. Depending on the stage of development, they may only support a feature subset (see Table 2).
Table 2
Tox Clients Compared
Function | qTox | uTox | Venom | Toxic | aTox | Antox |
---|---|---|---|---|---|---|
Contact management |
+ |
+ |
+ |
+ |
+ |
+ |
Chats |
+ |
+ |
+ |
+ |
+ |
+ |
Group chats |
+ |
+ |
+ |
+ |
– |
– |
Group chats (audio) |
+ |
+ |
– |
– |
– |
– |
Data transmission |
+ |
+ |
+ |
+ |
+ |
+ |
Screen sharing |
+ |
+ |
– |
– |
– |
– |
Audio chats |
+ |
+ |
– |
+ |
– |
– |
Video chats |
+ |
+ |
– |
+ |
– |
– |
Here are a few other things to know about these clients. Both qTox and uTox are reference implementations of the Tox protocol [15], and both applications are available for Linux, FreeBSD, macOS, and Windows. uTox has fewer dependencies than qTox as it does without the Qt framework and is more frugal with resources.
The Venom [16] client is optimized for Gnome. Venom is currently available as version 0.5.5 and integrates cleanly into the Gnome desktop as a GTK3 application, but voice and video chat support is not planned until release 0.6. Overall, the program cuts a good figure despite its young age. It clearly organizes the contact list and chats and already implements group chats (Figure 5). In the default configuration, Venom does not save anything except for the contact list; even the chats disappear into a black hole after the program is closed. To prevent this, go to the settings and then in the General tab, move the slider next to the Save chat history option to the right.
Toxic [17] is a text-based console client that can be found in the package sources of all major distributions. After installing the package of the same name, call Toxic from a terminal window via toxic
.
Toxic requires a little more explanation, because it's not immediately obvious how to access the different functions. An initial overview is provided by the help feature, which you call by typing /help
. For example, you can invite contacts via /add <Tox-ID> "Message"
. You can discover your own ID using the /myid
command. Ctrl+O and Ctrl+P let you switch between the status window, the contact list, and the individual chats, which are organized in tabs in Toxic.
Since Toxic does not necessarily require a graphical interface, Toxic can run on a server that is accessible via SSH, for example. You will always be online there and continuously reachable, so that you will never miss any group message. On a computer with a graphical interface, you do not have to do without audio and video chats despite working with a command-line program. /lsdev in
and /lsvdev in
, respectively, tell Toxic to list the input devices for image and sound that exist on the system. You can then use /sdev in <ID>
and /svdev in <ID>
to select the microphone and webcam.
You can then start a video call (with a picture) from an active chat with /call
or /vcall
. Toxic plays the corresponding videos in windows that pop up (Figure 6). In the default configuration, the program initially displays only the image of the other person; you need to explicitly enable your own camera with the /video
command. Toxic uses the minimum resolution of the webcam. With a command like /res <800> <600>
you can adjust the quality to utilize the available bandwidth and the technical limits of the webcam.
Antox [18] and aTox are clients for Android smartphones. Antox copes well with phone calls and video calls, but does not yet support group chats (Figure 7). If you try to invite a contact to a group via qTox, which is connected to the Tox network via Antox, this fails. The corresponding menu item is grayed out in the dialog of the program. This smartphone app has the advantage of being virtually always online. The capability for pseudo-offline messages is therefore of little consequence here. However, Antox still has a few issues to work out. Sending and receiving messages worked reliably in our tests, but opening a sent picture always resulted in a crash.
The alternative aTox [19] proves to be more stable: Chats and sending pictures and data worked without complications with the Android app. However, it cannot handle audio and video chats, nor can it handle groups. aTox does not even tell you that it does not support these functions. In qTox, for example, the invitation function (as opposed to an Antox contact) remains enabled, but the invitation simply fails. Moreover, the program is not yet available from any app store, neither on Google Play nor on the open-source F-Droid marketplace. Installation therefore relies on the APK file provided on the project's GitHub page.
« Previous 1 2 3 4 Next »
Buy this article as PDF
(incl. VAT)
Buy Linux Magazine
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters
Support Our Work
Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.
News
-
Red Hat Adds New Deployment Option for Enterprise Linux Platforms
Red Hat has re-imagined enterprise Linux for an AI future with Image Mode.
-
OSJH and LPI Release 2024 Open Source Pros Job Survey Results
See what open source professionals look for in a new role.
-
Proton 9.0-1 Released to Improve Gaming with Steam
The latest release of Proton 9 adds several improvements and fixes an issue that has been problematic for Linux users.
-
So Long Neofetch and Thanks for the Info
Today is a day that every Linux user who enjoys bragging about their system(s) will mourn, as Neofetch has come to an end.
-
Ubuntu 24.04 Comes with a “Flaw"
If you're thinking you might want to upgrade from your current Ubuntu release to the latest, there's something you might want to consider before doing so.
-
Canonical Releases Ubuntu 24.04
After a brief pause because of the XZ vulnerability, Ubuntu 24.04 is now available for install.
-
Linux Servers Targeted by Akira Ransomware
A group of bad actors who have already extorted $42 million have their sights set on the Linux platform.
-
TUXEDO Computers Unveils Linux Laptop Featuring AMD Ryzen CPU
This latest release is the first laptop to include the new CPU from Ryzen and Linux preinstalled.
-
XZ Gets the All-Clear
The back door xz vulnerability has been officially reverted for Fedora 40 and versions 38 and 39 were never affected.
-
Canonical Collaborates with Qualcomm on New Venture
This new joint effort is geared toward bringing Ubuntu and Ubuntu Core to Qualcomm-powered devices.