Go Debian Testing!

May 21, 2018

  Linux Debian Setup

Kevin Cazelles  

David Beauchesne  


For almost a year now I’ve being spending most of my computer time on Debian. I began with Debian Stretch and switched to Debian Testing two months ago. This was another good opportunity to gain skills and I’d like to report about my transition in this post.

What really happened?

The hope of a seamless transition

Last Easter, after a couple of months on Debian Stretch, I felt like the time had come for me to go Debian Testing. I was actually enjoying Debian Stretch and I was able to manage to get up-to-date versions of certain software when desired (detailed in my previous post) but after a couple of online readings I was convinced that being on Testing was a fairly reasonable step forward that would just make my live easier.

So, following the instructions on the wiki, I changed my /etc/apt/sources.list file (see also the Debian handbook for more details):

# main repo
deb http://debian.mirror.rafal.ca/debian testing main contrib non-free
deb-src http://debian.mirror.rafal.ca/debian testing main contrib non-free

deb http://security.debian.org/debian-security testing/updates main contrib non-free
deb-src http://security.debian.org/debian-security testing/updates main contrib non-free

# testing-updates, previously known as 'volatile'
deb http://debian.mirror.rafal.ca/debian/ testing-updates main contrib non-free
deb-src http://debian.mirror.rafal.ca/debian/ testing-updates main contrib non-free

I then entered sudo apt-get update && sudo apt-get upgrade in a bash terminal and got:

Many, many upgrades! They were expected and I therefore proceeded and entered Y which triggered the downloading of the required files:

A few messages popped up to warn me about major changes during the installation process, for instance for PostgreSQL:

and back-up manager:

A (minor) delusion

This first 1524 upgrades took 29 minutes (not bad at all) and I thought it would be that easy! But after some time on Debian and given the subsequent changes I’ve made, migrating to Testing required further steps as I had a couple of packages kept back.

To install the rest of the packages, I cautiously installed them using sudo apt-get install:

If I recall correctly, I proceeded as follows:

  1. sudo apt-get install firstPackagekeptBack
  2. Do some packages remain kept back?
  3. if yes go back to 1

I don’t think this is the best approach, as I could have either copy-pasted the full package list to install them all at once or use the dist-upgrade command instead. But it worked:

“Yeah!! all right, all done, all good!🔥” I naïvely thought at that stage.

My ❤️ stopped beating… for a few hours only!

What do you do when all is installed? Well, you reboot, right? And so I did! The logging page actually looked the same but once logged in there was a nightmarish blue screen (you know, the kind of screen Windows is famous for!) 😱! My GNOME desktop environment had disappeared 😱! Here began a few hours of confusion… I actually felt a bit lost, which is why I did not take any screenshot or note about what was happened in the aftermath but I recall more or less what I did to solve this mess (a mess that I was of course responsible for!).

First of all I learned very helpful shortcuts that allow the user to switch from his desktop environment to the Command Line Interface (CLI): ctrl + atl + f2 and conversely ctrl + atl + f3. Even though I was not able to use GNOME I was able to see what was happening using the CLI. I searched on the internet (I had another computer) for a solution and there I learned how to check the status of the display managers. For instance, for the Gnome Display Manager (gdm):

❯ systemctl status gdm

