i did a very stupid thing and broke my linux mint graphical desktop

Fortunately, after several attempts, I recovered it.

This stupid thing started when I wanted to remove all packages related to TeX, an ancient typesetting application first published by Donald Knuth back in 1978. I got into TeX around the mid-1980s via DEC Ultrix (BSD) running on a MicroVAX 2. That system was at a place where I worked at the time. Once I left that employer I no longer had access to any version of Unix, nor the tools that could be installed on it like TeX. The next time I was exposed to TeX was a decade later via Linux. That exposure was very brief and I haven’t touched it in over 25 years of continuous Linux use.

Today I got an alert via the Linux Mint Update Manager that I had a number of packages needing updating. Several of them involved TeX support libraries. Since I don’t use TeX and don’t care for it on my system, I went on a sudo apt purge ... rampage and removed everything I could find (using apt list --installed | grep tex). One library I removed and should not have was untex. Apparently the Cinnamon desktop has a critical dependency on untex, so that when it was removed so were a number of Cinnamon binaries. After a few bumbling attempts I got the Cinnamon desktop working with sudo apt install cinnamon (not sudo apt reinstall cinnamon). Everything is now back to normal. The experience has left me with an even bigger dislike (if not outright hatred) for TeX.

But… I was able to repair this self inflicted wound in short order, which goes to reinforce my assertion that a bad day with Linux is infinitely better than a good day with Windows. I’ve lost Windows desktops in the past and had to perform a full install of the OS, losing quite a bit in the process.

rust-lang based tools: bat, dust, zellij

Terminal running zellij

Environment: Ubuntu 23.10 on a Raspberry Pi 5 8 GiB with the full Rust toolchain installed.

I’ve been exploring the world of Rust recently. Rust isn’t just a language, it also seems to be an environment for nurturing interesting creativity. I’ve been working with products of that Rust-inspired creativity: zellij, bat, and dust.

zellij ( https://zellij.dev/ ) is an alternative to tmux ( https://github.com/tmux/tmux/wiki ). I’ve begun to use it here, with nvim, as a very lightweight alternative to full blown Visual Studio Code for rust development. I can also use it to quickly cobble together a set of views in one terminal to keep track of multiple tools looking at a wide range of system statuses. Having it all fit in multiple zellij panes is easier on the resources than having multiple independent terminals I have to keep track of on the desktop. I personally find zellij easier to use than tmux. In the first screen capture, I’ve got neofetch, btop, and duf in three individual panes in a single terminal instance. Installation is cargo install zellij.

Zillej with two panes, bat on the left, nvim on the right.

I’m contrasting bat ( https://github.com/sharkdp/bat ) with nvim to show how close, yet how different they are visually. I prefer bat over cat, and have cat aliased to bat in my environment. Sometimes all I want to do is just read a text file, and bat does it so well. Installation is cargo install bat.

Zilleg with bat on the left and dust on the right.

Finally there’s the Rust version of du, dust ( https://github.com/bootandy/dust )With dust I get a much clearer view of disk usage at any point in the filesystem. Regular du only provides byte sizes, while dust gives you a relative size graph to the right and a partial tree along with the space usage in each branch of the tree. And dust is fast. It’s the fastest utility of its type I’ve ever used. I won’t say it’s fast because of Rust, but probably a combination of clever design, coding, and Rust. Installation is cargo install du-dust.

I’m no Rust language expert. But I am growing to appreciate it as a personal tool builder as well as the foundation for excellent command line tools. I am exploring more every day as I grow to trust the current batch I’ve got installed on all my systems, both Linux and macOS.