2014-05-11 12:22:41 -04:00
---
2021-03-13 13:06:18 -05:00
lang: en
2015-04-10 16:17:45 -04:00
layout: doc
2015-10-28 18:14:40 -04:00
permalink: /doc/qubes-service/
2015-10-11 03:04:59 -04:00
redirect_from:
2015-10-28 18:14:40 -04:00
- /en/doc/qubes-service/
2015-10-11 03:04:59 -04:00
- /doc/QubesService/
- /wiki/QubesService/
2021-03-13 13:06:18 -05:00
ref: 138
2021-03-13 12:42:50 -05:00
title: Qubes Service
2014-05-11 12:22:41 -04:00
---
2020-05-03 14:44:37 -04:00
Usage documentation is in the `qvm-service` man page. There are also described predefined services.
2014-05-11 12:22:41 -04:00
2020-05-03 14:44:37 -04:00
Under the hood, an enabled service in a VM is signaled by a file in `/var/run/qubes-service` .
This can be used to implement an almost enable/disable **per-VM** switch controlled by dom0.
2014-05-11 12:22:41 -04:00
2021-03-13 12:03:23 -05:00
Adding support for systemd services is pretty simple. In the VM, create the following file (and directory, if needed): `/etc/systemd/system/<service name>.service.d/30_qubes.conf` . It should contain the following:
2014-05-11 12:22:41 -04:00
2017-02-02 22:04:23 -05:00
~~~
[Unit]
ConditionPathExists=/var/run/qubes-service/< service name >
~~~
2014-05-11 12:22:41 -04:00
2020-05-03 14:44:37 -04:00
This will cause the service to be started only when you enable it with `qvm-service` for this VM.