Accented characters don't work on Wine (Linux)

Hi there,
I’ve installed Scrivener on Linux using Wine / Crossover. It works apparently fine, except for one thing:
** I can’t use accented characters (like á é í ó ú ã õ ê).
I can type only 1 accented character (let’s say á), then, when I try to type other characters (like é, ó etc.), Scrivener keeps putting the first accented character (á), even if I’m typing accent+e, accent+o etc.
Any tips on how to fix that?
Thanks,
AA.

Only because of your post I realised that I had the same problem. I write in German, so there are only rare occasions where I have to use accents.

This link helped me:
http://askubuntu.com/questions/360696/keyboard-not-working-100-after-ubuntu-13-10-upgrade

In my case I set Keyboard Input Method to IBUS, restarted and everything was fine, just like this: áéíóúÁÉÍÓÚ àèìòùÀÈÌÒÙ.

I am using Linux Mint but any distro should have a similar dialogue in System Settings.

Hope that helps!

Thanks for your message. I tried the ibus system and still get the same behavior…
I’ll try to dig a little bit more. Too bad that they dropped the Linux version…
Thanks once more,
AA

Open terminal and type: ibus-setup
Switch to Advanced tab and uncheck “Global input method settings”.
Restart system, open Scrivener and have fun.

Hello Linus,
I am considering getting Scrivener. I write a lot in both German and English. Does Scrivener have its own German language setting (the way most word processors now do)?
I use Windows 7 as an operating system.
Thank you.
Sidney

Sure, under Tools>Options>Corrections you can select - or, if not yet available, first download - a German dictionary (see manual B.6 Corrections). However, you cannot have a multi-language project. So the dictionary is applied evenly to all documents in a project. Therefore also, unlike in Word, you cannot have e.g. parts of a document use one language and other parts another language. So, if you have a project with German and English texts in it, you would have to switch spelling settings back and forth to check documents or document parts in different languages.

Great. Thanks.

I use Scrivener for Windows under wine (from winehq, OS=Linux Mint 18.3). I experienced the same dead-key issues mentioned above. After installing and activating (in startup applications) ibus Scrivener worked OK: é,á etc.

And then, after a while, only the first accented char I use in a session showed up, e.g. é when I type á afterwards. No idea how this came about.

I have the same problem with accented characters. Using Scrivener under Wine with ArchLinux. I’ve tried ibus, but it doesn’t solve the problem.

Has anyone been able to solve it?

Currently I am able to reset what character appears by typing one with the opposite case, e.g. if it’s currently ê, type a capital letter with an accent, then type the one you actually want.

I use Mint (Linux Mint 19.2 Cinnamon) and run Scrivener under Crossover. I have loaded multiple “keyboards” (System settings | Keyboards) and do not have any problems.

It’s not IBUS, but it works.

I usually use the Windows version under wine and don’t have this issue. But I enter accented characters with the right alt key. Will that work or do you have to use compose?

Hi Benjamin,

My compose key is the right Alt key :slight_smile:. Could you expand on your setup?

Thanks
Cecilia

I just solved this on my system, so I thought I’d post the solution here.

Ibus was installed on my computer using Kubuntu 19.10, but I still ran into the problem where Scrivener would produce the same character every time I tried typing an accent. I.e., if I first typed é, every accented character that I would subsequently try to type would come out as é.

A workaround that I used, and which I have not seen anyone else post about, was to type an accented capital in upper case if the first one was in lower case. This would then allow typing a new accented lower case character. For instance, after typing é, typing Ú would allow me to type a new accented lower case character like ï. This procedure would have to be repeated every time I needed a new accented character, though.

Earlier today I decided to have another look at how my keyboard was configured. Using KDE, I opened the ‘Input Method’ window which, after clicking OK, allowed me to select the ‘active intelligent input bus’:

Apparently, ‘ibus’ had not been fully activated. Another OK, and a new ‘ibus preferences’ applet appeared in my system tray - and typing accented characters in Scrivener worked perfectly. :slight_smile:

The solution Lambekin gave doesn’t work for me,unfortunately, because I’m on archlinux, which doesn’t have im-config. But the fact that it could still be an activate/setup problem had me digging again.

This time when I tried running Scrivener from the command line as a test, the diacritics suddenly worked like they should. I know I tried this before (and ctrl-r confirms it) and it didn’t work. Yes, there was a big Arhlinux update in the meantime. Running Scrivener from the launcher in xfce still had the diacritics problem, however

Long story short: adding XMODIFIERS="@im=ibus" to the command of the launcher did the trick. The command is now:
env XMODIFIERS="@im=ibus" WINEPREFIX="/home/cecilia/.wine" wine C:\windows\command\start.exe /Unix ‘/home/cecilia/.wine/drive_c/Program Files (x86)/Scrivener/Scrivener.exe’

Question now is, why the difference between the launcher and the command line? Do they use different environment variables?

Yes, typically they do not share the same set of environment variables. Many launchers do not invoke your shell environment and don’t get the full setup of your environment variables, so you have to explicitly declare the appropriate ones.

Hello,

I’m pretty late at this but I managed to solve this problem. I’ve got a french keyboard, and my accents were messed up, just like the original poster said.
So, here’s what I did to solve the problem step by step, which is indeed tied to Ibus.

  1. Install the ibus package on your distro, either using terminal or through the software center.

  2. Open a terminal and type ibus-setup and run it.

  3. Navigate to your home folder, push ctrl + h to show the hidden folders, and open the file named .bashrc with a text editor.

  4. At the end of .bashrc, add these lines :

export GTK_IM_MODULE=ibus export XMODIFIERS=@im=ibus export QT_IM_MODULE=ibus ibus-daemon -drx

  1. Open (or create) a file named .xprofile in your home folder. Add the same lines as step 4 at the end of it. This makes Wine use ibus as well.

5bis) Optional : some distros need the same lines at the end of .xinitrc , which is also in your home folder, so this might help you.

  1. Find where your autostart apps are (related to distro / desktop environment), and add this command to it :
ibus-daemon --xim
  1. Relog / reboot, and enjoy, Wine now uses iBus and you can have your accents as you wish.

This worked for me in both my laptop and desktop. The only issue I ran into is that sometimes, ibus wouldn’t boot with my computer. This is easily solved by launching a terminal and typing in

ibus-daemon --xim

Hope this helps someone !

Sources, in case you need something else :
wiki.archlinux.org/index.php/IBus#Initial_setup
wiki.archlinux.org/index.php/IBus#WINE