Debian: Post-Install Goodies

Today we’re going to delve into the things I do after a fresh install of Debian Stable. A lot of this I have automated using Ansible playbooks but you may not need this type of solution for your own uses so I’ll detail some of these things for the sake of clarity.

Deb Multimedia

You don’t need to use this but you’re limiting yourself if you don’t. This repo contains a lot of the things Debian can’t ship with for licensing reasons. The really useful things here are multimedia codecs.

$ wget http://www.deb-multimedia.org/pool/main/d/deb-multimedia-keyring/deb-multimedia-keyring_2016.8.1_all.deb
$ sudo dpkg -i deb-multimedia-keyring_2016.8.1_all.deb

Next you’ll need to specify a mirror so here’s my /etc/apt/sources.list.d/multimedia.list:

# Deb Multimedia
deb http://mirror.it.ubc.ca/deb-multimedia/ buster main non-free
deb-src http://mirror.it.ubc.ca/deb-multimedia/ buster main non-free

It’s also worth shamelessly plugging a previous article I’d written about updating Debian like a pro but not a real pro. The knowledge you’ll assuredly glean from it will do you wonders here.

Less Restrictive dmesg Command

By default the kernel in Debian is built with CONFIG_SECURITY_DMESG_RESTRICT which limits the dmesg command to accounts with elevated access and via sudo. Leaving this alone on a server where multiple users have remote shell access is probably a good idea but I disable this on my workstation and laptop.

Here’s my /etc/sysctl.d/local.conf:

# Allow non-privileged users to execute "dmesg"
kernel.dmesg_restrict = 0

Save that as a filename of your choosing under /etc/sysctl.d/ then load it using:

$ sudo sysctl -p /etc/sysctl.d/local.conf

Which should give the following output:

kernel.dmesg_restrict = 0

After this you should be able to execute dmesg as your regular user.

Disable PulseAudio’s flat volumes

A little bit of searching will show just how terrible an implementation this was from a design perspective. The gist of it is if you adjust the volume in an application it also adjusts the master volume at the same time. Yes, a terrible idea and especially when using headphones where you may not realize that your system’s master volume has been set at 100 and not just in the application you set that volume at but I digress.

For some reason Debian ships PulseAudio with this enabled so let’s get rid of this behaviour.

Here’s my /etc/pulse/daemon.conf.d/00-disable-flat-volumes.conf:

# Disable flat volumes
flat-volumes = no

After you’ve saved this file it should be loaded right away and you can confirm it with the following command:

$ pulseaudio --dump-conf | grep flat-volumes

Which should output:

flat-volumes = no

Disable Recent Documents

For personal reasons, recent documents are annoying so let’s fix this. I’m an XFCE user which means everything I use is GTK-based so we’ll do this with two configuration files. One of them handles software still using GTK2, the other for GTK3.

Here’s my ~/.gtkrc-2.0:

# Disable recent documents
gtk-recent-files-max-age=0

And here’s my ~/.config/gtk-3.0/settings.ini:

# Disable recent documents
[Settings]
gtk-recent-files-max-age=0
gtk-recent-files-limit=0

Welp, That’s It

I’m sure there are more of these I could cover but we’d be getting into things that have been documented countless times before. I really just wanted to do a few integral ones for my own uses that I don’t see covered as much as far more common ones.

Cheers.