Make Thunderbird great again!

I have many times tried finding a modern replacement for Thunderbird, but it always ends without success.

There’s Nylas Mail, Hiri etc, but there has always been some needed feature (for me) missing.

Then I heard about Monterail, which basically is a functional theme based on a Thunderbird mock up. And just recently an Arc (theme) integration for Thunderbird has been released.

The two together makes Thunderbird quite pleasant to look at.

Dual boot Linux and Windows – BIOS system time incorrect

I, unfortunately, have to dual boot to Windows once and a while, due to requirements where I currently have an assignment.

What I’ve noticed and that really grind my gears, is that when booting Windows after I have been running Linux the BIOS System time is incorrect by -2 hours.

After searching for information how to solve this, I found a thread on the Microsoft forum with a user that had the same problem and learned something new:

Windows uses BIOS time to hold ‘local’ time (UTC+offset+daylight savings according to the time zone used) and Linux uses BIOS time to hold Universal Time (UTC).

That got me to the ever so good Arch Linux Wiki (this is an area that I think Ubuntu has become weaker in; updated and good information in a community wiki. Don’t get me wrong, I love askubuntu.com).

Open Windows Powershell and run it as administrator:

reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation" /v RealTimeIsUniversal /d 1 /t REG_DWORD /f

If this does not solve it, try changing REG_DWORD to REG_QWORD.

Citrix Receiver – use all available external monitors

When working on a remote server over Citrix, it is sometimes useful not having ICAClient to span over all monitors in fullscreen mode. It is possible to tell wfica to only span certain monitors with the -span parameter.

Change /opt/Citrix/ICAClient/wfica.sh to:

#!/bin/bash
ICAROOT=/opt/Citrix/ICAClient
export ICAROOT
LD_LIBRARY_PATH=/opt/Citrix/ICAClient/lib
export LD_LIBRARY_PATH

array_join() {
    local IFS="$1"
    shift
    echo "$*"
}

param=""
number_of_monitors="$(xrandr --query | grep -c " connected ")"

if (( number_of_monitors > 1 )); then
    param="-span"
    monitors=()
    for monitor in $(seq 2 "${number_of_monitors}"); do
        monitors+=("${monitor}")
    done

    param="${param} $(array_join ',' "${monitors[@]}")"
fi

$ICAROOT/wfica ${param} -file $1

This will use all monitors, except for the first one in fullscreen mode (unless you only have one monitor of course).

To get this to work automagically, Firefox has to be told to open *.ica files with this script. Go to Edit, Preferences, Applications, type ica in the search, select Use other... as action and browse to /opt/Citrix/ICAClient/wfica.sh.

Disable iPhone USB devices when charging via computer

I usually charge my iPhone by connecting it to my Ubuntu laptop. It is quite annoying that it tries to mount it as a USB-storage and adds it as an ethernet interface.

To the rescue: udev blacklisting:

sudo tee /etc/udev/rules.d/90-disable-iphone.rules <<EOF
# Disable iPhone ethernet device
SUBSYSTEM=="usb", DRIVER=="usb", ATTR{idProduct}=="12a8", ATTR{idVendor}=="05ac", ATTR{authorized}="0"
EOF

ATTR{idVendor} and ATTR{idProduct} might differ between different iPhone models. Examine with udevadm info -a -p /sys/class/net/<ethernet interface> and find any information, as close to the top as possible, that can be used to blacklist the device.