Since there is no such thing as the one Linux, there are too many different ways to automatically start Zettelstore.
One way is to interpret your Linux desktop system as a server and use the recipe to install Zettelstore on a server.
If you are using the Gnome Desktop, you could use the tool Tweak (formerly known as “GNOME Tweak Tool” or just “Tweak Tool”). It allows to specify application that should run on startup / login.
Xfce allows to specify autostart applications.
LXDE uses LXSession Edit to allow users to specify autostart applications.
If you use a different desktop environment, it often helps to to provide its name and the string “autostart” to google for it with the search engine of your choice.
Yet another way is to make use of the middleware that is provided. Many Linux distributions make use of systemd, which allows to start processes on behalf of an user. On the command line, adapt the following script to your own needs and execute it:
# 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 output some lines to indicate success.