Systemd: Difference between revisions

From miki
Jump to navigation Jump to search
No edit summary
Line 1: Line 1:
== Usage ==
== Services ==
* <code>systemd:0</code> means first systemd socket defined in the .socket file (FD 3), <code>systemd:1</code> is the second (FD 4) and so on.
* <code>systemd:0</code> means first systemd socket defined in the .socket file (FD 3), <code>systemd:1</code> is the second (FD 4) and so on.


Line 53: Line 53:
[Install]
[Install]
WantedBy=multi-user.target
WantedBy=multi-user.target
</source>

== Power management (<code>systemd-inhibit</code>) ==
'''systemd-inhibit''' may be used to execute a program with a shutdown, sleep, or idle inhibitor lock taken. It allows you do disable only selected features and allows setting user visible string to explain why these features are inhibited [https://askubuntu.com/questions/67355/how-do-i-completely-turn-off-screensaver-and-power-management]. See <code>man systemd-inhibit</code>

<source lang="bash">
systemd-inhibit sleep 2h # Prohibit idle, sleep, shutdown for 2 hours
systemd-inhibit wget "https://example.com/files/huge-download.dat" # Same, while download ongoing
</source>

To list active inhibitors:
<source lang="bash">
systemd-inhibit --list
</source>
</source>

Revision as of 06:29, 27 March 2019

Services

  • systemd:0 means first systemd socket defined in the .socket file (FD 3), systemd:1 is the second (FD 4) and so on.

Configure a service to start at boot

sudo systemctl enable courier-authdaemon

Create a new service

From SE:

  • Create a file /etc/systemd/system/foo.service
[Unit]
Description=foo

[Service]
ExecStart=/bin/bash -c "while true; do /bin/inotifywait -qq --event close_write /sys/class/backlight/acpi_video0/brightness; su myusername -c '/bin/xbacklight -display :0 -set $(cat /sys/class/backlight/acpi_video0/brightness)'; done"

[Install]
WantedBy=multi-user.target

Reload systemd:

systemctl daemon-reload

Enable the new service:

systemctl enable foo

The service will start automatically at boot. To start it immediately:

systemctl start foo
systemctl status foo # optional, just to verify

Example of options to add in the service file:

[Unit]
Description=rapid spam filtering system
After=nss-lookup.target

[Service]
ExecStart=/usr/bin/rspamd -c /etc/rspamd/rspamd.conf -f
User=_rspamd
RuntimeDirectory=rspamd
RuntimeDirectoryMode=0755
Restart=always

[Install]
WantedBy=multi-user.target

Power management (systemd-inhibit)

systemd-inhibit may be used to execute a program with a shutdown, sleep, or idle inhibitor lock taken. It allows you do disable only selected features and allows setting user visible string to explain why these features are inhibited [1]. See man systemd-inhibit

systemd-inhibit sleep 2h                                            # Prohibit idle, sleep, shutdown for 2 hours
systemd-inhibit wget "https://example.com/files/huge-download.dat"  # Same, while download ongoing

To list active inhibitors:

systemd-inhibit --list