ubuntuusers.de

Thunderbird - Fehler bei Hyperlinks

Status: Gelöst | Ubuntu-Version: Kubuntu 22.04 (Jammy Jellyfish)
Antworten |

Nobuddy

Avatar von Nobuddy

Anmeldungsdatum:
2. September 2005

Beiträge: 6990

Wohnort: 29614 Soltau

Hallo zusammen, Habe vor längerem eine eigene Adressverwaltung mit Python Qt5 geschrieben. Für Emailadressen, wurden Hyperlinks erstellt, die beim Anklicken ein Fenster von Thunderbird öffnet. Dies funktioniert nicht mehr, statt dessen erhalte ich folgende Fehlermeldung:

1
2
Fehler: app/org.mozilla.Thunderbird/x86_64/stable ist nicht installiert
kf.kio.gui: Failed to register new cgroup: "app-org.mozilla.Thunderbird-28d2cc35a1be47ab8b0244781ded8b0b.scope" "org.freedesktop.DBus.Error.UnixProcessIdUnknown" "Process with ID 2990 does not exist."

Thunderbird ist installiert und funktioniert.

Hier ist noch mein Code zum Testen:

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
import sys
import html
from PyQt5.QtCore import (
	Qt,
	)
from PyQt5.QtWidgets import (
	QApplication,
	QMainWindow,
	QDesktopWidget,
	QTextBrowser,
	QLabel,
	)
from PyQt5.QtGui import  (
	QColor,
	QPalette,
	QFont,
	QTextBlockFormat,
	QTextOption,
	QTextCursor,
	)

jsonData = {
	"address": {
		"29614003": {
			"area": "Familie",
			"name": "Mustrermann",
			"first name": "Max",
			"name addition": "",
			"street": "Musterweg 1",
			"postal code": "47111",
			"location": "Musterhausen",
			"province": "",
			"country": "",
			"index": "29614003"
		}
	},
	"email": {
		"29614003": {
			"max": "max@mustermann.de",
			"maxine": "maxine@mustermann.de",
			"t0": "t0@mustermann.de",
			"t1": "t1@mustermann.de",
			"t2": "t2@mustermann.de",
			"t3": "t3@mustermann.de",
			"t4": "t4@mustermann.de"
		}
	}
}

class HyperlinkLabel(QLabel):
	def __init__(self, parent=None):
		super().__init__()
		self.setOpenExternalLinks(True)
		self.setParent(parent)

class Window(QMainWindow):
	def __init__(self):
		super().__init__()
		self.header = ['name', 'email']
		self.data = [[name.title(), value]
			for index, d in jsonData['email'].items()
			for name, value in d.items()]

		browser = QTextBrowser()
		browser.setOpenExternalLinks(True)
		browser.setWordWrapMode(QTextOption.NoWrap)
		#
		orange = QColor(255, 165, 0)
		palette = QPalette()
		palette.setColor(QPalette.Text, orange)
		browser.setPalette(palette)
		#
		font = QFont()
		font.setFamily('Monospace')
		font.setPointSize(16)
		browser.setFont(font)

		cursor = browser.textCursor()
		cursor.clearSelection()
		cursor.select(QTextCursor.Document)
		browser.setTextCursor(cursor)

		blockFmt = QTextBlockFormat()
		blockFmt.setLineHeight(150, QTextBlockFormat.ProportionalHeight)
		cursor.mergeBlockFormat(blockFmt)

		fmt = cursor.charFormat()
		fmt.setForeground(QColor('blue'))

		max_distance = max([len(row[0]) for row in self.data])
		rows = max([i for i in range(len(self.data))]) - 1
		for row in self.data:
			for i, value in enumerate(row):
				if self.header[i] == 'email':
					cursor.insertHtml(self.generate_html_link(value))
				else:
					spaces = max_distance - len(value)
					space = 4
					if spaces > 0:
						space += 4
					cursor.setPosition(0)
					cursor.insertText('{}{}'.format(value, space * ' '))
					distance = max_distance + 4
					cursor.setPosition(distance, QTextCursor.KeepAnchor)
			cursor.insertText('\n')
		cursor.setPosition(QTextCursor.End - 1, QTextCursor.KeepAnchor)
		browser.setTextCursor(cursor)

		self.setCentralWidget(browser)
		width = height = 400
		screenGeometry = QDesktopWidget().screenGeometry()
		x = int((screenGeometry.width()-width)/2)
		y = int((screenGeometry.height()-height)/2)
		screenHeight = screenGeometry.height()
		self.setGeometry(x, y, width, height)

	def generate_html_link(self, mail):
		return '<a href="mailto:{0}">{0}</a>'.format(
			html.escape(mail, quote=True))