This is how I came to realize there was something wrong with GNOME (see https://unix.stackexchange.com/questions/204387/debian-not-booting-into-gui). At that point, I decided to install another display manager (I do not understand why 😄). I chose lightdm. I was relieved that everything was working just fine (no more weird blue screen) but I really wanted my GNOME back and so I reinstalled it:

❯ sudo apt-get install --reinstall gnome3

The re-installation went well but it was still not working… until I removed lightdm, which I cannot explain… But in the end GNOME was back, the update was completed!

Given what I went through, I think it is worth spending some time reading about the different graphical desktops Debian offers. I recommend reading the section of the Debian Handbook on the topic, and this article for Ubuntu users that interestingly asserts:

In Ubuntu 16.04, make sure to choose lightdm as the display manager when prompted. Choosing gdm, sddm, or another, will break the installation.

By the way, note that echo $DESKTOP_SESSION indicates the desktop environment you are currently working with and if you are eager to change the user display manager you have to reconfigure a display manager package, e.g. dpkg-reconfigure gdm3 (in su mode).

What about my new setup?

Kernel and GNOME version

As in my first post, I use inxi below:

❯ inxi -S

Previously, the command returned:

System:    Host: debian Kernel: 4.9.0-5-amd64 x86_64 (64 bit) Desktop: Gnome 3.22.3
           Distro: Debian GNU/Linux 9 (stretch)

Now I get:

System:    Host: debian Kernel: 4.15.0-3-amd64 x86_64 bits: 64 Desktop: Gnome 3.28.0
           Distro: Debian GNU/Linux buster/sid

Actually, there was a recent kernel update, so currently I am on:

System:    Host: debian Kernel: 4.16.0-1-amd64 x86_64 bits: 64 Desktop: Gnome 3.28.1
           Distro: Debian GNU/Linux buster/sid

New theme and new cursors and top icon

I keep using the same theme that I used on my Debian Stretch setup but I further customized it:

  1. I chose the Vimix theme and I added the user theme that was disabled,
  2. I added a shell extension: Topicons Plus
  3. I chose a new set of cursors: Capitaine Cursors

Regarding 1 and 2, find below my setup on GNOME tweak:

Regarding 3, it took me few extra steps as I was not able to retrieve the cursor directly from GNOME-Look:

  1. I cloned the repo

  2. I double checked on the Internet how to proceed (see )

  3. Once the repo cloned, I used the following command lines:

❯ cd path/to/the/cloned/repo
❯ mkdir /usr/share/icons/CaptaineCursors
❯ cp -r dist/* /usr/share/icons/CaptaineCursors/
  1. Then I rebooted

  2. I selected then new cursor in the list of cursors on GNOME tweak.

The image below show what my Desktop environment currently looks like (I use one of the default wallpaper)

I like it that way!

Software - a few notes

Newer versions - four examples

Software Command line Stretch Testing (April 2018)
LibreOffice libreoffice –version 20m0(Build:2) 00m0(Build:1)
ImageMagick convert –version 6.9.7-4 Q16 x86_64 6.9.9-34 Q16 x86_64
PostgreSQL psql –version 9.6.7 10.3 (Debian 10.3-2)
GIMP gimp –version 2.8.18 2.8.22

About Firefox

Well Debian Testing does not offer Firefox 60-X via aptitude yet and there are actually ongoing discussions about this on the Debian developer mailing list. While I am still using Firefox 52-X and am satisfied with it I wanted to install the last version. As suggested by the Debian wiki, I first installed the package manager snap:

❯ snap --version
snap    2.32.5
snapd   2.32.5
series  16
kernel  4.15.0-3-amd64

and then installed Firefox via snap:

❯ snap install firefox

About R

Being on Debian Testing means the backport I previously used was no longer required! So I dropped it! R 3.4.4 is the last R version available via aptitude and I am patiently waiting for 3.5.0. If you search about this, you’ll find active discussions about this migration.

About Sage

I used to have Sage installed:

❯ sage -v
SageMath version 7.4, Release Date: 2016-10-18

Unfortunately, recent versions are not available for Testing (see Debian wiki). Even though I subscribed to the stable repositories (sources):

❯ apt-cache policy sagemath
  Installed: (none)
  Candidate: 7.4-9
  Version table:
     7.4-9 500
        500 http://ftp.debian.org/debian stable/main amd64 Packages

I am not able to install Sage:

❯ sudo apt-get install sagemath      
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 sagemath : Depends: ecl (>= 15.3.7+dfsg1-2) but it is not going to be installed
            Depends: libflint-2.5.2 but it is not going to be installed
            Depends: libflint-arb1 but it is not going to be installed
            Depends: libgsl2 but it is not going to be installed
            Depends: liblinbox-1.4.2-0 but it is not going to be installed
            Recommends: texlive-latex-base but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

😢 Well I guess my option is to cherry pick Sage from Unstable… I’ll let you know if I do such move.

Useful resources

Answers to questions I had in my mind

I had questions, I found answers, let me share:

❯ settings get org.gnome.settings-daemon.plugins.media-keys max-screencast-length 60


I like being on Testing and I guess I’ll stay on it for a while. The natural next step for me is to be able to efficiently cherry pick packages from Unstable. It sounds pretty straightforward according to the Debian Handbook by I’d like to read a bit more before any new transition! I’ll keep you blogposted!


My MacOS Setup July 13, 2018

MacOS Setup