Tom Smeding's "blog"

For any given task that enough people have wanted to do before on a computer, there is a multitude of tools available to perform that task on Linux. Here is a small list of cherry-picked ones that I tend to forget. As I use Arch Linux, some may be Arch-specific.

  • pulseaudio-equalizer-ladspa. [Arch repos] Assuming you use PulseAudio, if you want to run a very simple equalizer over whatever comes out of your speakers, use this package. The GUI executable is called pulseaudio-equalizer-gtk.

  • nload. [Arch repos] For nice graphs/statistics on current network usage (mbits incoming/outgoing). To show all interfaces, invoke it as nload -m; to show only a single interface, use e.g. nload enp3s0f1.

  • paccache. [in pacman-contrib] To flexibly purge package files from the Pacman cache. Pacman proper has --clean, but paccache allows you to remove e.g. all but the most recent three versions of all packages, ignoring stuff related to nvidia:

    paccache -r -k 3 -i nvidia,nvidia-settings,nvidia-utils,opencl-nvidia,linux,linux-firmware,linux-headers,cuda
    Also check out the other scripts in pacman-contrib, like pacdiff and rankmirrors.

  • pdfpc. [Arch repos] Lightweight PDF presenting, with even some really esoteric features like detecting animated slides in a LaTeX beamer presentation (that doesn't really work in my experience). Multi-monitor support.

Here's a couple that I wrote myself.

  • sound-manager. [git] TUI over the PulseAudio pacmd interface for changing volume of microphones (sources), speakers (sinks), and applications using those, as well as reassigning applications among those streams.

  • acpi-inhibitor. [git] A systray app in Rust that uses systemd-inhibit to block laptop close signals. Can be turned on and off from the systray icon.

  • display-manager. [git] Small popup window using zenity to select what multi-monitor configuration to enable in xrandr. If you have a different setup from mine, you probably have to modify the presets in the script (which is only ~100 lines of Python).

  • rid3v2. [git] ID3v2 tag editor (i.e. track metadata in mp3 files) in Rust. Written because the id3v2 utility has bugs relating to encoding of non-ASCII characters.