Archive | How to RSS feed for this section

Install the Riot desktop client on a Debian-based system

20 Jan

Riot is a messaging app that uses the Matrix decentralised communication network. It can be described as a Slack alternative.

It is available as a webapp from your browser, but you can also install a desktop client (which currently looks pretty much the same as the webapp) on a Debian-based system (i.e. all Debian, Ubuntu and Mint derivatives).

To do that, you need to type a few commands in a terminal.

First, you’ll need to add the right repository to fetch the packages from. To do that, open the sources.list file with your favourite text editor (Kate in my example; you might need to be root to be able to save your modifications):

sudo kate /etc/apt/sources.list

In that file, add a new line for the Riot repository, making sure you use the name of the Debian or Ubuntu version your distribution is based on (the list of available versions for this repo is here; for Linux Mint, see this list; in my example, I use “trusty” because my distro is based on Ubuntu 14.04):

deb trusty main

Then, download and add the corresponding key for authentication:

cd ~/Downloads
sudo apt-key add repo-key.asc

You can now update your repositories and install the app with the two following commands:

sudo apt-get update
sudo apt-get install riot-web



Start an 8-day data detox

20 Dec

Recommended to me by Mozilla, I started a Creative Commons-licensed “Data Detox” that was produced for the Glass Room London in 2017, and is curated by Tactical Technology Collective. It was originally a printed/PDF kit created for the Glass Room New-York in 2016.

I thought I might try that little exercise to see if I could learn something more about e-privacy. Turns out there were quite a few things that I did not know about, especially when it came to Google settings, and iPhone configuration. (I am currently using a salvaged iPhone 4 which does not want to die – better for the planet.)

The Data Detox runs over 8 days and runs you through little tasks you can follow to leave less of a data trail while using your Internet-connected devices.

It is of course not covering 100% of what could be said about e-privacy, but I was surprised at how much it taught me about a bunch of privacy settings in my Google account, and about location services in my iPhone. I would recommend following the detox even if you feel you have a good grasp of what you need to do to stay safe and anonymous on the Internet.

Here is a couple of things I would add to the tasks already offered by the Data Detox, in no particular order. Feel free to add those to the list if you feel motivated, or cherry-pick whatever you feel like doing.

  • Using a password manager like KeePassX (which is mentioned in the detox) is a good way to safely store a bunch of diverse and complicated passwords, but another benefit I have learned to appreciate is that it constitutes a record of how many accounts you own, and allows you to review which unused ones you could delete. Here’s a challenge: every time you add a new account and password, try to delete a different one (or two?) so you don’t build up a collection of them.
  • When reading your emails, start directly deleting the ones you know you will never go back to. That will make your email account less of a data trove waiting to be mined. Another benefit is that you are freeing some valuable storage space for your ethical privacy-respecting email account provider (because you use one, right?).
  • The Alternative App Centre that the detox recommends is good, but I would also recommend to have a look at the Free services that Framasoft offers (more directed at offering Free Software alternatives to the ones offered by the GAFAM: Google, Amazon, Facebook, Apple, Microsoft, i.e. the main huge data silos of the Internet), as well as the list of alternatives from PRISM Break (more directed at privacy-respecting apps to fight state surveillance). Another excellent website that lists alternatives, tools, add-ons and services to protect your privacy, along with valuable information, is
  • Related to the previous point, if you specifically want to get away from data-gathering social networks, I recommend two decentralised Free Software-based alternatives: Mastodon as a Twitter replacement, and Diaspora* as a Facebook replacement. They are both mature projects with a lively healthy community to interact with.
  • Finally, the detox probably didn’t mention it because of the technical knowledge required to set it up, but I’d also recommend looking into self-hosting your own cloud services. Nextcloud, YunoHost and Sandstorm are good starting points. You can also find a service provider that uses Free Software and guarantees to respect your privacy in exchange for some money. I am currently a happy subscriber of IndieHosters (they use Nextcloud for the most part) but you can find more providers on (at the time of writing, 48 providers mainly located in France).

Use Enigmail with Thunderbird 56 beta

12 Sep

