Installing Scrivener 3 on Linux

Would you care for some wine to get started?
 5 min. to read
  (last mod.: 2022-01-15)

As I’m preparing for my first attempt at NaNoWriMo, I know I must have my writing software ready. I used Scrivener in the past and know it’s a solution I love to use. My only problem was: my mobility OS is Linux, which Scrivener doesn’t provide support for.

But that’s no longer a problem as Thomas Pletcher proved that the latest betas of Scrivener 3 work with Wine. Here’s how.

2021-07-17 update: This page was updated to work with Scrivener 3.0.1 for Windows. It seems OK on my setup, please keep me posted if you see ways to make this better.
2021-08-12 update: I added some forewarning about the known issues, so that you can decide if they’re a blocker before you go with the installation.
2022-01-15 update: Alwerto found a solution about the dead keys problem, the Troubleshooting and Known Issues sections have been updated accordingly.

Forewarning: Known Issues #

Though Scrivener works on Linux, everything’s not perfect and some glitches remain. Those are things you can probably live with, but it may good to know of those beforehand, to avoid any surprise.

Sticky Drag in Drag and Drop #

First, there’s a slight problem with drag and drop: whenever you drop something, the element remains in a transparent overlay, just as if you were still dragging it. That’s mainly a cosmetic issue, though, as the element is correctly moved and you can press Esc to bust that ghost.

Getting Scrivener 3 to work on Linux #

Installing wine #

To make Scrivener run on Linux, we’ll use Wine, a compatibilty layer for running Windows applications on POSIX systems (understand: “Linux OSs”).

Note: This tutorial was written for people who don’t know what Wine is and are probably installing it only to run Scrivener. If you have a more advanced knowledge, you may wish to use prefixes. Please do. I won’t here.

Now, to the flesh of it:

  1. We’ll need Wine, Winetricks and winbind. If those are available in your distribution’s repos (they are for Ubuntu), installing them can be achieved with this command: sudo apt install wine winetricks winbind

  2. The Wine installer in the Ubuntu repository has a slight defect: it doesn’t create an important symbolic link, meaning you’ll have to create yourself: sudo ln -s /usr/share/doc/wine/examples/wine.desktop /usr/share/applications/

Provisioning Wine #

Now that Wine is installed, you need to add the Windows components you will need to install and run Scrivener.

  1. Optional: winetricks corefonts will install Windows default fonts (e.g. Times New Roman). You may have already installed those from another source (e.g. sudo apt install ttf-mscorefonts-installer), in which case this is not required for you.
  2. winetricks win7 will install a Windows 7 architecture.
  3. winetricks dotnet48 will install .NET 4.8 (Scrivener needs at least .NET 4.6). Check the “restart now” when required. Don’t worry, you won’t have to reboot.
  4. winetricks speechsdk: the SpeechSDK is not listed as a requirement for Scrivener, but I couldn’t run it without it.

Installing Scrivener #

  1. You need to go and download Scrivener 3 (at the time of this writing, you can get the latest beta here).

  2. To run the installer, open a terminal, go to the download directory (e.g., cd ~/Downloads) and run the command wine Scrivener-installer.exe.

That’s it! At the end of the installation, Wine should have created an entry for Scrivener in your start menu, and you should be able to run it. Don’t hesitate to give additional tips as comments.

Troubleshooting #

Here are some issues that readers met and solutions that were found.

An error pops up when running the installer #

Thanks to OOzyPal for making me have a look at this.

When running Scrivener-installer.exe, a pop-up appears with the following message:

called Tcl_Close on channel with refCount > 0.

This error only seem to happen when you run the installer via the graphical interface. Running from the command line instead solves the issue: wine Scrivener-installer.exe.

License activation fails #

Thanks to qbit for sharing this problem and their solution.

qbit could run Scrivener but not activate their license. Somehow, it resulted in the following message:

There was a problem activating Scrivener. Please try again in a moment, or restart your computer and ensure it is connected to the Internet, then try again. […] Object reference not set to an instance of an object.

Running wine ping ascertained this was not an Internet access issue.
It seems the issue lied in the .NET 4.8 installation.
qbit solved their problem by reinstalling .NET through Winetricks, via the command: winetricks --force dotnet48.

Dead Keys Don’t Work Properly #

Thanks to Alwerto for finally finding a solution to that one.

Some dead keys wouldn’t work properly.
For instance, the first ^ then e would produce the expected ê, but all following combos would get an ê, too, just as if the software would keep printing the first combo.
From time to time, it would refresh to a newer combo, but I never found a pattern or action to force this refresh.
Not fully understood, but this appears to not being caused specifically by Wine or Kubuntu, as a user reproduced it in Linux Mint with Cinnamon.
Alwerto followed the proposed solution and it solved the problem for him.
The idea is to set the input method to Ibus. On my KDE, the command im-config -n ibus did the trick. I’ll let you find how your distribution handles it.

When Nothing Works… #

Marie tried the installation procedure, but it did not work for her and she looked for a way to undo everything. Here’s the solution I suggested:

  1. sudo apt purge wine winetricks winbind removes all Wine-related software.
  2. rm -rf ~/.wine deletes the directory where it should have created its Windows image.