if __name__ == '__main__':
	app = QApplication(sys.argv)
	win = Window()
	win.show()
	sys.exit(app.exec_())

Ich hoffe auf Eure Hilfe, um das Problem lösen zu können.

Grüße Nobuddy

Nobuddy

(Themenstarter)
Avatar von Nobuddy

Anmeldungsdatum:
2. September 2005

Beiträge: 6990

Wohnort: 29614 Soltau

Habe gerade unter Systemeinstellungen > Anwendungen > Standard-Anwendungen > E-Mail-Programm nach geschaut. Dort steht der Eintrag "Thunderbird Supernova Flatpak". Ein weiterer Eintrag ist "Thunderbird E-Mail und -Nachrichten". Wenn ich diesen auswähle, funktioniert der Hyperlink wieder. Also ist das Problem bei Flatpak zu suchen. Gibt es da eine Lösung, um das Problem beheben zu können?

Thomas_Do Team-Icon

Moderator
Avatar von Thomas_Do

Anmeldungsdatum:
24. November 2009

Beiträge: 8808

Flatpaks laufen meines Wissensd nach in einer Sandbox und sind bewusst isoliert. Warum nutzt Du TB als Flatpak?

Nobuddy

(Themenstarter)
Avatar von Nobuddy

Anmeldungsdatum:
2. September 2005

Beiträge: 6990

Wohnort: 29614 Soltau

Hallo Thomas_Do, TB war als Flatpak nach dem Upgrade auf 22.04 installiert. Zukünftig, wird es wohl keine Alternative als Flatpak & Co geben, bitte korrigiere mich wenn dies nicht der Fall ist. Klar kann ich jetzt noch statt TB Flatpak auch TB aus den Quellarchiv benutzen, die Problematik wird damit nicht gelöst.

Wie schon beschrieben, lässt sich TB durch einen Link (Testcode) nicht mehr öffnen. Im Gegensatz zu Websites mit Links (mailto), welche weiterhin funktionieren. Wenn es bei Websites funktioniert, warum nicht bei einem selbst erzeugten Link?

Thomas_Do Team-Icon

Moderator
Avatar von Thomas_Do

Anmeldungsdatum:
24. November 2009

Beiträge: 8808

Nobuddy schrieb:

Hallo Thomas_Do, TB war als Flatpak nach dem Upgrade auf 22.04 installiert. Zukünftig, wird es wohl keine Alternative als Flatpak & Co geben, bitte korrigiere mich wenn dies nicht der Fall ist.

Ich habe nicht viel Ahnung von Ubuntu-Paketsystemen. Aber Standard sollte doch auch unter Kubuntu die Snap-Version von TB sein und nicht das Flatpak.

schwarzheit Team-Icon

Supporter
Avatar von schwarzheit

Anmeldungsdatum:
31. Dezember 2007

Beiträge: 3810

Nobuddy schrieb:

TB war als Flatpak nach dem Upgrade auf 22.04 installiert.
Zukünftig, wird es wohl keine Alternative als Flatpak & Co geben, bitte korrigiere mich wenn dies nicht der Fall ist.

Nicht Flatpak sondern Snap.

Prüfe

snap list --all

Nobuddy

(Themenstarter)
Avatar von Nobuddy

Anmeldungsdatum:
2. September 2005

Beiträge: 6990

Wohnort: 29614 Soltau

Ausgabe von "snap list --all":

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
Name               Version          Revision  Tracking       Herausgeber  Hinweise
bare               1.0              5         latest/stable  canonical✓   base
core20             20240227         2264      latest/stable  canonical✓   base,deaktiviert
core20             20240416         2318      latest/stable  canonical✓   base
core22             20240419         1439      latest/stable  canonical✓   base
core22             20240408         1380      latest/stable  canonical✓   base,deaktiviert
firefox            128.0.3-1        4650      latest/stable  mozilla✓     -
firefox            127.0.2-1        4483      latest/stable  mozilla✓     deaktiviert
gnome-3-38-2004    0+git.6f39565    140       latest/stable  canonical✓   deaktiviert
gnome-3-38-2004    0+git.efb213a    143       latest/stable  canonical✓   -
gnome-42-2204      0+git.510a601    176       latest/stable  canonical✓   -
gnome-42-2204      0+git.510a601    172       latest/stable  canonical✓   deaktiviert
gtk-common-themes  0.1-81-g442e511  1535      latest/stable  canonical✓   -
snapd              2.63             21759     latest/stable  canonical✓   snapd
snapd              2.62             21465     latest/stable  canonical✓   snapd,deaktiviert

