[LINUX] Fcitx ne fonctionne pas sur Flatpak

Un système de gestion de paquets indépendant de la distribution est appelé Flatpak.

Ce Flatpak vous permet d'installer facilement des paquets binaires avec des privilèges d'utilisateur, ce qui me convient en tant qu'utilisateur Gentoo, mais il y a un problème. Le problème est que je ne peux pas saisir le japonais.

Pour être honnête, je ne pensais pas avoir autant l'occasion de saisir le japonais, mais récemment, j'ai été obligé de saisir le japonais à cause de l'introduction d'outils de chat. Pour le moment, j'ai réussi à ouvrir la version Web dans le navigateur, mais j'ai décidé de m'asseoir et de chercher une solution.

Cause

Après avoir enquêté ici et là, j'ai constaté que le problème de ne pas pouvoir saisir le japonais était causé par une mauvaise communication D-Bus entre Fcitx et l'application Flatpak.

Pourquoi la communication ne se passe-t-elle pas bien? Il y avait deux causes. Le premier est la question de l'autorité. Flatpak est également soucieux de la sécurité, poussant votre application dans un bac à sable pour qu'elle s'exécute. Naturellement, diverses communications et accès sont également limités. Dans le cadre de cette limitation, la communication de socket est également restreinte. Puisque D-Bus utilise la communication socket comme couche de liaison, il est naturellement affecté par cette limitation.

Solution

Par conséquent, nous devons faire un trou dans ce "pare-feu". Quand j'ai recherché, il y avait un bon problème. Apparemment, vous pouvez spécifier --talk-name = org.freedesktop.portal.Fcitx au moment de l'exécution. Si vous voulez le définir de façon permanente, vous pouvez faire ʻoverride`.

Eh bien, le problème persiste. Comme son nom l'indique, la communication D-Bus est un système de communication de type bus, vous devez donc spécifier la "destination" (pour être exact, le nom de l'objet). Il y avait une convention dans la convention de dénomination "destination", et la plupart des applications suivaient cette convention, mais pas Fcitx. Cependant, avec ce correctif dans Fcitx (https://gitlab.com/fcitx/fcitx/blob/master/src/frontend/ipcportal/ipcportal.h#L27), il se comporte désormais comme d'habitude. En conséquence, Fcitx a cessé de fonctionner sur certaines applications Flatpak qui étaient censées se comporter auparavant. Ce problème est déjà connu côté Fcitx [https://gitlab.com/fcitx/fcitx/issues/429).

La solution est d'attendre que l'application réponde ou d'attendre que Fcitx soit corrigé. Cependant, la correction côté Fcitx a une large gamme d'influence, et le comportement est le résultat d'une correction correcte du comportement, donc je pense qu'il est difficile de corriger.

J'ai abandonné parce que c'était ennuyeux

Je suis désolé d'écrire jusqu'à présent, mais j'ai décidé de m'échapper vers iBus pour le moment Parce que je ne tape pas tellement le japonais ...

Comme mentionné ci-dessus, j'espère que cela sera utile pour ceux qui ont du mal à entrer en japonais avec Flatpak.

Matériel de référence

Recommended Posts

Fcitx ne fonctionne pas sur Flatpak
pygame ne fonctionne pas sur macOS Mojave
Tensorflow ne fonctionne pas!
Lorsque dropbox-sdk-python ne fonctionne pas
[Python] Pourquoi pserve ne fonctionne pas
GrabBox ne fonctionnait pas sur Sierra
Que faire si Python ne fonctionne pas sur Git pour Windows
LocateCenterOnScreen ne fonctionne pas sur PyAutoGui
Quand matplotlib ne fonctionne pas avec python2.7
Intellisense ne fonctionne pas avec tensorflow2.0 + VScode