qubes-doc/user/advanced-topics/qubes-service.rst
parulin 4212c5eda8
Correct code-block lexers
Changing `bash` lexer to `console` because it is appropriate most of
the time. Then after a manual review, some lexer have been changed.

I used `text` each time I was unsure, and for prompt outputs.

The page `/developer/building/qubes-iso-building.rst` still need to be
reviewed (look for lines starting with `$ #`).

I'm not sure about the Windows pages, should we use
[doscon](https://pygments.org/docs/lexers/#pygments.lexers.shell.MSDOSSessionLexer)
or `powershell`?

Is there an appropriate lexer for `guid.conf` content?

**Statistics - Before**
    870 bash
      9 python
      9 c
      2 yaml

**Statistics - After**
    684 console
    111 text
     44 bash
     16 yaml
      9 systemd
      9 c
      8 python
      4 ini
      4 doscon
      2 markdown
      2 desktop
      1 xorg.conf
      1 xml+jinja
      1 xml
      1 kconfig
      1 html

This suggests that the default lexer should be `console`.
2025-08-08 16:55:35 -04:00

22 lines
815 B
ReStructuredText

=============
Qubes service
=============
.. warning::
This page is intended for advanced users.
Usage documentation is in the ``qvm-service`` man page. There are also described predefined services.
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.
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:
.. code:: systemd
[Unit]
ConditionPathExists=/var/run/qubes-service/<service name>
This will cause the service to be started only when you enable it with ``qvm-service`` for this VM.