The laptop is a 14” Lenovo ThinkPad Edge, which I got in 2010. It has a i3 processor, 4 GB of RAM, and a 320 GB HDD (which is probably the weakest link in the current configuration). It’s definitely more powerful (and power-hungry) than a Raspberry Pi.
I skipped all the cool distros and just stuck with boring, reliable Ubuntu 20.04 (LTS). I didn’t see much advantage to using even a lightweight Ubuntu variant, since I’ll be typically interacting through the terminal. The initial installation and upgrades went without a hitch. I installed vim, tmux, and openssh-server. This distro has ufw running by default, so after starting sshd I opened up port 22 to be able to ssh in:
sudo systemctl restart sshd.service sudo ufw allow ssh
Next I configured the machine to continue running with its lid closed, making sure the following values were set in the file /etc/systemd/logind.conf:
HandleLidSwitch=ignore HandleLidSwitchExternalPower=ignore
The last thing I did on Day 1 was configure my router’s DHCP server to always assign the same IP address to this machine, based on its MAC address. I could configure it statically, since DHCP only uses a portion of the subnet, but I’ve gotten into the habit of setting up networking this way — it’s one less “gotcha” when you take a machine somewhere else (which probably won’t happen very often with this one).
I realize now that this is the only working computer in the house with an optical drive. I have a few CDs that I haven’t ripped yet, so I decided to set up Exact Audio Copy (EAC), a Windows program that is reported to work well under Wine. It feels silly to run Wine for a program that itself uses Cygwin, but EAC rips are generally considered the best, and I don’t have access to Windows.
I followed these instructions to install Wine:
wget -nc https://dl.winehq.org/wine-builds/winehq.key sudo mv winehq.key /usr/share/keyrings/winehq-archive.key wget -nc https://dl.winehq.org/wine-builds/ubuntu/dists/focal/winehq-focal.sources sudo mv winehq-focal.sources /etc/apt/sources.list.d/ sudo apt update sudo apt install --install-recommends winehq-stable
This pulled in the i386 versions of many packages. I ran winecfg (as a regular user) but didn’t change any of the settings. I was invited to install additional packages (mono and gecko) by Wine, and I did. This creates a wine environment in the user’s home directory. I’d probably give more thought to where I wanted that to live if I was going to use it frequently, but that’s not my plan.
Next I downloaded the EAC installer
The installer takes you through setup. It will ask you to insert an audio CD so that it can test the drive, so be sure to have one handy.
Ripping and FLAC compression are both working. I won’t go into details for EAC configuration, but by default it deposits ripped files into a directory that’s a symlink to ~/Music, which is convenient.
Since EAC is a GUI application, I’d like to someday set it up to automatically launch and rip any CDs that are inserted without additional interaction, but that’s a low priority. For now, I’m happy to be able to listen to CDs without being in my car.
General FYI: these updates are listed on an ordinal scale. I’ve been going a few day between doing anything noteworthy, just using the machine for day-to-day stuff.
At this point, I’ve logged in enough times with my password that I have it committed to memory, so I added my SSH key to ~/.ssh/authorized_keys. I suppose a lot of folks would do this right away, and there are good reasons for doing so, but I try to memorize my passwords first (I use diceware passphrases, and yes, I actually roll dice).
I’m annoyed at how much RAM gdm is using given that I never actually launch a desktop (gnome-shell alone is using 4% of my memory, according to top). This command disables the desktop manager on startup:
sudo systemctl set-default multi-user.target
If I wanted to switch back, I would replace multi-user.target back to graphical.target (worth noting if I give this laptop to somebody else). man 7 systemd.special does a fine job of explaining what’s going on; for instance, here I see that I would change the symlink of display-manager.service to something other than gdm.service if I want to quit using Gnome in favor of something more lightweight (which I might do). With the display manager disabled, the machine is much snappier (now the HDD is definitely the weakest link).
We own a “multi-function printer/scanner” (a Brother MFC-L2700DW, specifically). Decades after being promised a paper-free life, it still sees a good bit of use both as both a printer and a scanner (but never — not even once — as a fax machine). The good news is that laser toner lasts forever (and toner cartridges can be refilled), and office paper is compostable.
The machine features a “scan” button right on the unit, but it doesn’t work unless there’s a computer on the network configured to receive scans. I’m going to set up my old Thinkpad as the destination for these scans.
Here’s a direct link to Brother’s Linux drivers bundled as debs.
Since I don’t care about printing from this computer (for now), I only downloaded the “scanner driver” and “scan-key-tool” (selecting the 64-bit of each).
Install the scanner driver and make sure it can see your scanner (and find out your scanner’s IP if you don’t know it already):
$ sudo dpkg -i --force-all brscan4-0.4.11-1.amd64.deb $ brsaneconfig4 -q MFC-L2700DW [ 192.168.0.92] Brother_MFC-L2700DW_series
Now “add” your scanner (replace office_printer with whatever you’d like, and use your scanner’s actual IP address):
$ sudo brsaneconfig4 -a name=office_printer model=MFC-2700DW ip=192.168.0.92 $ brsaneconfig4 -q
Note: I don’t know what will happen if your scanner gets a different IP address via DHCP; it’s unclear if it will need to be reconfigured. I already set up DHCP address reservation for this printer because, otherwise, the Windows machines accumulate a huge list of identical printer entries with different IP addresses.
Next install and configure the “scan key tool” (or is it “scan skey tool”?):
$ sudo dpkg -i --force-all brscan-skey-0.3.1-2.amd64.deb $ brscan-skey $ brscan-skey -l office_printer : brother4:net1;dev0 : 192.168.0.92 Active
The brscan-skey command immediately goes into the background and runs as the user who launched it. We need to open up a couple ports, too.
$ sudo ufw allow 54921/tcp Rules updated Rules updated (v6) $ sudo ufw allow 54925/udp Rules updated Rules updated (v6)
On the printer, press the “Scan” button. Use the down button to select “Scan to PC” and hit “OK”. In my experience, it doesn’t matter what type of document you select, you’ll get a tiff no matter whether you select “OCR”, “Image”, or “File” (I’ve never tried “E-mail”). Select something, and then press “Start” and your document will be scanned (either via the feeder if there’s paper in it, or the bed otherwise). Files are sent to a (potentially new) folder named brscan within the home directory of the user who launched brscan-skey.
Eventually, I should set up a proper “service” so that this is always launched on startup, create a “brscan” user with restricted permissions, and set up file sharing so that it’s easier to get the scans. But this is a fine start: at least the scan button actually works now.
I doubt anyone will see this, but I feel like sharing an update anyway.
It’s been over a year since I moved across the country, and I finally feel settled enough to boot this up and get it back into service. But now the screen is flaky and iwconfig can’t find the WiFi interface. Looks like it was jostled too much during transit.
The case appears to use Phillips head screws, so I’m planning next to open it up and check if I can find any connections that were obviously loosened. Unfortunately this is a “on the weekend and only if my youngest is napping well and I don’t have more pressing chores” task. In other words, I have no idea if this will actually happen.
At this point, I have a laptop from work (a Mac Pro) and my personal laptop as my only working computers. My laptop is no spring chicken, so I’m a little worried about suddenly finding myself with no working computer of my own. I also have an unused Raspberry Pi 3. That’s set aside for a specific project that I may or may not get to some day, but maybe I’ll set it up with Raspbian. (Note, I wouldn’t support the Raspberry Pi Ltd. with a purchase today.)