Executar o libreoffice automaticamente na inicialização requer que uma sessão gráfica deva existir atualmente.
O ambiente da área de trabalho é carregado em graphical.target
, que é depois de multi-user.target
.
Você também precisa fornecer as variáveis de ambiente adequadas para a sessão. Altere a configuração do serviço para o seguinte:
[Unit]
Description=test
[Service]
ExecStart=/usr/bin/libreoffice --writer /full/path/to/testing.odt
WorkingDirectory=/home/pi/Documents
StandardOutput=inherit
StandardError=inherit
User=pi
Environment="DISPLAY=:0"
Environment="XAUTHORITY=/home/pi/.Xauthority"
[Install]
WantedBy=graphical.target
Observação: você também precisa especificar o caminho FULL para testing.odt.
Depois disso, recarregue as configurações do daemon e ative-as:
sudo systemctl daemon-reload
sudo systemctl enable <my_service>
E isso deve funcionar.