The Linux Setup – Chris Knadle, Engineer/System Administrator

I found Chris through a post on the Linux New York (LUNY) listserv. His description here of his tools and how he chooses them is great, as is his distro evaluation table. The interview is long, but there’s a lot of really interesting stuff stuff here, from the mechanical (how he uses KDE) to the conceptual (the social challenges of collaborative package maintenance).

You can find more of The Linux Setup here.

You can follow Linux Rig on Google+ here and follow me on Twitter here.

  1. Who are you, and what do you do?

    Short version: engineer/system admin/power user/gamer/amateur radio operator.

    I’m mainly an RF and electrical engineer, and a Linux system administrator (primarily on Debian these days). I’m also a programmer (C, C++, Qt, Bash, Assembly, on rare occasion Perl or Python, or various Macro languages in documents) but on a day-to-day basis I consider myself more of a “power user.” I’ve also active on 2m FM ham radio, gaming (mostly 3D FPS and RTS games) and I occasionally do woodworking, auto repair, embedded system programming, hardware design, and fly RC model aircraft. [In case anyone is over-impressed by this list, I’ll just mention that “I’m just a regular guy” — I’m friendly and I don’t have a big ego.]

    I’ve recently started to delve into Debian package development (mostly out of necessity, the mother of invention) and just recently set up my own private signed repository via the reprepro package, along with a custom keyring package, although I’m currently re-working some of the details.

    A couple of months ago I ended up having to do an NMU on the Mumble VoIP package after the maintainer broke the package (due to lack of upstream support for the required base assumption codec, CELT 0.7.1), then acted quite unkindly, leading to a conflict and a two-month heated discussion with the Debian Technical Committee, then forcing someone to do an NMU since the maintainer refused to help or communicate at all after the decision. Debian has it’s share of social problems—and unfortunately they don’t have a code-of-conduct like Ubuntu has. This social brokenness is the exception rather than the rule, but it’s an ongoing unhandled problem which Debian is well known for. And although Ubuntu has a social contract, that doesn’t really solve the problem because Ubuntu wants packages to go through Debian first. Same goes for Mint.

    However as part of the Mumble NMU work, I got in contact with a very pleasant Austrian Debian developer (Gregor Herrmann) who I briefly met in person during DebConf10 in NYC, and I’ve been slowly gaining a bit of helpful mentoring from him as part of our continuing discussions. I haven’t yet uploaded a Debian package of my own through debian-mentors so I’m not officially a maintainer of a package yet, but I likely will sometime during 2013. Maybe I’ll eventually apply for Debian’s New Maintainer process… we’ll see. I have plenty of interests that will still keep me busy if I don’t. 😉

  2. What distribution do you run on your main desktop/laptop?

    I run Debian Sid for my own desktops and laptops, along with a few packages from Debian Experimental as needed. For servers and other non-power users, I stick with Debian Stable.

    I started experimenting with Linux in late 1994 with Slackware, and finally started using it on the desktop in 1997 with the release of Window Maker, and it became my main desktop in 1998 after the release of KDE v1. I’ve mainly been using KDE ever since.

    Slackware was wonderful but too really troublesome to keep up-to-date (the procedure was “just reinstall” at the time — then download and recompile all the locally-compiled programs…). I did learn to configure and compile the Linux kernel during this time, which is something I still do today.

    I made the (somewhat painful) switch to Debian in August 1999, which was the Slink release. Back then Debian was painful to install because there was no kernel driver auto-detection — the installer would literally ask during the install for each kernel module that was needed. As I learned more about it I started to experiment with running Testing and Unstable, and I’ve been running Debian Unstable as my main desktop distribution since 2002 — I mainly started running it because it was what gets the most support from Debian developers. That it also happens to be the platform that all new Debian packages need to target is just a side bonus. 😉

  3. What software do you depend upon with this distribution?

    Debian-packaged external kernel modules: virtualbox-source, tp-smapi-source, nvidia-kernel-source (proprietary Nvidia driver 😦 for 3D support as well as TwinView for projectors/presentations)
    Kernel: custom-compiled (currently 3.5.7) to a Debian package from “vanilla” upstream source using the “linux-stable” upstream git repo

    Browser: Iceweasel (from Debian Experimental)
    CAD: LibreCAD, FreeCAD, and a commercial OpenGL CAD package (VariCAD) in a VM
    Desktop Environment: KDE4
    File Browser: Krusader
    Editor: Nano
    Image Editor: GIMP
    IRC Client: Irssi, Konversation
    Mail client: KMail
    Movie Viewer: SMPlayer (for DVDs), SMPlayer2, VLC
    Music Player: Qmmp
    Office Suite: LibreOffice
    PDF viewer: Okular
    Terminal: Konsole
    Torrent Client: KTorrent
    Version Control: Git, git-svn for working with svn repos
    Virtualization: VirtualBox, occasionally KVM
    VoIP client: Mumble

    Favorite games on Linux:
    Amagetron Advanced, FlightGear (via the FGo! program), Freedroid, Freedroid RPG, KMahjongg, KSudoku, Oolite, Prboom, Pynagram, Ur-Quon Masters

  4. What kind of hardware do you run it on?

    Laptop: Lenovo T61P-CTO ThinkPad
    Desktop: Pentium 4 custom built in 2001;
    Several other Pentium 4 and Pentium III desktops as well.

    My firewalls arerunning Debian too; they’re Alix boxes using the AMD Geode LX800 CPU.

    The oldest hardware that runs Debian are some Pentium II’s made by IBM (300XL). These were what I was using to duplicate servers in preparation for testing major Debian upgrades on servers before I started doing that work in VMs.

  5. What is your ideal Linux setup?

    The GUI choice of Xfce4, LXDE, and/or KDE4.
    Hardware that allows 3D capability (preferably using open source drivers, if possible).
    The distribution needs to allow updating to the latest version in perpetuity, rather than needing to reinstall, and run on both new(er), old, and /very/ old hardware. So far Debian seems best suited to these goals. If I had to choose an alternative it would probably be OpenSuSE, Vector, or Fedora.

    For laptops I want sleep and hibernation-to-disk, as well as the security of using full-disk LUKS encryption, preferably with LVM on top so that only one LUKS password is required, and XFS or ext4 for filesystem choice. XFS is fast but is prone to corruption on unclean shutdown and is troublesome to fsck/repair (it requires a LiveCD distro with cryptfs and xfs_repair on it). Ext4 is reliable but somewhat slower. I haven’t yet tried Btrfs.

    For KDE4 I immediately turn off the “Desktop Search” features of Nepomuk and Strigi Indexing, because these are incredible performance hogs that quickly make a KDE4 desktop sluggish. I leave the desktop settings as “desktop” with no folder plasmoid nor desktop icons, add plasmoids to the desktop for status of CPU, temperatures, and network throughput, and customize the taskbar as well. Lately I’ve added a “quicklaunch” bar on the left-side of the screen with programs I typically use so that I don’t have to go into the “K” menu as often. I also always switch the K menu to “Classic Menu Style” over the “Application Launcher Style.” I use some of the 3D compositing effects
    like “Cover Switch” for Alt-Tab switching and the “Present Windows” action when the mouse is put into the top-left corner of the screen, but I minimize using these features — so no wobbly-windows or exploding windows on closing, etc. I try to keep it simple and stick to the features that are useful yet non-distracting.

    A weird note about my use of KDE4: I don’t use multiple monitors, nor “activities,” and I generally don’t use multiple desktops either. Over the years I’ve simply gotten into the habit of letting the various program windows pile on top of each other and using Alt-Tab or the label in the taskbar to get to the program/window I want to get to at the moment. I don’t really know why I still do this and why this still works for me, because everybody else I talk to wants multiple monitors.

    On a related note concerning distributions — in March 2011 Mid Hudson Valley Linux and Open Source Users Group had a “Desktop Shootout” meeting discussing window manager and desktop environment choices which raised my interest in looking at them again. I then started to think about trying several other distributions to have a look at what they’re like now. In August 2011 I tried the top 25 free software distributions in the order that was listed by at that time, loading each of them in a VirtualBox VM. Here are some loose notes based on the experience.

    Chris Knadle's distribution evaluation chart

    * = distribution is Debian-based.

    1. Unity GUI is confusing… I don’t like it. 3D = runs poorly in a VM. The AppArmor security features are relatively nice, but Ubuntu targets newer hardware, and last I ran it, they didn’t support upgrades-in-place even though Debian (which is what they’re based on) does.
    2. Fedora 17 was pleasant and worth a look. SELinux by default is good, but it’s too complicated a solution, IMHO.
    3. OpenSUSE was surprisingly pleasant and snappy — definitely worth a look. Definitely one of my personal “top 5 distros.”
    4. Arch Linux has SUPERfast package installs. However there’s no graphical installer, I couldn’t get the sound working, and some of the instructions were wrong concerning installing Grub2; the “Beginners Guide” is correct.
    5. Puppy is very light and quick, but I didn’t find a way of installing the packages I needed.
    6. PCLinuxOS gave me packaging trouble, and when I looked at the /etc/apt/sources.list file I was horrified to find only “rpm” lines. :-O A Debian packaging tool using RPMs? Sacrilege.
    7. Ultimate ran terribly; it’s “max 3D” which in a VM means “max slow.”
    8. Pear was wonderful to see, because the entire GUI emulates an Apple Macintosh, except the Apple is a Pear. Seriously, it’s cool.
    9. FreeBSD doesn’t install a GUI by default, and doesn’t seem to tell you how to do so, either. It’s not that you can’t, it’s just that I didn’t figure it out even after web searching. Not cool.
    10. Gentoo. This is where I want to start cursing. The base install and KDE 4.8 was a *three full day compile* on a Core2 duo using both cores and carefully following the instructions, plus having to figure out emerge command line options to deal with unexpected dependency issues. After all that, I couldn’t get X to start so the whole experiment was a big waste of very hot CPU time. Ultimately frustrating. Gentoo advocates are quick to point out that the distro is the fastest of them all—which let’s just say it is—yet it gets there by way of massive CPU time, such that the result is false economy.

      The Gentoo project has a lot of great documentation on the web, and I greatly respect their developers and their choice of OpenRC as an initialization system, but running the Gentoo distribution is not for me.

    11. Vector is Slackware-based, but with package management. This distro was fun and snappy—enough that I gave serious consideration to keeping it loaded and continuing to play with it.
    12. Knoppix is my personal favorite Debian-based LiveCD distro, so I kept it in the list even though it wasn’t in the top 25 on DistroWatch.

    Other notes:

    • Many of the Debian-based distributions allow running as a LiveCD and updating/installing packages into memory while still running the LiveCD (i.e. this doesn’t alter the contents of the hard disk at all).
    • Distributions that require 3D for the GUI (Ubuntu, Ultimate) are a pain because that causes the GUI to be very slow in a VM.
    • Some of the installer/updaters in the distribution were difficult to use or made it difficult to search for a particular package (Fuduntu, SolusOS).
  6. Will you share a screenshot of your desktop?

    The 3D CAD drawing is a corner desk I custom designed and built some years ago which is very strong, yet can be disassembled, moved, and reassembled without any damage to the wood whatsoever. It’s built from three sheets of oak ¾" ply, two pine 2×4’s, and some decorative ¾" quarter-round, using ½" deep screw-in wood insert nuts for locations to bolt to (McMaster Carr calls these “Tapping Hex Drive Insert Nuts with Flange”). I tried to find something reasonably priced before doing this but didn’t find what I needed. Total cost to build was in the range of around $300. I’m using the desk to this day, and I’m still very glad I built it.

Chris Knadle's desktop

Interview conducted January 9, 2013

The Linux Setup is a feature where I interview people about their Linux setups. The concept is borrowed, if not outright stolen, from this site. If you’d like to participate, drop me a line.

You can follow Linux Rig on Google+ here, follow me on Twitter here, and subscribe to the feed here.