[LINUX] Fcitx funktioniert nicht mit Flatpak

Ein verteilungsunabhängiges Paketverwaltungssystem heißt Flatpak.

Mit diesem Flatpak können Sie problemlos Binärpakete mit Benutzerrechten installieren, was für mich als Gentoo-Benutzer praktisch ist, aber es gibt ein Problem. Das Problem ist, dass ich kein Japanisch eingeben kann.

Um ehrlich zu sein, ich dachte nicht, dass ich die Möglichkeit hätte, so viel Japanisch einzugeben, aber kürzlich musste ich Japanisch eingeben, weil Chat-Tools eingeführt wurden. Vorerst habe ich es geschafft, die Webversion im Browser zu öffnen, aber ich habe mich entschlossen, mich aufzusetzen und nach einer Lösung zu suchen.

Ursache

Als Ergebnis der Untersuchung hier und da stellte ich fest, dass das Problem, kein Japanisch eingeben zu können, durch eine schlechte D-Bus-Kommunikation zwischen Fcitx und der Flatpak-App verursacht wurde.

Warum läuft die Kommunikation nicht gut? Es gab zwei Ursachen. Das erste ist die Frage der Autorität. Flatpak ist auch sicherheitsbewusst und schiebt Ihre Anwendung zum Ausführen in eine Sandbox. Natürlich sind auch verschiedene Kommunikationen und Zugriffe eingeschränkt. Im Rahmen dieser Einschränkung ist auch die Socket-Kommunikation eingeschränkt. Da D-Bus die Socket-Kommunikation als Verbindungsschicht verwendet, ist diese Einschränkung natürlich betroffen.

Lösung

Deshalb müssen wir ein Loch in diese "Firewall" machen. Als ich es nachgeschlagen habe, gab es ein gutes Problem. Anscheinend können Sie zur Laufzeit "--talk-name = org.freedesktop.portal.Fcitx" angeben. Wenn Sie es dauerhaft einstellen möchten, können Sie "Überschreiben" durchführen.

Nun, das Problem geht immer noch weiter. Wie der Name schon sagt, handelt es sich bei der D-Bus-Kommunikation um ein Kommunikationssystem vom Bustyp. Sie müssen daher das "Ziel" angeben (um genau zu sein den Objektnamen). Es gab eine Konvention in der Namenskonvention "Ziel", und die meisten Anwendungen folgten dieser Konvention, Fcitx jedoch nicht. Mit diesem Fix in Fcitx (https://gitlab.com/fcitx/fcitx/blob/master/src/frontend/ipcportal/ipcportal.h#L27) verhält es sich jetzt wie gewohnt. Infolgedessen hat Fcitx die Arbeit an einigen Flatpak-Apps eingestellt, die sich zuvor verhalten sollten. Dieses Problem ist auf der Fcitx-Seite bereits bekannt (https://gitlab.com/fcitx/fcitx/issues/429).

Die Lösung besteht darin, auf die Antwort der Anwendung zu warten oder auf das Patchen von Fcitx zu warten. Die Korrektur auf der Fcitx-Seite hat jedoch einen großen Einflussbereich, und das Verhalten ist das Ergebnis einer korrekten Korrektur des Verhaltens. Ich denke, es ist schwierig, dies zu korrigieren.

Ich habe aufgegeben, weil es nervig war

Es tut mir leid, bisher geschrieben zu haben, aber ich habe mich entschlossen, vorerst zu iBus zu fliehen Weil ich nicht so viel Japanisch schreibe ...

Wie oben erwähnt, hoffe ich, dass es für diejenigen nützlich sein wird, die Probleme haben, mit Flatpak Japanisch zu lernen.

Referenzmaterial

Recommended Posts

Fcitx funktioniert nicht mit Flatpak
Pygame funktioniert nicht unter macOS Mojave
Tensorflow funktioniert nicht!
Wenn dropbox-sdk-python nicht funktioniert
[Python] Warum pserve nicht funktioniert
GrabBox hat in Sierra nicht funktioniert
Was tun, wenn Python unter Git für Windows nicht funktioniert?
LocateCenterOnScreen funktioniert nicht mit PyAutoGui
Wenn matplotlib nicht mit python2.7 funktioniert
Intellisense funktioniert nicht mit Tensorflow2.0 + VScode