Tweaking Elementary OS
Elementary OS has been my favorite desktop distribution for the past 2 years or so. Its out-of-the-box experience is very close to my preferred setup. Nothing is perfect though. Below are the tweaks I apply when installing Elementary OS 6.
The default Elementary OS install uses an encrypted ext4 partition. If you want to use encrypted btrfs, you're out of luck. The Custom Install will let you use btrfs, but not encrypted btrfs. My work-around is very simple, if a bit tedious.
First run the default install like you would normally do. This erases your disk and sets you up with an encrypted ext4 partition.
Boot the installer once more. This time, choose a Custom Install. Choose to manage your disks, which fires up gparted. Use gparted to Open Encryption on the encrypted partition. (You could do this on the command-line, but this is quick and easy.)
Convert to btrfs
Exit gparted and go backwards in the installer. Now choose to enter the Demo mode and open a Terminal.
Enter the following command to convert the ext4 root to btrfs:
sudo btrfs-convert /dev/mapper/data-root
This takes only a minute or so on a clean install.
Before rebooting, we'll need to update /etc/fstab. To access the file, we first mount our newly converted btrfs filesystem:
sudo mount /dev/mapper/data-root /mnt
We then determine the new blkid of the btrfs filesystem:
sudo blkid /dev/mapper/data-root
It will show you two ID's, you need the first one:
sudo blkid /dev/mapper/data-root [sudo] password for niels: /dev/mapper/data-root: UUID="dba6ca21-79e0-49c9-b889-c37d2ccb446a" UUID_SUB="27c5452a-7878-4357-8f95-596a08cab55b" TYPE="btrfs"
Now use your favorite text editor to update /etc/fstab:
PARTUUID=48e067c9-0a5e-4ad7-acb6-2313973188d6 /boot/efi vfat umask=0077 0 0 UUID=da66e7aa-9162-4550-b527-514a045759b0 /boot ext4 noatime,errors=remount-ro 0 0 UUID=dba6ca21-79e0-49c9-b889-c37d2ccb446a / btrfs defaults,noatime,autodefrag,compress 0 0 /dev/mapper/data-swap none swap defaults 0 0
Two things have been updated:
- The UUID, as obtained with blkid.
- The options changed from noatime,errors=remount-ro to defaults,noatime,autodefrag,compress
You should now be able to reboot into your Elementary OS install.
I'm not sure where this trend to remove the minimize button comes from, but it's easily brought back.
Add the Pantheon Tweaks PPA and install it:
sudo add-apt-repository -y ppa:philip.scott/pantheon-tweaks sudo apt install -y pantheon-tweaks
This adds a Tweaks icon in the System Settings.
All you need to do there is change the Window Controls Layout from elementary to the one you prefer. In my case the macOS one.
The default Elementary OS task switcher is a bit overwhelming. Using Catts we get a more traditional and calmer task switcher.
Please see the Catts page for instructions. (4 simple commands, unless you want to compile from source.)
Magic Trackpad 2 with Xorg
Not quite happy with the solution described in my original post, I took another look at the problem and found:
- Xorg defaults to the libinput driver (just like Wayland), not the synaptics driver.
- The libinput driver complained about a parse error in /usr/share/libinput/50-system-lenovo.quirks.
I ignored the parse error the first time around because I do not have any lenovo input devices on this computer and assumed the parse error would not affect other devices. However, a parse error in 1 quirks file, does cause all quirks files to be ignored.
Deleting the faulty quirks file resolved the issue. My Magic Trackpad 2 now functions properly with Xorg.
I've been using an Apple Magic Trackpad 2~~ with my Ubuntu desktop for the past two years or so. When using Wayland this works perfectly out-of-the-box.
Not so much with Xorg. It detects the trackpad and loads the driver, but the cursor won't move unless I press the trackpad at the same time.
Creating /etc/X11/xorg.conf.d/10-touchpad.conf fixed this:
Section "InputClass" Option "FingerLow" "2" Option "FingerHigh" "2" EndSection
If you have more - potentially conflicting - input devices you'll want to expand that to:
Section "InputClass" Identifier "Apple Magic Trackpad" MatchIsTouchpad "on" MatchUSBID "05ac:0265" Driver "synaptics" Option "FingerLow" "2" Option "FingerHigh" "2" EndSection
Use lsusb to check that the USBID is correct for your trackpad:
❯ lsusb ... Bus 001 Device 005: ID 05ac:0265 Apple, Inc. Magic Trackpad 2 ...
Whoops. I accidentally wiped the VM running my Wordpress blog.
I'm not a fan of microservice architectures like Jamstack as it tends to add complexity, cost and a dependency on potentially unreliable 3rd-parties.
That said, I don't need much functionality on my blog. This is JAMstack with very little J and no A. I may add comments at some point, but only if I can self-host them.
The founding developer of Wordpress, Matt Mullenweg, has this to say about it:
JAMstack is a regression for the vast majority of the people adopting it
Matt is biased, of course, but I agree with his arguments. Read them in more detail at thenewstack.io.