Installing Scrivener 3 on Linux

Would you care for some wine to get started?
 5 min. to read
  (last mod.: 2021-08-12)

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.

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.

Surprise Dead Keys #

I also noticed problems with dead keys. If you don’t type accents, you may not use them much, but in French, circumflex accent is quite common and relies on a dead key modifier. The idea is that you first type ^, then e and you get ê. In this Wine-installed Scrivener, though, you don’t always get what you expect.

Actually, the first time you use it (let’s say you go for ^+o), you do get ô. The next time you try a combo with a dead key, though (say, ^+a or even "+e), you keep getting ô, just as if Scrivener kept stuck on the first combo it registered.1

I don’t have an easy fix for that one. My own solution is to correct all mistakes the next time I open the project on my Windows Scrivener.

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.

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.

  1. If anyone has an idea about this dead key glitch, I’m all ears. I ran Notepad++ and it didn’t have the same issue, so I’m guessing it’s not a problem with Wine itself. My best guess would be something related to the .NET framework on Wine or to Scrivener itself. ↩︎