Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Is it possible to set the IME via im-config instead of environment variables? #385

Open
linghengqian opened this issue Feb 12, 2023 · 4 comments
Assignees
Labels
enhancement New feature or request

Comments

@linghengqian
Copy link

sudo apt-get install ibus ibus-gtk ibus-gtk3 fonts-noto-cjk fonts-noto-color-emoji dbus-x11 zenity -y
sudo apt-get install ibus-gtk4 -y
sudo apt-get install ibus-libpinyin -y
export XIM=ibus
export XIM_PROGRAM=/usr/bin/ibus
export QT_IM_MODULE=ibus
export GTK_IM_MODULE=ibus
export XMODIFIERS=@im=ibus
export DefaultIMModule=ibus
sudo sh -c 'echo "export XIM=ibus" > /etc/profile.d/ibus.sh'
sudo sh -c 'echo "export XIM_PROGRAM=/usr/bin/ibus" >> /etc/profile.d/ibus.sh'
sudo sh -c 'echo "export QT_IM_MODULE=ibus" >> /etc/profile.d/ibus.sh'
sudo sh -c 'echo "export GTK_IM_MODULE=ibus" >> /etc/profile.d/ibus.sh'
sudo sh -c 'echo "export XMODIFIERS=@im=ibus" >> /etc/profile.d/ibus.sh'
sudo sh -c 'echo "export DefaultIMModule=ibus" >> /etc/profile.d/ibus.sh'
ibus-daemon -x -d
ibus-setup
sudo pkill ibus-daemon
ibus-daemon -x -d
sudo sh -c 'echo "ibus-daemon -drx > /dev/null 2>&1" >> /etc/profile.d/ibus.sh'
  • Due to the discussion in Expect to update the Github Wiki section on Ubuntu installations ibus/ibus#2458 (comment), I'm a little bit confused why we don't automatically use im-config to switch input methods in /etc/profile.d. Is it because im-config has some limitations on WSL?

  • The result of my test on a WSL instance with systemd enabled is that every time the computer is restarted, the input method must be specified again through im-config -n ibus, and it seems that im-config will not automatically save the settings. The method I'm testing looks like this.

sudo apt-get install ibus ibus-gtk ibus-gtk3 fonts-noto-cjk fonts-noto-color-emoji dbus-x11 zenity -y
sudo apt-get install ibus-gtk4 -y # If ibus-gtk4 is available, you need to install
sudo apt-get install ibus-libpinyin -y # or other engine(s) you want
im-config -n ibus
ibus-setup # add input methods you want
  • Since Gnome's standard desktop environment does not use im-config, does the processing of pengwin-setup.d/ibus.sh still involve the limitation of im-config ?
@crramirez
Copy link
Collaborator

crramirez commented Feb 16, 2023

Hello @linghengqian,

This installer was written before systemd was implemented in WSL, in fact, before WSL2. We need to check if this approach still works or if the im-config is the way. And we need to take the tests.

I'll put this in the roadmap to take care of.

Thanks for reporting.

Regards,
Carlos

@linghengqian
Copy link
Author

@crramirez
Copy link
Collaborator

What I've found is that im-config makes the configuration assuming that the X server or Wayland server are running locally and put the environment variables in xorg startup files.

@linghengqian
Copy link
Author

What I've found is that im-config makes the configuration assuming that the X server or Wayland server are running locally and put the environment variables in xorg startup files.

The system distro is where all of the magic happens. The system distro is a containerized Linux environment where the WSLg XServer, Wayland server and Pulse Audio server are running. Communication socket for each of these servers are projected into the user distro so client applications can connect to them. We preconfigure the user distro environment variables DISPLAY, WAYLAND_DISPLAY and PULSE_SERVER to refer these servers by default so WSLg lights up out of the box.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants