Installing on Linux#
There are different ways to install novelWriter, depending on your Linux distro. Here is a quick overview.
Fedora#
novelWriter is available in the main Fedora repository as of Fedora 41.
You can install it with:
sudo dnf install novelwriter
Ubuntu#
A Personal Package Archive (PPA) is available for novelWriter on Launchpad. This is the most straightforward way to install and update novelWriter on Ubuntu. It also works for other Debian-based distros, but see the next section for more details on this.
The Launchpad packages are signed by the author.
You can add the Ubuntu PPA and install novelWriter with the following commands.
sudo add-apt-repository ppa:vkbo/novelwriter
sudo apt update
sudo apt install novelwriter
sudo add-apt-repository ppa:vkbo/novelwriter-pre
sudo apt update
sudo apt install novelwriter
Debian and Mint#
A Debian package can be downloaded from Downloads, or from the Releases page on GitHub. This package should work on both Debian, Ubuntu and Linux Mint, at least.
The install instructions for adding the Launchpad repository on Ubuntu do not work on Debian and Mint as they are Ubuntu-specific. Instead, do one of the following:
As of Debian 13 (Trixie) and other Debian derivatives, the keyring format has changed. The following instructions use Sequoia to install the key in the correct format, and sets up the source file in the new format.
If you don’t have Sequoia installed, first run:
sudo apt install sq
Import the keyring:
sudo sq network keyserver --server hkps://keyserver.ubuntu.com search "F19F1FCE50043114" \
--output /usr/share/keyrings/novelwriter-ppa-keyring.gpg --overwrite
Add the source file:
sudo sh -c "cat > /etc/apt/sources.list.d/novelwriter.sources" << EOF
Types: deb
URIs: http://ppa.launchpad.net/vkbo/novelwriter/ubuntu/
Suites: noble
Components: main
Signed-By: /usr/share/keyrings/novelwriter-ppa-keyring.gpg
EOF
sudo sh -c "cat > /etc/apt/sources.list.d/novelwriter-pre.sources" << EOF
Types: deb
URIs: http://ppa.launchpad.net/vkbo/novelwriter-pre/ubuntu/
Suites: noble
Components: main
Signed-By: /usr/share/keyrings/novelwriter-ppa-keyring.gpg
EOF
For Debian 12 (Bookworm) and older, and equivalent derivatives, use the old keyring format and apt sources list file format.
Import the keyring:
sudo gpg --no-default-keyring --keyring /usr/share/keyrings/novelwriter-ppa-keyring.gpg \
--keyserver hkp://keyserver.ubuntu.com:80 --recv-keys F19F1FCE50043114
Add the source list:
echo "deb [signed-by=/usr/share/keyrings/novelwriter-ppa-keyring.gpg] http://ppa.launchpad.net/vkbo/novelwriter/ubuntu noble main" | sudo tee /etc/apt/sources.list.d/novelwriter.list
echo "deb [signed-by=/usr/share/keyrings/novelwriter-ppa-keyring.gpg] http://ppa.launchpad.net/vkbo/novelwriter-pre/ubuntu noble main" | sudo tee /etc/apt/sources.list.d/novelwriter-pre.list
Tip
If you get an error message like gpg: failed to create temporary file
when importing the key
from the Ubuntu keyserver, try creating the folder it fails on, and import the key again:
sudo mkdir -m 700 /root/.gnupg/
Install novelWriter
Then run the update and install commands as for Ubuntu:
sudo apt update && sudo apt install novelwriter
AppImage Releases#
For other Linux distros than the ones mentioned above, the primary option is AppImage. These are completely standalone images for the app that include the necessary environment to run novelWriter. They can of course be run on any Linux distro, if you prefer this to native packages.
Known Issues#
There are some known issues with the new AppImage files on some distros and desktop environments after the switch to Qt6. If you get the following error:
qt.qpa.plugin: From 6.5.0, xcb-cursor0 or libxcb-cursor0 is needed to load the Qt xcb platform plugin.
qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.
Try installing one of the suggested packages:
sudo apt install libxcb-cursor0
A more permanent solution will come, but for the time being, installing the library should solve the issue.