我正在用我的 Raspberry Pi 创建一个无头媒体服务器,并且有很多垃圾必须在启动时运行才能使其有用。我的问题是以这种方式运行脚本的最佳方法是什么,优点和缺点是什么?
这是我见过的两种方法。我是个 Linux 菜鸟,如果这看起来微不足道的话,请原谅!
在我读过的大多数教程中,似乎您想要创建一个存储在 /etc/init.d/ 中的特殊脚本,然后运行如下内容:
sudo update-rc.d /etc/init.d/myScript defaults
我已经这样做了,它工作正常,但脚本似乎有点冗长,有那些我容易搞砸的 LSB 标头。就像本文。
但是我读过的一个教程有一个非常不同的方法,涉及在 /home/pi/.config 中创建一个新的配置文件
这里写的脚本简单得多,如下所示:
[Desktop Entry]
Type=Application
Name=TightVNC
Exec=SIMPLE ONE LINE SCRIPT GOES HERE
StartupNotify=false
那么这两个脚本有什么区别呢?我为什么要使用前一种方法,而不是后一种方法呢?
答案1
/etc/init.d 下的内容将在系统启动时运行。/home/pi/.config 下的脚本仅在用户 pi 登录时运行。
/etc/init.d 通常用于启动守护进程,我通常不使用自动登录。我的做法是编写脚本并将其放在我自己的脚本文件夹中。然后我会在 /etc/rc.local 中添加一行来调用我的脚本。下面详细介绍这种方法:
http://www.raspberry-projects.com/pi/pi-operating-systems/raspbian/auto-running-programs http://www.raspberry-projects.com/pi/pi-operating-systems/raspbian/scripts