Linux 相当于 windows 启动文件夹

5 linux boot unix

我有一个要在 Linux 启动时运行的脚本,我知道 Windows 有一个启动文件夹,Linux 也有一个。我做了一些研究,发现了各种文件,其中有许多相互矛盾的答案。路径:

/etc/systemd/system
Run Code Online (Sandbox Code Playgroud)

似乎被使用了。另一种是:

/etc/rc.local
Run Code Online (Sandbox Code Playgroud)

我还看到:

/etc/init.d
Run Code Online (Sandbox Code Playgroud)

我只想要在所有或至少大多数 Linux 发行版上存在的 Linux 等效的 Windows 启动文件夹的路径。我还希望能够在该目录中放置一个脚本以使其在启动时运行。什么路径可以满足这些要求。

Tu *_*inh 7

大多数形式的自动启动取决于您的安装:您使用的初始化系统(sysv vs systemd vs upstart)、您的桌面环境(GNOME/KDE vs 非 XDG 的)等。

Cron 存在于大多数 Linux 系统上,可用于自动启动。添加一行到您的/etc/crontab

@reboot /usr/bin/blah
Run Code Online (Sandbox Code Playgroud)

/usr/bin/blah您要运行的命令在哪里。

如果您希望程序在您登录时启动,并且您使用的是符合 XDG 的桌面环境(例如 GNOME 或 KDE),请将.desktop文件放入~/.config/autostart. 有关.desktop文件的示例,请参阅Arch wiki

或者,如果您的 Linux 发行版使用 systemd,您可以编写一个单元文件。例如:

[Unit]
Description=autostart something

[Service]
Type=oneshot
ExecStart=/usr/bin/blah

[Install]
WantedBy=multi-user.target
Run Code Online (Sandbox Code Playgroud)

将上面的文本放入/etc/systemd/system/blah.servicesystemctl daemon-reload以root身份运行以注册服务。接下来,运行systemctl enable blah.service以启用新服务的自动启动。

有关如何编写 systemd 单元文件的详细信息,请参阅此链接