Manage Reachy's services
The following commands are taken from systemd documentation. For more details, don’t hesitate to check the documentation directly.
💡 If your Reachy has been produced before or not been upgraded since July 2022, for each command, replace the first part
systemctl --user
bysudo systemctl
.
For example, the first command that we will show yousystemctl --user start reachy_sdk_server.service
would be replaced bysudo systemctl start reachy_sdk_server.service
.
Start, restart or stop a service
Eachy Reachy’s services can be started, stopped or restarted by hand. It can be useful for situations where for example you turned Reachy’s computer on but forgot to turn on its motors. By restarting reachy_sdk_server.service, you would not have to reboot Reachy’s computer.
To start a specific service like reachy_sdk_server.service, type the following command in a terminal
systemctl --user start reachy_sdk_server.service
Similarly, you can stop or restart a specific service by replacing the start keyword by either stop or restart. For example, to restart reachy_sdk_server.service, the command is
systemctl --user restart reachy_sdk_server.service
Note: if you stop a service, it will start again automatically at the next boot of Reachy’s computer. If you would prefer to always have the service stopped, you will have to disable it.
Get a service status
Having a service’s status can be really useful for debugging. With it you can know whether the service is active or not and especially, you can have access to the latest logs of the service. For example if you can’t connect to your Reachy or the mobile base with the Python SDK, there is probably a message in the service explaining why the code has crashed.
To get the status of a service like reachy_sdk_server.service, use
systemctl --user status reachy_sdk_server.service
Enable or disable a service
There are situations when you would prefer to disable a service completely so that it is never started when Reachy’s computer is booting. It might be for example because you would prefer to start Reachy’s ROS code by hand to have a finer control on it.
If that is the case, you can disable a service like reachy_sdk_server.service with
systemctl --user disable reachy_sdk_server.service
At any time, if you prefer to work with the service again, you can enable it.
systemctl --user enable reachy_sdk_server.service