在 Raspberry Pi3 b 上启动时自动打开文件?

在 Raspberry Pi3 b 上启动时自动打开文件?

我希望在 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

来源:https://developer.toradex.com/knowledge-base/how-to-autorun-application-at-the-start-up-in-linux#desktop_Files

答案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>

它应该有效。

相关内容