Scrivener on Linux, for real, almost.

Back in my heavy Linux days, there was a software package known as WINE. Self referentially, it was an acronym for WINE INot an Emulator.  And yet, that’s what it did – it let you emulate just enough of a Windows environment to run windows software on Linux.

And it sucked.

It was nascent back then, prone to crashing if you could even get it to launch an application. Some core Windows software worked fine, but mostly, it was a crapshoot for functionality. I remember it mostly for its position in the gaming on Linux debates. There was one camp that thought games (and by extension, game manufacturers) should make Linux compatible games. The other camp thought that that was a waste of effort, if we could just get WINE working there wouldn’t need to be any extra development.

For a long time, I admit, I was in that first camp. A few companies produced native Linux games, and I played them as much as I could, and it was awesome. The whole point to being on Linux back then was to avoid tainting your world with the likes of Microsoft and their Evil Empire Monopoly.

But times and people change. I am still a big advocate of Linux, preferring it as my desktop when possible. “But you own some Macs!” is a valid argument to throw in my face. In my defense, after moving to the BSD kernel, Mac’s have largely become *NIX boxes with great eye candy. The fact that they all run on the same exact hardware universally means software developed on one doesn’t have to be adapted for another.

In the last year or so, I’ve strayed back to a Linux desktop though. The major moving factor these days isn’t the purity of the OS, but costs. As pretty and shiny as Macs are, they cost a lot. And the slightly used and old hardware I bought five years ago is really starting to show its age now. My iMac is manic these days; either “everything is spiffy, awesome, let’s run some more apps!” or, just as often, it will take ten or more minutes of chugging to do something before giving up and just throwing errors. I know the root cause – the hard drive is starting to fail – but since it’s a sealed case iMac, my only option for fixing it is to take it into a Mac repair shop and pay almost as much as the thing is worth to have it fixed. On top of that, the 8 gigs of RAM that were speedy when it was new just don’t stand up to the pressure of multitasking these days. My 2011 Macbook Air, bought from a company as part of a payout when I left, is still my go to for easy, mobile computing. But it’s also only running with 4 gigs of memory and a ticking time bomb on how many recharges are left on the battery before it’s just a paperweight.

So looking at cheaper hardware running Linux just makes sense. Except for one, seemingly fatal flaw:

I am addicted to Scrivener.

I have tried any variation of alternative approaches. Google docs would be awesome if they worked for me – I have a cheap Chromebook I bought with proceeds from a short story sale last year, after all. But the truth is that when you start working on a novel length document in Google docs, the average Chromebook drags. Opening a 50k novel on the Chromebook (ASUS, average hardware, 4 gigs of RAM) chugs, and there is a visible and dangerous delay between what you type and it actually appearing in your document. IF it even appears as typed.

I’ve tried variations of Markdown text files and complicated folder structures to keep it organized. That works better – plain text will always be king for mobility in this regard – but that’s when I realized what it was about Scrivener that I missed.

Scrivener gives me flexibility. I can keep scenes as discreet objects, move them around, enable or disable them at will from inclusion. I can type a story in any font and look that I want, because Scrivener’s compile options let me manipulate the final product without making any changes to my documents.  I don’t use more than 10% of the features of Scrivener, but that 10% is the bulk of my writing workflow.

There used to be a port of Scrivener for Linux. It was admirable, it was awesome, but (understandably) it became a bear to maintain. Like the camp of gamers that wanted Linux ports of popular games, the biggest issue with making software written for other platforms work on Linux is that there is no consistency. You can make a version that works on vanilla Ubuntu, Debian, or Red Hat, but those are just three of a multitude of options. And with each Linux distro, there are ever so slight variances in kernels, libraries, and compile options that make producing a universally running binary close to impossible. The only way to accomplish that is to be able to run it inside a virtual environment. Docker, a hypervisor, something that can emulate the libraries needed to make a version of the software work.

Which is where WINE comes back to the rescue. Because in the years since I first tried it, it has matured and improved considerably. And with projects like PlayOnLinux, a gui wrapper for WINE, it’s possible to configure and manage applications with amazing control. And that’s how I’m finally getting the best of both worlds. Sure, the Windows version of Scrivener is lacking a few of the bells and whistles of the Mac counterpart – but it is a functional, working, legitimate product. Running it inside of WINE works perfectly.

If you are interested in giving it a try, you can download the Windows trial version of Scrivener and follow the instructions in this video on youtube – https://youtu.be/4_2Sxxmsqx4 . While a little dated (you can use newer versions of WINE than the video suggests), the steps for setting it up worked perfectly. Me, I’ve got some work to do so I can get back to writing this afternoon.