Update, 1/30/21: there is a bug in the recent Scrivener 3 betas which prevents Scrivener from launching successfully after installation. You can resolve it by using winetricks to install speechsdk. This is now fixed.
It goes without saying that these are troubling times. Politics and the pandemic, bound tightly together in this dysfunctional country, will be with us through the end of this year and well beyond. So let’s focus on something small and potentially positive, only tangentially related to the larger world.
There aren’t many fiction writers who use Linux as a regular platform, I’d wager. Yet there are a few, including me. I believe that open source at its best serves as a role model for how the larger society should function. This quality in itself attracts some socially conscious creative people to the platform. The problem, of course, is that commercial software remains dominant, and not all of it can run on Linux. It is possible to write with existing open source solutions. But the best solution for aspiring novelists is the carefully crafted Scrivener, developed by a small, quality-focused software team at Literature and Latte in the UK. And Scrivener no longer runs natively on Linux.
To the company’s credit, a version of the Scrivener Linux beta remains available, and this can interface with the current Scrivener 3 on the Mac by translating documents from Scrivener 2 format to Scrivener 3, and vice versa. But the need to “translate” back and forth is a less than ideal solution.
For a while, Wine had come to the rescue—Scrivener ran just fine “out of the box” on default Wine installations. But that changed sometime back, as Scrivener 3 for Windows development evolved. Wine stopped working, and I turned back to Scrivener on macOS to continue work on my novel. Apple still leads the pack in terms of both ease of use and options for writers (but Linux exemplifies the moral high ground, as noted above).
Now that the new version (20.04.1) of Ubuntu LTS is out, I decided to take another look at the situation, and I have some good news for the small audience of writers on Linux. The latest beta of Scrivener 3 for Windows does run on Wine. You just have to do a little extra work to enable this.
A quick disclaimer: while I worked as a developer for many years, I now focus on writing. As a writer, I can’t afford to be distracted by any particular tool. If something doesn’t “just work,” I’ll find an alternative that does and concentrate on the writing. That’s why I hadn’t wanted to get down into the weeds to figure out all the nuances of enabling Scrivener 3 on Wine. But when I took a quick look, I discovered that things weren’t that bad. My Wine configuration is probably a little wonky, and I’ll likely do a complete reinstall when Scrivener 3 for Windows is officially released, supposedly sometime this fall. But getting the software to work again isn’t all that much work.
The latest beta, 2.9.9.9 (RC9), would seem to indicate that the official release is near (fingers crossed). The beta expires in mid-September. Here’s how to get it working.
If you already have Wine installed, you have two choices: you can create a new prefix for Scrivener, or you can update the parameters of the default .wine prefix. (I’ve tried both, which is why my configuration is not as clean as it should be.) If you don’t have Wine installed, then installing it should be your first step. It’s straightforward, and I won’t describe the process here.
If, like me, you only plan to use Wine for Scrivener and one or two related programs (Literature and Latte’s Scapple “brainstorming” software runs fine on the default Wine install), then I recommend updating the environmental settings for the default prefix .wine to meet Scrivener’s current requirements. The process described below applies to Ubuntu Focal but should be translatable to other distros.
The core requirements are Windows 7 or higher and .NET v4.6.2 or higher (Wine 5.0 will let you use .NET v4.8).
Once Wine is installed, make sure you have 32-bit architecture enabled. This is needed for various reasons overall, and also to register Scrivener. The command is:
sudo dpkg -i –add-architecture i386
Following that, run this:
env WINEARCH=win64
Now you’ll need to install Winetricks. Again, this is straightforward. Once you have it installed, run the following commands. The first one is:
env WINEPREFIX=$HOME/.wine winetricks dotnet corefonts
This is necessary for Times New Roman, the most popular font for submitting your work to publishers. If you already have the font on your system (it might have come with or been installed by another program), you can omit the above command.
Next run:
env WINEPREFIX=$HOME/.wine winetricks win7
And then:
env WINEPREFIX=$HOME/.wine winetricks dotnet48
Now you should be able to right-click on your downloaded Scrivener 3 beta file and use Wine’s installer to install it.
Scrivener will create a .desktop file than you can use to launch the program (which didn’t work in my case, because my overall Wine installation has some issues—as I said, I’ll clean this up when the official version is released). You can then add the launcher as a “favorite” in the dock.
An easy alternative for launching is simply to hit the Super key to bring up Search and type in the first few letters of “Scrivener.” Once you see the program just hit Enter to launch it.
Or, if you like the command line, make a little shell script like so:
!/bin/bash
cd ~/.wine/drive_c/‘Program Files’/Scrivener
wine Scrivener.exe
Then you can run it with:
./scrivener.sh
from whatever directory you placed the script in. That said, a launcher is probably the best way to go and that’s what I’ll use once I clean things up.
And there you have it—a little work, but well worth it for those who want to be able to use the best long-form writing program on Linux.
I get errors running some of these commands, so I thought I’d share what I had to do to to fix them in case it helps others:
sudo dpkg -i –add-architecture i386
First off, it’s a double-dash “–” for add-architecture. Secondly, you can’t mix -i with it, so just remove that part since Wine is already installed.
sudo dpkg –add-architecture i386
Next, this one:
env WINEPREFIX=$HOME/.wine winetricks dotnet corefonts
“dotnet” is not a valid winetricks option, at least for me, so I changed it to:
env WINEPREFIX=$HOME/.wine winetricks –force dotnet45 corefonts
Which seems to work. I haven’t tested fully yet though.
Installing Scrivener by right-clicking the installer currently failed with a TCL error. I could not find a reason for this, but in researching it I did find a workaround which is to install it from the terminal:
wine Scrivener-installer.exe
Lastly, despite the edit at the top of the page, I still had to install speechsdk. Without it Scrivener simply wouldn’t start.
Hope this helps others who might run into these issues. Cheers!
When I run your command I get:
sudo dpkg -i –add-architecture i386
dpkg: error: conflicting actions (–add-architecture) and -i (–install)
The command needs to be run apart from the installation per se. All it does is enable the 386 architecture.
I appreciate your post, but I refuse to give my money to a company that doesn’t do the minimum of porting their software to the platform I use. So I’ll stick to my open source solutions that work very well to my writing needs.
Thanks for this.
Scrivener was my favourite writing tool and still would be if I could run it reliably on my (crostini chromebook) install. Unfortunately, on at least two past occasions, something went wrong and I ended up wasting days of writing time to get it all working again.
I’m tempted by your article to give it another bash at some point, but because L&L don’t really care too much about linux — I’m not blaming them — I’m pretty sure this won’t be the last time disaster strikes. As you say, I can’t afford to let a tool that’s meant to be helping me get in the way.
Trying to install scrivener 3 for windows by right-clicking the installer file and opening it with the WINE browser, may lead to the following (fatal) error message: “called Tcl_Close on channel with refCount > 0”.
The solution to this is to open a terminal window, cd to the location of the installer file and run “wine Scrivener-installer.exe”. (This presumes that .net and all other prerequisites had been fulfilled before).
This is correct. I hope eventually L&L tweaks the installer to eliminate the error. But installing with the wine command is the way to go for now, as I noted in the Scrivener 3 review.
This actually worked! It isn’t pretty, but Scriv is working. I’m not too sure I should trust it, Windows stuff looks kind of wobbly.
It will aid my transition to Linux, though, and I can compare Scriv and Manuskript side by side to see which one I want to stick with. Thanks for the guide!
Glad you’ve got it working. The current beta seems pretty stable on Ubuntu 20.04.
Hello,
After reading your article I bought Scapple for Windows, hoping to use it on my laptop running Linux Mint 19.3 Tricia. I had downloaded the trial version and used it a few times in Wine, but now it won’t let me activate the license. I would love to buy and use Scribd as well. I wonder if you would be willing to guide me through the process as I know very little about Linux? I was not able to understand all your instructions in this article. If not, that’s fine.
Best wishes,
Julie
Hi Julie,
Unfortunately, I’m not really in a position to provide personal consultations–sorry. However, for both Scapple and Scrivener, the key thing will be to get Wine set up correctly. Wine 6 has recently been released; you should be able to find instructions online for installing it.
Regarding the Scapple license, you might try uninstalling Scapple from Wine then reinstalling it. Scrivener 3 for Windows is not yet available for purchase; there’s only the beta. The final version should be released soon, though.
Very quick suggestion for both programs: right-click on the downloaded installer and select whatever Wine instruction you see (except uninstall, of course). If that does not work, then navigate to the directory where your download is located–for example, if it’s on your desktop, run “cd Desktop” in a terminal. Once your there, run the wine command followed by the program name–e.g., “wine Scrivener[version no.]”.
Hope this helps a bit.
Regards,
Thomas Pletcher
Writeside.com
Thanks for the work getting Scrivener running on Wine. Look forward to trying this myself on Manjaro.