Installing Scrivener 3 on Linux

Would you care for some wine to get started?
 7 min. to read
  (last mod.: 2022-11-26)

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.

2022-11-25 update: Brazz shared some updated insights from running this tutorial lately, updating accordingly. The tutorial was tried again from scratch with Scrivener 3.1.2 on Kubuntu 22.04.

Forewarning: Known Issues #

Be warned that this tutorial is provided as is: it works on a Kubuntu 22.04 laptop, but I won’t be able to provide individual support. You might need adaptations for your particular case, but I will not be able to assist you or provide individual consultations.

Though Scrivener works on my Linux setup, 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 win10 will install a Windows 10 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 actually reboot.

  4. winetricks speechsdk: the SpeechSDK is not listed as a requirement for Scrivener, but I couldn’t run it without it.
    When asking for a User Name and Organization, you can leave those fields blank.

Installing Scrivener #

  1. You need to go and download Scrivener 3 (you can get the latest version here).

  2. To run the installer, open a terminal, navigate to the directory where you downloaded the installer (e.g., cd ~/Downloads), then run the command wine Scrivener-installer.exe (or adapt the program name to your own case).
    At the end of the installation, if you check “Create a desktop shortcut,” you will get an error about Wine being unable to extract the icon. As far as I can tell, it doesn’t change the way Scrivener will work.

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.

  1. Optionnally, you can change the icon in your application menu. Your applications are stored in your personal folder, as .desktop files. Typically, you can find Scrivener.desktop and Uninstall Scrivener.desktop under ~/.local/share/applications/wine/Programs/Scrivener 3.
    You can also find icon.ico and scriv.ico under ~/.wine/dosdevices/c:/Program Files/Scrivener3/resources.
    You can therefore change the Icon line to use one of those two icons. For instance: Icon=/home/myuser/.wine/dosdevices/c:/Program Files/Scrivener3/resources/icon.ico.1



  1. When you launch Scrivener, if you get a warning about it not being recommended to run on Windows 7, do the following:
  2. Close Scrivener.
  3. Open Wine configuration (or type the command winecfg).
  4. At the bottom of the Applications tab, select Windows 10.
  5. Close Wine configuration and launch Scrivener again.

Command summary #

If you follow this tutorial, here are all the commands you should have run.

 1# Install Wine
 2sudo apt install wine winetricks winbind
 3sudo ln -s /usr/share/doc/wine/examples/wine.desktop /usr/share/applications/
 5# Provision Wine for Scrivener
 6winetricks corefonts
 7winetricks win10
 8winetricks dotnet48
 9winetricks speechsdk
11# Install Scrivener
12cd ~/Downloads
13wine Scrivener-installer.exe

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.

  1. Recommendations are not to edit those files directly, but to modify them elsewhere, then use the desktop-file-install command. However, I feel that explaining how to do it properly would require a tutorial in this tutorial.
    Modifying the files manually will work. You will need to log out and back in, and then wait a few minutes, to see the changes. ↩︎