If you are trying the sign and encrypt your emails with Enigmail (v. in my case) in the latest Thunderbird 56 beta (v. 56.0b3 in my case), you might run into a blocker:

  • In Enigmail Preferences > Basic > Files and directory, a simple “(error)” appears and there is no way to fix the path the the gpg binary with an override;
  • When you try sending an email, an error message pops up: “Failed to initialize Enigmail. Send unencrypted message?”;
  • When you click on the Enigmail button in the composer window, a window pops up and vanishes in a fraction of a second;
  • The error console (ctrl + shift + J) shows an error message: “Contract ID ‘;1’ was registered as a command line handler for entry ‘cline-enigmail’, but could not be created.”

The issue has been fixed in a development version of Enigmail, so you will have to install the Enigmail Nightly build (the version 2.0a1pre works for me).

To install a downloaded addon (as an .xpi file), you will have to go to add-ons > extensions > cog button > install add-on from file.

Fix “unmet dependency” issue for pulseaudio in KXStudio (and others)

18 Aug

[note: this tip will apply to other “unmet dependency” situations, but definitely not all of them]

If you are a user of the KXStudio repos, and use an environment rid of pulseaudio, you probably were disappointed to see that Firefox recently stopped supporting the ALSA backend. The issue came back recently for me, as Firefox 55 does not seem to have been compiled with the --enable-alsa.

If you are having the “unmet dependency” issue when trying to install pulseaudio-module-jack with apt-get, it might be an issue with conflicting package versions from different sources.

The following packages have unmet dependencies.
pulseaudio-module-jack : Depends: pulseaudio but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

If you use aptitude instead, you will get some more info:

The following packages have unmet dependencies:
pulseaudio : Depends: libpulse0 (= 1:4.0-0ubuntu11.1) but 1:4.0-0ubuntu11.1+kxstudio1 is installed.

The culprit seems to be libpulse0 here. In other cases, you might have to follow the thread of unmet dependencies down until you get to the bottom of it (as in the case of Wine in another similar situation I had).

You can see that the conflicting versions of the package are basically the same, so using one over the other should not cause issues. The problem here is that the KXStudio version has an extra long name to identify its source. You can now identify the different versions of the package that are available:

apt-cache policy libpulse0

… and force the installation of a specific version:

sudo apt-get install libpulse0=1:4.0-0ubuntu11.1

After that, you should be able to install pulseaudio-module-jack without running into any issue.

Remember to start PulseAudio in Cadence so sound comes out of Firefox (no need to restart anything).

Remove DRMs from Kobo’s KEPUB format

1 Nov

Kobo decided to go the proprietary Digital Restriction Management (DRM) way by providing some ebooks bought on their platform in their in-house Kepub format. This means that they can only be read on a Kobo device.

You might have noticed that, when trying to copy an ebook from your Kobo device to your desktop Calibre library, it tells you it can’t do that because the book is “virtual”.

You can actually remove the DRMs from that format by using a plugin called Obok, part of the great DeDRM toolbox provided by Apprentice Harper.

  1. Download the latest file from GitHub;
  2. Open Calibre (if you don’t have this amazing ebook management app already, install it);
  3. Install the plugin: `Preferences > Plugins > Load plugin from file`;
  4. Use the Obok plugin with your device plugged in: select the problematic Kepub ebook(s) and let it do its magic. You can now copy the ebook to your library without those pesky DRMs!

Learn more about the Kepub format on

This was tested with Calibre 2.71, Obok DeDRM 6.5.3 and a Kobo Touch with its software at version 3.19.5761.

Fix PGP error NO_PUBKEY when apt-get updating

28 Oct

It is common to find that a  sudo apt-get update does not do a clean job because of a couple of missing public keys. You might get something of the type:

W: GPG error: <a href=""></a> trusty InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 8BAF9A6F

Usually, it is possible to directly fetch the missing public key from a popular key server like Ubuntu’s:

sudo apt-key adv --keyserver --recv-keys PUBKEY

… where PUBKEY is replaced by the right identifier in your warning message.

That is usually enough and concludes with gpg: Total number processed: 1

