Ubuntu-如何在启动时运行终端命令?


12

我想在Ubuntu启动时执行命令。这些命令尤其是:

sudo shutdown +m
sudo shutdown +1

我希望计算机在启动后立即关闭以进行测试。我计划使用正在测试的一些电路重新打开计算机。

如何在系统启动时自动执行此命令?


9
“启动时自动关机”听起来很邪恶。:)
Ankit 2012年

Answers:


15

将其放入/etc/rc.local。(它以root用户身份运行,因此sudo在那里不需要。)

另外,您可能有兴趣阅读有关运行级别的其他信息:http : //en.wikipedia.org/wiki/Runlevel


您也可以转到“系统/首选项/启动应用程序”,然后在其中添加脚本。
SaintWacko 2012年

在Ubuntu Server 18.04上对我不起作用-我想交换为sudo swapon /swapfile
Nam G VU

将crontab与@reboot语法配合使用对我有用。superuser.com/a/586078/34893
Nam G VU

6

有多种自动运行命令的方式:

  1. 新贵系统将执行它发现在目录中配置的所有脚本形式/etc/init。这些脚本将在系统启动期间运行(或响应某些事件,例如关闭请求),因此可以运行不与用户交互的命令。使用此机制启动所有服务器。您可以在以下网址找到易读的简介:http : //upstart.ubuntu.com/getting-started.html手册页,man 5 initman 8 init提供了完整的详细信息。

  2. .gnomerc每次登录GNOME会话时,都会自动获取在主目录中命名的Shell脚本。您可以在其中放置任意命令;您在会话中运行的任何程序都会看到在此脚本中设置的环境变量。请注意,直到.gnomerc脚本完成,会话才开始。因此,如果要自动启动某些长时间运行的程序,则需要附加&到该程序调用上,以便将其与正在运行的shell分离。

  3. 菜单选项“ 系统”->“首选项”->“启动应用程序”使您可以定义在图形会话启动时应启动哪些应用程序(Ubuntu预定义了一些应用程序),并根据您的喜好添加或删除它们。这与.gnomerc脚本的目的和范围几乎相同,除了您不需要了解sh语法(但您也不能使用任何sh编程构造)。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.