我希望在 LibreOffice Writer 上创建并保存在文档中的文本文件在启动树莓派时自动打开。我知道有这个https://www.raspberrypi.org/documentation/linux/usage/systemd.md但这对我不起作用。有谁知道该怎么做?
以下是我创建的服务,我按照链接中的步骤操作
[Unit] Description=test
After=network.target
[Service]
ExecStart=/usr/bin/libreoffice-u testing.odt
WorkingDirectory=/home/pi/Documents
StandardOutput=inherit
StandardError=inherit
Restart=always
User=pi
[Install]
WantedBy=multi-user.target
答案1
如果您打算启动 LibreOffice,可以将应用程序启动移至 XDG,并在桌面环境启动后自动启动
[Desktop Entry]
Name=File
Type=Application
Exec=libreoffice --writer /full/path/to/odt
Terminal=false
答案2
在启动时自动运行 libreoffice 要求当前存在图形会话。
桌面环境加载完毕graphical.target
,这是之后的事情multi-user.target
。
您还需要为会话提供正确的环境变量。将服务配置更改为以下内容:
[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
笔记:您还需要指定满的test.odt 的路径。
之后重新加载守护进程配置并启用它:
sudo systemctl daemon-reload
sudo systemctl enable <my_service>
它应该有效。