However, if the key is not found on the server, you might have to look for it yourself. For example, in the case of the following error:

W: GPG error:  Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY F2AA0B1E5EF8303B

… the missing key was not available on the Ubuntu key server. I had to first check what exactly the problematic source’s URL looked like, which you can do by either using your distribution’s updater’s GUI (for example, Muon Update Manager > More… > Advanced … > Configure software sources), or by finding it in /etc/apt/sources.list or /etc/apt/sources.list.d/. In my case, the URL was, which is where I navigated to in my Internet browser to find a Release.key file.

Once you have downloaded that key, you can use the following command to add it to your keyring:

sudo apt-key add Downloads/Release.key

(Make sure you replace Downloads/Release.key with the right path/name.)

Now, you should be able to re-run sudo apt-get update and not run into any warning!

Add missing icons in Ring client

14 Sep

You might have noticed that your Ring desktop client (in my case, the ring package for an Ubuntu 14.04-based distro, version 20160908.1.07d3d92~dfsg1-1 at the time of writing, launched with the gnome-ring command) is missing some icons and shows a red “forbidden” sign instead.

Missing icons in Ring client

Missing icons in Ring client

I fixed that by simply installing a missing dependency called gnome-icon-theme-symbolic. You can do that by executing the following command in a terminal:

sudo apt-get install gnome-icon-theme-symbolic

Close and re-launch the client and the icons should be restored.

Fix two conflicting versions of Keybase

8 Sep

Not having updated keybase in a while (since 0.8.23!…), I ran into an issue after trying to get the latest version (1.0.17) as described on the website: an apt-cache policy keybase would tell me that I had the most recent version installed, whereas running keybase version would return the older one.

The problem is that keybase went from Node.js to Go, and the install method changed. The older version I had installed created a binary in usr/local/bin whereas the new version installed it in usr/bin.

You can see if that is your case by running the two following commands:

/usr/bin/keybase version
/usr/local/bin/keybase version

They should return different versions.

To fix that, you need to uninstall the older version with the following command:

sudo npm uninstall -g keybase

Then, run run_keybase and you should be good!

Install HWSD Viewer on an Ubuntu 14.04-based system

17 Aug

The Harmonized World Soil Database (HWSD) is a 30 arc-second raster database put together by a consortium of organisations: FAO, CAS, IIASA, ISRIC and JRC. It is a monumental collection of data about soil from all around the globe, and is therefore an important tool for researchers.

You can download the raw data or  visualise it on ISRIC’s online viewer, but there is a (closed-source) viewer app specially created to visualise, browse and query the data offline, the “HWSD Viewer”, which unfortunately was only developed for Windows.

To make the viewer work on and Ubuntu 14.04-based system (like KXStudio 14.04, but probably many other OS), you need to:

  1. Make sure you have Wine installed;
  2. Install the viewer, using the binary accessible from this FAO page;
  3. Install the missing runtime libraries thanks to Winetricks, with the following command:
winetricks jet40 mdac28

That should sort you out!

Specifically, what the Winetricks command resolves is:

  • The error message “This setup does not support installing on this operating system.” when trying to install MDAC from the Microsoft website;
  • The error message “Provider cannot be found. It may not be properly installed.” when the software realises Jet40 is not available.

HWSD viewer





Fix different locales being used in terminal output on Ubuntu 14.04(-based) distros with KDE

22 Jun

I was having an issue with a number of different languages being used simultaneously, and in a seemingly random fashion, in my terminal output (and in other apps), on my KXStudio 14.04 install. I remember having played around with locales a while ago, but I could not figure out how to go back to my terminal using only one language.

After searching for a bit, and figuring that /etc/default/locale wasn’t the source of the issue, I found that I had to edit ~/.KDE/env/ for it not to conflict anymore. It was specifically the following line that contained a bunch of different languages:

export LANGUAGE=en:fr:es:de

I replaced the series of language codes with the same value as the other lines, en_GB.UTF-8 in my case:

export LANGUAGE=en_GB.UTF-8

Save the script, and restart your computer. You should be good!

Hopefully this saves a few people some pain!

More on languages: this AskUbuntu question.