und bei "flatpak list":

1
2
3
4
5
6
7
Name                                     Application ID                         Version    Zweig         Installation
Mesa                                     org.freedesktop.Platform.GL.default    24.1.3     23.08         system
Mesa (Extra)                             org.freedesktop.Platform.GL.default    24.1.3     23.08-extra   system
openh264                                 org.freedesktop.Platform.openh264      2.4.1      2.4.1         system
GNOME Application Platform version 46    org.gnome.Platform                                46            system
Breeze GTK theme                         org.gtk.Gtk3theme.Breeze               6.1.4      3.22          system
Jan-Michael Brummer                      org.tabos.roger                        2.4.2      stable        system

Komisch, TB wird da nicht aufgeführt.

schwarzheit Team-Icon

Supporter
Avatar von schwarzheit

Anmeldungsdatum:
31. Dezember 2007

Beiträge: 3810

Haste den Snap TB vielleicht entsorgt weil er nicht funktionierte wie erwartet?

Ubunux

Avatar von Ubunux

Anmeldungsdatum:
12. Juni 2006

Beiträge: 17192

Zeige

apt policy thunderbird

Ubunux

Avatar von Ubunux

Anmeldungsdatum:
12. Juni 2006

Beiträge: 17192

Thomas_Do schrieb:

Ich habe nicht viel Ahnung von Ubuntu-Paketsystemen. Aber Standard sollte doch auch unter Kubuntu die Snap-Version von TB sein und nicht das Flatpak.

Erst mit 24.04 ist bei Ubuntu Thunderbird auch als SnapApp installiert.

Nobuddy

(Themenstarter)
Avatar von Nobuddy

Anmeldungsdatum:
2. September 2005

Beiträge: 6990

Wohnort: 29614 Soltau

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
apt policy thunderbird
thunderbird:
  Installiert:           1:115.13.0+build5-0ubuntu0.22.04.1
  Installationskandidat: 1:115.13.0+build5-0ubuntu0.22.04.1
  Versionstabelle:
 *** 1:115.13.0+build5-0ubuntu0.22.04.1 500
        500 http://de.archive.ubuntu.com/ubuntu jammy-updates/main amd64 Packages
        500 http://security.ubuntu.com/ubuntu jammy-security/main amd64 Packages
        100 /var/lib/dpkg/status
     1:91.8.0+build2-0ubuntu1 500
        500 http://de.archive.ubuntu.com/ubuntu jammy/main amd64 Packages

Ich habe in meinem Ordner /opt nachgeschaut und dort ist TB Flatpak vorhanden. Kann ich den Ordner /opt/thunderbird_115_supernova einfach löschen?

Ubunux

Avatar von Ubunux

Anmeldungsdatum:
12. Juni 2006

Beiträge: 17192

Keine Ahnung, was genau du da gemacht hast, flatpak list zeigt ja nichts an von Thunderbird, normalerweise kann man den Ordner dann schon löschen ..

dirkolus

Anmeldungsdatum:
17. Mai 2011

Beiträge: 2173

Wohnort: dahoam

Nobuddy schrieb:

Habe gerade unter Systemeinstellungen > Anwendungen > Standard-Anwendungen > E-Mail-Programm nach geschaut. Dort steht der Eintrag "Thunderbird Supernova Flatpak".

Möglicherweise funktioniert hier die Übergabe der Parameter (EMailadresse) beim Aufruf von TB nicht. Du könntest mal die beiden Einträge in 'Standard-Anwendungen' vergleichen, wie TB (Flatpak) im Vergleich zu TB (deb) als Befehl aufgerufen wird.

Ubunux

Avatar von Ubunux

Anmeldungsdatum:
12. Juni 2006

Beiträge: 17192

Zeige auch mal

flatpak history | grep thunderbird

Nobuddy

(Themenstarter)
Avatar von Nobuddy

Anmeldungsdatum:
2. September 2005

Beiträge: 6990

Wohnort: 29614 Soltau

Flatpak Befehl: /opt/thunderbird_115_supernova/thunderbird %u

Quellpaket Befehl: thunderbird %u

Werde mal den Ordner unter /opt löschen.

Antworten |