自动开机启动项怎么设置,开机启动项路径在哪里

题图来自Unsplash,基于CC0协议
导读
设置开机启动项是管理计算机程序运行非常常见的需求,无论是开机自动检查更新、自动连接网络、还是自动启动某个应用程序或服务。不同操作系统有不同的方法来实现这一功能。本文将介绍在Windows、Mac和Linux系统上设置开机启动项以及关闭这些启动项的一些常见方法。
Windows 系统设置开机启动项
Windows 提供了相对直接的方法来控制那些在登录后立即需要运行的应用程序和脚本。
-
使用“启动”文件夹:
- 这是最常用的方法。该文件夹位于:
C:Users[你的用户名]AppDataRoamingMicrosoftWindowsStart MenuPrograms. AppData文件夹默认是隐藏的,你需要在文件资源管理器的“查看”选项卡中勾选“隐藏的项目”才能看到它,或者直接在文件路径中更改并按 Enter 进入。有时也推荐路径:C:Documents and Settings[你的用户名]Start MenuProgramsStartup(这是旧版本的路径,AppData/Roaming是现代 Windows 的位置)。- 将你需要在所有用户登录后自动启动的程序的快捷方式,复制并粘贴到这个“启动”文件夹里,程序便会自动运行。
- 查看启动项:同样在运行对话框 (
Win+R) 中输入shell:common startup可以查看所有用户的启动文件夹,输入shell:startup查看特定用户的启动文件夹。
- 这是最常用的方法。该文件夹位于:
-
使用任务计划程序:
- Windows 内置的“任务计划程序”功能非常强大,可以设置更复杂的启动任务,例如在系统启动早期(在用户登录之前或之后)运行程序。
- 打开“任务计划程序” (
services.msc或taskschd.msc,或通过Win+R输入taskschd.msn)。 - 右击左侧的“任务计划程序库”,选择“创建基本任务...” 或 “创建任务...”。
- 跟随向导,为你的任务命名,并设置触发器为“当计算机启动时”或相关事件,并定义要执行的操作(运行一个程序或脚本)。
- 这种方法适用于你需要在登录界面之前就运行的程序,或者需要基于更复杂时间或事件的程序。
-
使用第三方工具:
- 市面上有许多系统清理或管理软件(如 CCleaner)提供了更直观的界面来添加、移除或分析开机启动项。这些工具通常也顺便提供查看哪些程序在启动时被加载或启动的功能。
- 它们底层还是修改注册表键值或启动文件夹,但提供了更友好的用户界面。
-
启动项路径在哪里:
- 主要路径是
AppDataRoamingMicrosoftWindowsStart MenuProgramsStartup,也有可能是注册表键值,但直接通过“启动”文件夹操作是最简单常用的方式。
- 主要路径是
Mac 电脑如何设置开机启动项
Mac 系统(macOS)也提供了多种方法来设置开机启动项,主要是应用程序和后台服务。
-
应用程序文件夹:
- 有些无状态的应用程序会自动生成一个
com.apple.loginitems的属性列表文件(通常是除了常规的.app文件外的一个*.prefPane或LaunchAgent/LaunchDaemons.plist文件)。但是,一般应用程序不会自动创建启动项。 - 你可以在
/Library/LaunchAgents或/Library/LaunchDaemons文件夹下的特定格式文件(带有.plist后缀)来定义应用随开机启动。这需要手动创建或编辑特定的launchd(8)启动器配置文件。 - 根据安全权限,“用户启动项”通常放在
~/Library/LaunchAgents,这些是由单个用户登录时触发的。 - 通过系统偏好设置 (以前称“系统设置”):
- 进入“系统偏好设置” -> “用户与群组” -> 选择你的用户账户 -> “登录项”。
- 在这里,你也可以通过点击列表下方的“+”号图标来添加应用程序或登录时运行的脚本。这是 Mac 上用户层面设置登录时启动程序最简单的方式。
- 有些无状态的应用程序会自动生成一个
-
使用 Launch Agents/Daemons:
- 更推荐(尤其是对后台服务)的方式是将你的程序配置文件(
.plist文件)放置在/Library/LaunchAgents(系统级或所有用户)、/Library/LaunchDaemons(系统守护进程,注意权限,仅限管理员)或~/Library/LaunchAgents(特定用户登录时)。然后,通过命令launchctl load /path/to/your.file.plist来加载它,或者设置为开机自动加载。
- 更推荐(尤其是对后台服务)的方式是将你的程序配置文件(
Linux 系统设置开机启动程序
Linux 发行版众多,不同的发行版(Debian 系、Red Hat 系)可能使用不同的服务管理工具(SysVinit, Upstart, systemd)。目前绝大多数较新的发行版(如 Ubuntu、CentOS 7/8/9)使用 systemd。
-
Debian 系 (如 Ubuntu):
- 使用 ~/.bashrc 或 ~/.profile: 如果你的启动程序是命令行脚本或环境相关的,可以在用户的主目录下的
~/.bashrc或~/.profile文件末尾添加启动命令,然后登录控制台 (Ctrl+Alt+F1) 运行source ~/.bashrc来使其立即生效,重启后会在对应 shell 或登录时加载。这更适用于 user session 的启动项。 - 使用 systemd 用户服务 (推荐):
- 登录终端,编辑你的用户服务文件:
nano ~/.config/systemd/user/[your_service_name].service。 - 在文件中定义
[Unit]、[Service]、[Install]选项。 - 然后启用该服务:
systemctl --user enable [your_service_name].service. - 重启或运行
systemctl --user start [your_service_name].service。
- 登录终端,编辑你的用户服务文件:
- 使用
/etc/rc.local: 一个简单的可执行脚本,放置在/etc/rc.local中,该脚本会在 early 用户启动之前被调用,并可以在其 (也可以不休眠) 执行命令。 - 直接写入 /etc/rcX.d (不推荐):传统 SysVinit 允许在
/etc/init.d中创建启动脚本,然后符号链接到/etc/rcX.d目录下(X为运行级别),这些通常用于守护进程或系统级服务,不一定在用户图形界面启动后才加载。systemd 已经较少使用这种方式。
- 使用 ~/.bashrc 或 ~/.profile: 如果你的启动程序是命令行脚本或环境相关的,可以在用户的主目录下的
-
Red Hat 系 (如 Fedora, CentOS):
- 主要也是使用 systemd。
- 创建一个 systemd 服务文件,通常放在
/etc/systemd/system/目录下,配置具体内容。 - 然后使用
systemctl enable [your_service_name].service来设置开机启动。
-
启动项路径在哪里:
- Linux 的启动配置相对分散,系统级的启动脚本可能在
/etc/rc.local,而执行所有服务的 systemd 单元文件通常在/etc/systemd/system/或/usr/lib/systemd/system/。用户级的服务文件在~/.config/systemd/user/。例如,你想要在开机启动时运行某个自定义脚本,可以在/etc/rc.local中添加命令。
- Linux 的启动配置相对分散,系统级的启动脚本可能在
总结
选择哪种方法取决于你的需求、操作系统以及你对系统的熟悉程度。对于大多数需要在用户登录后自动运行的应用程序,Windows 和 Mac 提供了最简单的“启动文件夹”或“登录项”设置。对于开发的后台服务、命令行脚本或是分布式系统,任务计划程序、Launch Agents/Daemons 或 systemd 服务提供了更好的控制。无论使用哪种方法,在添加启动项之前理清程序的依赖和资源占用,谨慎操作,并在修改后了解如何关闭启动项(例如,删除启动文件夹的快捷方式或任务计划,或者删除相应的配置文件并手动卸载服务 systemctl disable 或 launchctl unload)是很重要的。
© 版权声明
本文由盾科技原创,版权归 盾科技所有,未经允许禁止任何形式的转载。转载请联系candieraddenipc92@gmail.com