Thunderbird startet mit zwei Fenster-Instanzen
English Version: /post/2018/03/24/thunderbird-starts-with-two-window-instances/
Problembeschreibung: Thunderbird startet immer mit zwei Fenster-Instanzen, egal auf welche Weise Thunderbird gestartet wird: via Schnellstarter, aus dem K-Menu heraus, oder via Konsole. Schließt man eines der beiden Fenster, schließen sich immer beide.
Lösung: In der Thunderbird-Datei ~/.thunderbird/*.default/session.json
sind zwei windows Objekte angegeben. Eines davon löschen.
Thunderbird's session.json
Den Inhalt der Datei kann man sich folgendermaßen formatiert auf der Konsole anzeigen lassen:
cat ~/.thunderbird/`awk -F "=" '/Path/ {print $2}' ~/.thunderbird/profiles.ini`"/session.json" | python -m json.tool
Bsp. Ausgabe
{
"rev": 0,
"windows": [
{
"tabs": {
"rev": 0,
"selectedIndex": 0,
"tabs": [
{
"ext": {
"quickFilter": {
"filterValues": {
"text": {
"states": {
"body": false,
"recipients": false,
"sender": true,
"subject": false
},
"text": null
}
},
"visible": false
}
},
"mode": "folder",
"state": {
"firstTab": true,
"folderPaneVisible": true,
"folderURI": "xxx://xxx@example.com/INBOX",
"messagePaneVisible": true
}
}
]
},
"type": "3pane"
},
{
"tabs": {
"rev": 0,
"selectedIndex": 0,
"tabs": [
{
"ext": {
"quickFilter": {
"filterValues": {
"text": {
"states": {
"recipients": true,
"sender": true,
"subject": true
},
"text": null
}
},
"visible": true
}
},
"mode": "folder",
"state": {
"firstTab": true,
"folderPaneVisible": true,
"folderURI": "zzz://zzz@example.com/INBOX",
"messagePaneVisible": true
}
}
]
},
"type": "3pane"
}
]
}
Wie man in der obigen Beispiel-Ausgabe erkennen kann, weist das windows
Array mehr als ein Objekt auf. Und genau da liegt das Problem: Pro Objekt wird jeweils eine Thunderbird-Fensterinstanz erzeugt.
Editieren
Folgendes kleines Bash-Snippet legt zunächst eine Kopie (session.json.YYYY-MM-DD
) der aktuellen Datei (session.json
) an, formatiert (beautify | prettify) den JSON-Code, so daß er lesbarer wird und öffnet die Datei schließlich im Editor Kate
:
- Thunderbird beenden
-
Über Konsole die Datei
~/.thunderbird/*.default/session.json
zum Editieren mit Kate öffnencd ~/.thunderbird/`awk -F "=" '/Path/ {print $2}' ~/.thunderbird/profiles.ini`;NOW=`date '+%Y-%m-%d_%H-%M-%S'`; cp session.json "session.json.$NOW"; cat session.json | python -m json.tool > /tmp/session.json; kate /tmp/session.json; cp /tmp/session.json session.json;
- Das unerwünschte Objekt im JSON Code entfernen
(Den editierten Code ggf. mit einem JSON Parser wie etwa http://json.parser.online.fr/ überprüfen lassen; Copy'n'Paste). - Datei in Kate speichern
[STRG+S]
- Kate beenden
[STRG+Q]
Nun kann Thunderbird wieder gestartet werden. Es startet mit nur einer Fenster-Instanz
Links
- "Thunderbird opens multiple windows on startup", binfalse.de, 2016-09-25, https://binfalse.de/2016/09/25/thunderbird-opens-multiple-windows-on-startup/
- "Thunderbird opens twice always", askubuntu, 2012-10-09, https://askubuntu.com/questions/198356/thunderbird-opens-twice-always
- A User Reply to "How can I pretty-print JSON in a (Unix) shell script?", stackoverflow, 2017-09-06, https://stackoverflow.com/a/1920585/2487859