Ror*_*ain 6 lubuntu google-chrome systemd 16.04
这与this question非常相似,但没有收到任何答案。
我正在从 Lubuntu 14.04 迁移到 16.04 并且有一个简单的 upstart 脚本,我需要转换为 systemd。它在 OpenBox 中启动 Chrome,其来源来自:将现有的 Ubuntu 桌面转换为 Chrome 自助服务终端
它创建了一个 upstart 脚本,该脚本使用 kiosk.sh 启动 X11 会话:
start on (filesystem and stopped udevtrigger)
stop on runlevel [06]
emits starting-x
respawn
exec sudo -u $USER startx /etc/X11/Xsession /opt/kiosk.sh --
Run Code Online (Sandbox Code Playgroud)
kiosk.sh 然后执行以下操作来启动 openbox 和 chrome:
#!/bin/bash
xset -dpms
xset s off
openbox-session &
while true; do
rm -rf ~/.{config,cache}/google-chrome/
google-chrome --kiosk --no-first-run 'http://thepcspy.com'
done
Run Code Online (Sandbox Code Playgroud)
使用 systemd 实现相同目标的最佳方法是什么?
您可以保留 kiosk.sh。Systemd 能够执行 shell 脚本。在“/etc/systemd/system/”中创建一个名为“chromestart.service”的文件并输入以下内容:
[Unit]
Description=Start of Google Chrome on startup
[Service]
Type=simple
ExecStart=startx /etc/X11/Xsession /opt/kiosk.sh
User=ENTER USERNAME HERE
Group=ENTER GROUPNAME HERE (usually the same as username)
[Install]
WantedBy=multi-user.target
Run Code Online (Sandbox Code Playgroud)
保存此文件后,运行以下命令以在启动时启用该服务:
systemctl enable chromestart.service
Run Code Online (Sandbox Code Playgroud)
还建议设置正确的权限:
sudo chown root:root /etc/systemd/system/chromestart.service
sudo chmod 755 /etc/systemd/system/chromestart.service
Run Code Online (Sandbox Code Playgroud)
现在重新启动。