Archlinux - 启动后自动启动“屏幕”

Archlinux - 启动后自动启动“屏幕”

我正在使用 Archlinux 构建一些小型互联网广播播放器。我现在需要的是自动启动(无需登录!)脚本或仅命令:

su -c 'screen "vlc (a lot of parameters)"' vlc_user

通过阅读https://wiki.archlinux.org/index.php/Autostarting和这个https://wiki.archlinux.org/index.php/Bash#Configuration_file_sourcing_order_at_startup我发现我需要将我的命令添加到 /etc/bash.bashrc ...但这不起作用...

有人可以帮助或指导我如何使其工作吗?

谢谢!

答案1

虽然您没有确切说明什么不起作用,但我推断您想要启动的程序实际上并没有在启动时启动。

问题是该bashrc文件实际上不会在启动时运行 - 它通常在登录时运行。您可以通过登录用户来确认这一点,然后命令应该会运行。但是,如果没有,那也没关系,因为您应该使用systemd(假设您使用 systemd 而不是使用 init.d 样式脚本)。

当您的系统启动时,systemd 应该有一个默认目标,我将用 来指定$TARGET。这个目标很可能是multi-user.target。我还假设您的命令是$COMMAND,要么是命令,要么是脚本文件。

现在,打开目录/etc/systemd/system并将编辑器指向文件internet-radio.service。写入以下内容:

[Unit]
Description=Internet Radio
[Service]
ExecStart=$COMMAND
[Install]
WantedBy=$TARGET

这应该会自动启动将要运行的守护进程。许多您可以添加到此文件的选项 -这篇博文是我编写这个答案的主要资源,并且如果您想在脚本终止时自动启动脚本,或者有一个 PID 文件,或者 systemd 可以为您做一百万件其他事情,它可能会对您有所帮助。

相关内容