To install the optional cryoSPARC systemd service, navigate to the folder
cryosparc_master/systemd inside your cryoSPARC installation directory on the master node.
Run the following command, to ensure your shell's environment variables are setup correctly for cryoSPARC:
eval $(cryosparcm env)
Then, double check that the owner and group of the file
install_services.sh matches the user and group that cryoSPARC runs as. Finally, execute the aforementioned script, as root and with the appropriate environment variables, as follows:
sudo env "CRYOSPARC_ROOT_DIR=$CRYOSPARC_ROOT_DIR" ./install_services.sh
You should have two new services installed:
The former service (cryosparc-env) does some environment setup required by cryoSPARC, and the latter is the actual cryoSPARC service. To start cryoSPARC via systemd, run both services, in order.
sudo systemctl start cryosparc-env.servicesudo systemctl start cryosparc-supervisor.service
Only the latter service needs to be stopped to shut down cryoSPARC.
If you want to configure cryoSPARC to run on startup, both services need to be enabled:
sudo systemctl enable cryosparc-env.servicesudo systemctl enable cryosparc-supervisor.service
It is not recommended to use
cryosparcm stop/start at the same time to manage cryoSPARC, it is best to choose one or the other. When using systemd, other features of
cryosparcm (other than start/stop) can be used as normal.
If you are running SELinux, it may prevent these services from functioning by default. Contact your system administrator for assistance configuring SELinux to allow the services to operate.
Users of Red Hat Enterprise Linux have reported difficulties getting the cryosparc systemd configuration working, likely due to SELinux. See the following discussion forum post for a workaround, until this is addressed: