浪人
DE | EN
Linux on the Surface Go - Bonus: Thunderbird and Time Format
tech

Linux on the Surface Go - Bonus: Thunderbird and Time Format

Back to Blog
2 min read

Linux on the Surface Go - Bonus: Thunderbird and Time Format

A short bonus article - but one that illustrates well how the switch to Linux sometimes goes: superficially simple, but not so simple in the details.

The Problem

Thunderbird displays times in AM/PM format in the calendar - even though the system is set to German, the timezone is correct, and everything should look like 24-hour format. In short: freedom units, uninvited.

This isn’t a bug in the proper sense, but rather a chain of two quirks that together produce the wrong result.

Why does this happen?

Thunderbird is installed as a Flatpak on my system. Flatpak apps run in a sandbox - they are more isolated from the rest of the system than classically installed packages. This has advantages, but it also means system settings don’t automatically pass through.

Specifically: Thunderbird has a switch in its internal settings (about:config) called intl.regional_prefs.use_os_locales. If this is set to false - which is the default - Thunderbird completely ignores the system’s locale and falls back to its own internal locale. That’s en-US. And en-US means AM/PM.

Thunderbird02

The first attempt - about:config

The obvious fix: In Thunderbird under Settings → General → Configuration Editor (at the bottom) open about:config, search for intl.regional_prefs.use_os_locales, and toggle the value to true.

Thunderbird03

Restart Thunderbird - AM/PM is still there.

The reason: The Flatpak has its own isolated environment. Even if Thunderbird now wants to read the OS locale, it doesn’t see the same locale in the Flatpak sandbox as the rest of the system. The value true alone isn’t enough.

The fix that actually works

The solution is to explicitly pass the locale to the Thunderbird Flatpak instance - via a Flatpak override that sets the LC_TIME environment variable:

flatpak override --user org.mozilla.Thunderbird --env=LC_TIME=de_AT.UTF-8

For Germany use de_DE.UTF-8 accordingly. Then restart Thunderbird - the time format is 24 hours.

Thunderbird04

What this actually shows

This is one of those little things that makes switching to Linux seem simple on the surface - but not so simple in the details.

Installing Thunderbird: one command, done. Setting up Gmail: OAuth, works right away. Google Calendar: install add-on, it runs. And then AM/PM shows up in the calendar and you spend more time than you’d like to admit figuring out why - because the cause isn’t in Thunderbird itself, but in the interplay of Flatpak sandboxing, internal locale settings, and environment variables.

If you’re coming from Windows you expect: set system language, done, all apps follow suit. On Linux it’s basically the same - except when it’s a Flatpak app. And then you need the right command, one you couldn’t possibly know if you’ve never needed it before.

Not a dealbreaker. But an honest glimpse into how daily life with Linux sometimes goes.