I picked up a used Thinkpad X1 Carbon 4th Gen (2016) on Craiglist a little over a week ago for $400 and I’m super pleased with it so far. Ubuntu 18.04 works pretty great out of the box, but with a few extra tweaks it’s even better.

Power Management

You’ll want to install tlp for power management first, as powertop will show you right away that most of the hardware isn’t power optimized out of the box. After doing the below, I’m getting about 6 hours (normal use with brightness around 60%) from a battery that only holds 80% of designed capacity.

sudo add-apt-repository ppa:linrunner/tlp
sudo apt-get update
sudo apt install tlp tlp-rdw tp-smapi-dkms acpi-call-dkms
sudo tlp start

Running sudo tlp-stat will give you a bunch of info; sudo tlp-stat -b is likely all you’ll care about.

You can also control the percentage the battery will charge to and the percentage threshold for charging to begin. If you keep your laptop plugged in a lot, you may want to consider setting the charge threshold to 75% and the max charge to 80% to prolong battery life with sudo tlp setcharge 75 80 BAT0. If you’re planning on needing more juice (e.g. getting on a plane), you can quickly revert to 100% charge with sudo tlp fullcharge. tlp docs say it should revert to the 75/80 profile on restart, but that doesn’t seem to work for me.

Fingerprint Reader

The Validity Sensors fingerprint reader on this model isn’t yet supported by the libpam-fprintd driver, however there is a forked version from Marco Trevison that gets the job done. If you already tried the main libpam-fprintd driver, just make sure you remove it and any PPA’s before doing the below.

sudo add-apt-repository -u ppa:3v1n0/libfprint-vfs0090
sudo apt update
sudo apt install libpam-fprintd

99% of the time I use either my right index finger or my right thumb, so to enroll fingeprints for those just run:

fprintd-enroll -f "right-index-finger" "$USER"
fprintd-enroll -f "right-thumb" "$USER"

If you’d rather enroll everything you can simply do:

for finger in {left,right}-{thumb,{index,middle,ring,little}-finger}; do fprintd-enroll -f "$finger" "$USER"; done

If you want to use your fingerprint instead of your password when you use sudo, you’ll want to run sudo pam-auth-update and use the ncurses interface to select “Fingerprint authentication.” Enrolling a fingerprint for your user should automatically enable fingerprint authentication as an option for logging into Ubuntu, but you can double that it’s enabled by opening “Users” in “Settings” and make sure “Fingerprint Login” is set to “Enabled”.