title: Enable Zettelstore to start automatically on Linux role: manual tags: #installation #manual #zettelstore syntax: zmk back: 00001003300000 backward: 00001003300000 box-number: 1 copyright: (c) 2020-present by Detlef Stern created: 20220114181521 forward: 00001003600000 lang: en license: EUPL-1.2-or-later modified: 20260707162000 published: 20260707162000 visibility: public Because there is no single way Linux systems are configured, there are many ways to start Zettelstore automatically. * One option is to treat your Linux desktop system as a server and use the [[recipe to install Zettelstore on a server|00001003600000]]. ** A lightweight alternative is described below. * If you are using the [[GNOME Desktop|https://www.gnome.org/]], you can use [[GNOME Tweaks|https://gitlab.gnome.org/GNOME/gnome-tweaks]]. It allows you to specify applications that should run automatically when you log in. * [[KDE|https://kde.org/]] provides a system setting to [[autostart|https://docs.kde.org/stable_kf6/en/plasma-workspace/kcontrol/autostart/]] applications. * [[Xfce|https://xfce.org/]] lets you specify [[autostart applications|https://docs.xfce.org/xfce/xfce4-session/preferences#application_autostart]]. If you're using a different desktop environment, try searching for its name together with the word ""autostart"". Alternatively, if your system uses [[systemd|https://systemd.io/]], you can configure it to start Zettelstore as a user service. Many Linux distributions use systemd as their init system and service manager. Adapt the following commands to your needs, then run them from a terminal: ``` $ mkdir -p "$HOME/.config/systemd/user" $ cd "$HOME/.config/systemd/user" $ cat <<__EOF__ > zettelstore.service [Unit] Description=Zettelstore After=network.target home.mount [Service] ExecStart=/usr/local/bin/zettelstore run -d zettel [Install] WantedBy=default.target __EOF__ $ systemctl --user daemon-reload $ systemctl --user enable zettelstore.service $ systemctl --user start zettelstore.service $ systemctl --user status zettelstore.service ``` The last command should show that the service is active and running.