xournalpp icon indicating copy to clipboard operation
xournalpp copied to clipboard

IME on AppImage don't work

Open GrimPixel opened this issue 1 year ago • 14 comments

Operating System

Linux

(Linux only) Distribution

Manjaro

(Linux only) Desktop Environment

MATE

(Linux Only) Display Server

None

Installation Method

Appimage

Xournal++ Version

1.2.2

libgtk Version

3.24.20

Bug Description

IME like fcitx don't work.

Expected Behaviour

It works.

Steps to Reproduce

  1. Press the shortcut of activation “Ctrl+Space” for fcitx.

Additional Context

No response

GrimPixel avatar Feb 06 '24 11:02 GrimPixel

ibus was definitely working a while ago. Two questions: is it working with one of the recent nightly builds (you can find them here)? Is fcitx woring on other gtk3 apps on your setup?

bhennion avatar Feb 11 '24 09:02 bhennion

At least the nightly build of AppImage doesn't work. It works on Gcolor3, GtkHash and GTKWave. I didn't find information about fcitx having problem with GTK on its website.

GrimPixel avatar Feb 11 '24 10:02 GrimPixel

@tattsan You were relying on an IME if I recall. Was it fcitx?

bhennion avatar Feb 11 '24 17:02 bhennion

I've tested skk/uim, skk/ibus, skk/fcitx4 on both master and release-1.2 build from source, and all work fine. It might be a problem with AppImage.

tattsan avatar Feb 11 '24 21:02 tattsan

It might be a problem with AppImage.

Indeed, using ibus-typing-booster in the AppImage doesn't work for me (it's just like normal typing), while it works in the .deb version of Xournal++.

rolandlo avatar Feb 11 '24 21:02 rolandlo

GTK3 applications load the plugins under /usr/lib/gtk-3.0/3.0.0/immodules/ when using IME. In the official AppImage of Xournal++ ,

im-am-et.so
im-broadway.so
im-cedilla.so
im-cyrillic-translit.so
im-inuktitut.so
im-ipa.so
im-multipress.so
im-thai.so
im-ti-er.so
im-ti-et.so
im-viqr.so
im-wayland.so
im-waylandgtk.so
im-xim.so

are included, but ibus, uim, and fcitx are not included. On the other hand, the AppImage which is generated on my local machine by azure-pipelines/util/build_appimage.sh, contains the following:

im-am-et.so
im-broadway.so
im-cedilla.so
im-cyrillic-translit.so
im-fcitx.so
im-ibus.so
im-inuktitut.so
im-ipa.so
im-multipress.so
im-thai.so
im-ti-er.so
im-ti-et.so
im-uim.so
im-viqr.so
im-wayland.so
im-xim.so

ibus, uim, fcitx are all included. This difference is probably caused by the difference in the environment between my machine and Github when running azure-pipelines/util/build_appimage.sh.

tattsan avatar Feb 24 '24 09:02 tattsan

As for other IME's on Linux, gcin has been mensioned in some Issues. It would be nice to have this included as well.

tattsan avatar Feb 24 '24 10:02 tattsan

