Switching from Tilix to WezTerm

Tilix is a tiling terminal emulator for Linux. It supports splitting panes, named sessions, and a password manager integration. Tilix is not in the CachyOS repositories, though it is available in AUR, but requires gtkd which also has to be built from AUR (and has been broken several times). Tilix also have some issue if the terminal gets too busy, namely using a lot of CPU. WezTerm is the replacement chosen, it is GPU-accelerated, actively maintained, and configured entirely in Lua. ...

April 3, 2026 · 8 min · alj

Adding Brave support to Profile Sync Daemon

Profile Sync Daemon (psd) moves browser profiles to tmpfs, reducing disk I/O and speeding things up. It ships with support for a number of browsers, but Brave is not always among them. Fortunately it is easy to add. Browser support files live in /usr/share/psd/browsers/. Each one is a small shell snippet that tells psd the process name and profile path for that browser. Create one for Brave: $ sudo tee /usr/share/psd/browsers/brave << 'EOF' # Profile-sync-daemon browser support for Brave DIRArr[0]="$XDG_CONFIG_HOME/BraveSoftware/Brave-Browser" PSNAME="brave" EOF Then open ~/.config/psd/psd.conf and add brave to the BROWSERS array: ...

March 25, 2026 · 1 min · alj

Hibernation on CachyOS with GNOME, GRUB, btrfs and FDE

This covers setting up hibernation on CachyOS with GNOME, GRUB, btrfs, full-disk encryption (LUKS unlocked at the GRUB prompt), and zram already in use. Verified on a Lenovo ThinkBook with GNOME 49. Written for CachyOS, but most of this should apply to other Arch-based distributions. A few caveats: CachyOS ships with a systemd-based initrd and zram enabled by default — if your distribution uses a busybox-based initrd (i.e. base and udev hooks rather than systemd), you will need a resume hook in mkinitcpio instead of relying on systemd’s native resume handling. The efivarfs sleep hook in Step 5 is firmware-specific and not distribution-specific. Distributions that use GRUB with LUKS and btrfs in the same way as described here should be able to follow this guide without modification. ...

March 22, 2026 · 8 min · alj

Using proxy pac with Chrome (and derivatives) and Linux

As many people know, Chrome (and other browser based on Chromium, at least Brave and Edge) still rely on the desktop’s proxy settings on Linux (I remember writing about this back in 2011). Under normal circumstances, it is as easy as running the program with --proxy-pac-url commandline switch, like so: $ brave --proxy-pac-url="https://example.com/proxy.pac" But what if you want to use a local file? At some point (around Chrome 77 it seems), Chrome stopped accepting file:// URLs for --proxy-pac-url. ...

February 7, 2021 · 1 min · alj

Implementing SRS with Mailcow

Preface Mailcow is an awesome self-hosted, container-based email solution. SRS (Sender Rewriting Framework) (from Wikipedia): For a mail transfer agent (MTA), the Sender Rewriting Scheme (SRS) is a scheme for rewriting the envelope sender address of an email message, in view of remailing it. In this context, remailing is a kind of email forwarding. SRS was devised in order to forward email without breaking the Sender Policy Framework (SPF), in 2003. ...

December 30, 2020 · 4 min · alj

Installing Pulse Secure client in Ubuntu 16.04+

Update 2021-01-03: I haven’t used Pulse VPN on Linux since August 2018, so I don’t know if these instructions still work or are needed. First off, you need to obtain the Pulse Secure client as a deb file from your network administrator. I have version 8.2R5. For some reason the client does not list any dependencies when installing so you must install the needed (32 bit) libraries by hand (PulseClient.sh does not work without changes): ...

October 31, 2017 · 1 min · alj

Change the default terminal emulator in GNOME 3

After using Linux Mint with Cinnamon for a long time I am now back with Ubuntu with GNOME (reluctantly, I may add). One thing I have noticed is there does not seem to be an option in the settings to change your preferred terminal emulator. Luckily it can be changed in several other ways, The generic fix in a terminal, write $ gsettings set org.gnome.desktop.default-applications.terminal exec tilix In this case I have changed to the Tilix terminal emulator. ...

October 29, 2017 · 1 min · alj

Installing Linux Mint/Ubuntu desktop edition with full-disk encryption and LVM

(This guide applies to any Debian/Ubuntu based distribution) For some reason (complexity perhaps) it is not possible to configure full-disk encryption and LVM from the graphical installer in the desktop edition. It is possible to select full-disk encryption but this only creates one filesystem (root). I want to use LVM to allow me to have more than one filesystem without having to enter more than one password during boot-up. It is not impossible to install Ubuntu desktop (or Linux Mint as in this guide) with encryption and LVM but it does require a little more work. ...

January 7, 2017 · 3 min · alj

Moving virtual machines from KVM to ESXi 6.0

I’vve been running KVM for quite a while on my lab server. It’s been running without issue but with the release of vSphere/ESXi 6.0 I felt it was time to move back to VMware. I wanted to preserve the virtual machines already running so I set out to move these to ESXi. I ran into some issues which I’m not sure is a generic problem or specific to ESXi 6.0 but I’ll describe what I have done. ...

March 15, 2015 · 2 min · alj

Random desktop background from command line

As mentioned in my previous post I synchronize my wallpaper folder between my desktop computers. While the are various ways of setting a random desktop background (XFCE - which I use - has this built in), I’ve had to conclude it’s just easier from the command line. In XFCE it is not possible to do this from cron it seems, so I made a script which is run at start-up: #!/bin/bash IFS=' ' # Change this to where the wallpapers are stored DIR="$HOME/Pictures/wallpaper" while true do PIC=$(ls $DIR/*.* | shuf -n1) #PIC2=$(ls $DIR/*.* | shuf -n1) # Uncomment based on desktop environment # XFCE: #/usr/bin/xfconf-query -c xfce4-desktop -p /backdrop/screen0/monitor0/image-show -s true #/usr/bin/xfconf-query -c xfce4-desktop -p /backdrop/screen0/monitor0/image-path -s ${PIC} #/usr/bin/xfconf-query -c xfce4-desktop -p /backdrop/screen0/monitor0/image-style -s 5 #/usr/bin/xfconf-query -c xfce4-desktop -p /backdrop/screen0/monitor1/image-show -s true #/usr/bin/xfconf-query -c xfce4-desktop -p /backdrop/screen0/monitor1/image-path -s ${PIC2} #/usr/bin/xfconf-query -c xfce4-desktop -p /backdrop/screen0/monitor1/image-style -s 5 # GNOME2 #gconftool-2 --type=string --set /desktop/gnome/background/picture_filename ${PIC} #gconftool-2 --type=string --set /desktop/gnome/background/picture_options zoom # GNOME/Unity/Cinnamon gsettings set org.gnome.desktop.background picture-uri file://${PIC} gsettings set org.gnome.desktop.background picture-options zoom # MATE #gsettings set org.mate.background picture-filename ${PIC} #gsettings set org.mate.background picture-options zoom # GNOME screen saver gsettings set org.gnome.desktop.screensaver picture-uri file://${PIC} gsettings set org.gnome.desktop.screensaver picture-options zoom # Generic - uses feh #feh --bg-fill ${PIC} sleep 60 done To enable auto-start, add the file ~/.config/autostart/Set_wallpaper.desktop with this content: ...

February 25, 2014 · 2 min · alj