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 – . 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.

A Scrivener API?

Scrivener (software)

For those of you that have wandered this way because of Scrivener related shenanigans (like, pumping data into a Google spreadsheet analysis a la Jamie Rubin’s scripts), thought I’d share this tidbit. Rather than speculate and hope, I wandered over to the Literature and Latte forums tonight and just straight up asked whether there was or would be an API for querying scrivener for stats. The reply can be found here (, but to save you a hop

There isn’t an API right now, though. This is on the roadmap, but I must stress, the long-term roadmap. :)

Also confirmed of my approaches for pulling the number of words written in a day (for that you should follow the hop) wasn’t wrong, even if it isn’t necessarily going to be right forever. Oh well, back to staring at a zero word count for the day.

EDIT: Re-read this post, clarified words my sleep deprived mind left out. Now back to that zero word count.

More tools to consider as you prep for NanoWriMo

Yesterday I mentioned (for the umpteenth time) Scrivener – today, some alternatives. A lot of people put these lists together this time of the year, but stick around, you might find something new 🙂

Storyist (commercial) – The Literature and Latte folks do an amazing job at nurturing their community, which is part of the fervor folks feel around Scrivener. But lurking on the sidelines are the folks that bring you Storyist. With its latest release, Storyist is very similar to Scrivener in both price and features. How individual documents are handled is different, but other than that the two products are largely similar. Why mention it? Because Storyist does win in one aspect – it has an iOS app. If being able to seemlessly work on the iPad and desktop is important to you, then this is the way to go. The iOS app is missing only the ability to do split screen views between documents – everything else is the same. If you want to spend the money and need that bridge, this is the way to go.

Focuswriter (Free/Donation) – I always mention Focuswriter because I love it that much. Focuswriter can edit both vanilla text and ODF documents, has a robust wordcount management (great for NanoWriMo), a rich theming environment, and my favorite – optional typewriter noises as you type. Living somewhere between a text editor and a writing suite, Focuswriter is a favorite.

yWriter (Free/Donation) – If I were a windows user, I’d probably  be using yWriter. Another suite that tries to be more than just a simple document editor, Hayes has put some amazing effort and features into this software over the years. In particular, the metadata that helps shape your story – character indexes, location and item tracking, dynamic storyboards – are easily tracked and kept up to date, freeing you to write.

Plume Creator (Open Source) – As robust a product as Scrivener or Storyist, Plume brings a fresh combination of the commercial software with features I like in yWriter. It’s a little clunky, but that’s just eye candy. Beneath the surface you’ll find Plume to be a very capable alternative to the commercial writing suites.

And so, these are a few of my favorite things. Not your usual list of Evernote and Notepad, but software I think you’ll find works as a true alternative. When the day is done and you have to write, though, it doesn’t matter what software you use, or if you end up doing it all with pen and paper. The only thing that matters is that you have fun and get some words down. How you do it? Bah.