The required packages seem to be ibus-gtk3, fcitx-frontend-gtk3, uim-gtk3-immodule, gcin-gtk3-immodule for Ubuntu (I'm not an Ubuntu user, so I may be misunderstanding how packages are handled). I don't know much about Azure pipeline, but if I add these files to azure-pipelines/steps/install_deps_ubuntu.yml will they be included in AppImage? If so, I'll try to create a PR.

tattsan avatar Feb 25 '24 00:02 tattsan

I don't know much about Azure pipeline, but if I add these files to azure-pipelines/steps/install_deps_ubuntu.yml will they be included in AppImage?

But this should be limited to the AppImage generation...

tattsan avatar Feb 25 '24 00:02 tattsan

@GrimPixel AppImage for newly released Xournal++-1.2.3 supports IME's: fcitx, fcitx5, ibus, gcin. Please try it!

tattsan avatar Mar 02 '24 10:03 tattsan

Gtk-Message: 00:00:00.344: Failed to load module "xapp-gtk3-module"
Gtk-Message: 00:00:00.346: Failed to load module "canberra-gtk-module"
xopp-Message: 00:00:00.422: TEXTDOMAINDIR = /tmp/.mount_xourna18YurQ/usr/share/locale:, Platform-specific locale dir = /usr/share/xournalpp/../locale, chosen directory = /tmp/.mount_xourna18YurQ/usr/share/locale
ALSA lib pcm.c:2721:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear
ALSA lib pcm.c:2721:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.center_lfe
ALSA lib pcm.c:2721:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side
ALSA lib pcm_route.c:878:(find_matching_chmap) Found no matching channel map
ALSA lib pcm_route.c:878:(find_matching_chmap) Found no matching channel map
ALSA lib pcm_route.c:878:(find_matching_chmap) Found no matching channel map
Cannot connect to server socket err = No such file or directory
Cannot connect to server request channel
jack server is not running or cannot be started
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock
Cannot connect to server socket err = No such file or directory
Cannot connect to server request channel
jack server is not running or cannot be started
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock
ALSA lib pcm_oss.c:397:(_snd_pcm_oss_open) Cannot open device /dev/dsp
ALSA lib pcm_oss.c:397:(_snd_pcm_oss_open) Cannot open device /dev/dsp
ALSA lib dlmisc.c:339:(snd_dlobj_cache_get0) Cannot open shared library libasound_module_pcm_a52.so (/usr/lib/librsvg-2.so.2: undefined symbol: pango_attr_overline_new)
ALSA lib dlmisc.c:339:(snd_dlobj_cache_get0) Cannot open shared library libasound_module_pcm_a52.so (/usr/lib/librsvg-2.so.2: undefined symbol: pango_attr_overline_new)
ALSA lib confmisc.c:160:(snd_config_get_card) Invalid field card
ALSA lib pcm_usb_stream.c:482:(_snd_pcm_usb_stream_open) Invalid card 'card'
ALSA lib confmisc.c:160:(snd_config_get_card) Invalid field card
ALSA lib pcm_usb_stream.c:482:(_snd_pcm_usb_stream_open) Invalid card 'card'
Cannot connect to server socket err = No such file or directory
Cannot connect to server request channel
jack server is not running or cannot be started
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock
xopp-Message: 00:00:00.842: Plugin "MigrateFontSizes" UI initialized
Error: in load: file "/usr/share/uim/lib/sigscheme-init.scm" not found

GrimPixel avatar Mar 02 '24 22:03 GrimPixel

Uim is not yet supported. See the discussions in #5520.

tattsan avatar Mar 02 '24 23:03 tattsan

I get similar issue on appimage version but able to use from pacman repo. Is there a way to workaround to solve this on arch?

Gtk-Message: 19:30:54.144: Failed to load module "canberra-gtk-module"
Gtk-Message: 19:30:54.192: Failed to load module "canberra-gtk-module"
Gtk-Message: 19:30:54.192: Failed to load module "pk-gtk-module"
xopp-Message: 19:30:54.193: TEXTDOMAINDIR = /tmp/.mount_xournacT8qUG/usr/share/locale:, Platform-specific locale dir = /usr/share/xournalpp/../locale, chosen directory = /tmp/.mount_xournacT8qUG/usr/share/locale
ALSA lib pcm.c:2721:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.front
ALSA lib pcm.c:2721:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear
ALSA lib pcm.c:2721:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.center_lfe
ALSA lib pcm.c:2721:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side
ALSA lib pcm.c:2721:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround21
ALSA lib pcm.c:2721:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround21
ALSA lib pcm.c:2721:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround40
ALSA lib pcm.c:2721:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround41
ALSA lib pcm.c:2721:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround50
ALSA lib pcm.c:2721:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround51
ALSA lib pcm.c:2721:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround71
ALSA lib pcm.c:2721:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.iec958
ALSA lib pcm.c:2721:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.iec958
ALSA lib pcm.c:2721:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.iec958
ALSA lib pcm.c:2721:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.hdmi
ALSA lib pcm.c:2721:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.hdmi
ALSA lib pcm.c:2721:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.modem
ALSA lib pcm.c:2721:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.modem
ALSA lib pcm.c:2721:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.phoneline
ALSA lib pcm.c:2721:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.phoneline
ALSA lib pcm_dmix.c:1000:(snd_pcm_dmix_open) unable to open slave
Cannot connect to server socket err = No such file or directory
Cannot connect to server request channel
jack server is not running or cannot be started
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock
xopp-Message: 19:30:54.279: Plugin "MigrateFontSizes" UI initialized
Error: in load: file "/usr/share/uim/lib/sigscheme-init.scm" not found

Cyber-Syntax avatar Apr 01 '24 16:04 Cyber-Syntax

I also want to know the resolution, but for a workaroud:

  1. Extract the AppImage with --appimage-extract option.
  2. Edit squashfs-root/usr/lib/gtk-3.0/3.0.0/immodules.cache in extracted files like the following:
--- squashfs-root/usr/lib/gtk-3.0/3.0.0/immodules.cache.orig
+++ squashfs-root/usr/lib/gtk-3.0/3.0.0/immodules.cache
@@ -47,7 +47,7 @@
 "im-ti-et.so"
 "ti_et" "Tigrigna-Ethiopian (EZ+)" "gtk30" "/usr/share/locale" "ti"

-"im-uim.so"
+"usr/lib/gtk-3.0/3.0.0/immodules/im-uim.so"
 "uim" "uim" "uim" "/usr/share/locale" "ja:ko:zh:*"

 "im-viqr.so"
  1. Use the extracted image directly (by invoking squashfs-root/AppRun script), or pack it as an AppImage again by using appimagetool.

tattsan avatar Apr 05 '24 01:04 tattsan

Fixed via #5603

bhennion avatar Jul 24 '24 15:07 bhennion