Ubuntu14.04设置开机自启动脚本
2024-10-13 18:26:12
方法一、编辑rc.loacl脚本
Ubuntu开机之后会执行/etc/rc.local文件中的脚本,所以我们可以直接在/etc/rc.local中添加启动脚本。在 exit 0 前面添加好脚本代码,如:
!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing. echo "hello start up script!" > /home/sc/Desktop/mystart.txt exit
重启后可以在桌面上看到生成的mystart.txt文件。
方法二、添加一个Ubuntu的开机启动服务
如果要添加为开机启动执行的脚本文件,可先将脚本复制或者软连接到/etc/init.d/目录下,然后用:update-rc.d xxx defaults NN 命令(NN为启动顺序),将脚本添加到初始化执行的队列中去。
1) 新建一个脚本文件 test.sh
#!/bin/bash
# command content
echo "hello start up script!" > /home/sc/Desktop/mystart.txt
exit
2) 将脚本放置到启动目录/etc/init.d下
sudo mv test.sh /etc/init.d/
3) 设置脚本文件的权限
cd /etc/init.d/
sudo chmod 755 test.sh
4) 将脚本添加到启动脚本中
sudo update-rc.d test.sh defaults
其中数字90是脚本启动的顺序号,数字越大表示执行的越晚,按照自己的需要相应修改即可。
重启后可以在桌面上看到生成的mystart.txt文件。
移除ubuntu开机脚本:
sudo update-rc.d -f test.sh remove
方法三、桌面环境下设置开机自启动
从Xfce桌面菜单中选择"Settings Manager"(设置管理器)。在"Settings"(设置)窗口中,点击"Session and Startup"(会话和启动)图标。
在"Application Autostart"(应用程序自动启动)选项卡下,点击底部的"Add"(添加)按钮,添加自启动程序。
或者在终端中执行:gnome-session-properties,会弹出一个“启动应用程序首选项”的菜。点击添加会弹出下面的这个对话框:在名称中写入要启动应用的名字,命令是这个应用的可执行程序的位置,一般的可执行程序都在/usr/bin目录下。注释可写可不写:
设置好后可以输入指令立即重启:sudo shutdown -r now ,开机后会自动执行用户编写的GUI程序:
如果是控制台程序,可以在Command输入如下命令:
gnome-terminal -x /home/sc/Desktop/test
gnome-terminal打开一个新的终端,-x参数后面的内容是要执行的命令。重新启动后可以看到gnome终端模拟器中打印出Hello world!
如果执行完后一闪而过,一种方法是修改terminal的配置,选择Edit→Profile Preferences→Title and Command,里面有一项When command exits,选为Hold the terminal open就可以了。
参考:
最新文章
- WebService -- Java 实现之 CXF ( 添加系统预定义的拦截器)
- 【Mail】JavaMail介绍及发送邮件(一)
- echarts X轴数据显示不全问题
- rpm安装和卸载软件
- struts2文件下载及 <;param name=";inputName";>;inputStream<;/param>;的理解
- 从零开始学android开发-四大组件之一 Activity
- SQLite入门与分析(六)---再谈SQLite的锁
- [HDOJ 5212] [BestCoder Round#39] Code 【0.0】
- confluence的权限管理
- Java 网络编程(三) 创建和使用URL访问网络上的资源
- 云服务器下ASP.NET Core 1.0环境搭建(包含mono与coreclr)
- iOS开发--Runtime的简单使用之关联对象
- python定时利用QQ邮件发送天气预报
- SDP(12): MongoDB-Engine - Streaming
- 【Thread】CountdownEvent任务并行[z]
- 面试问烂的 Spring AOP 原理、SpringMVC 过程(求求你别问了)
- eclipse web module版本问题:Cannot change version of project facet Dynamic Web Module to 2.5.
- springmvc为什么是线程不安全的
- DAX2012 R3安装
- winrar5.50去广告教程(仅供学习使用)
热门文章
- C#与Java 的区别
- caffe 生成检测框并绘图
- jquery click()方法模拟点击事件对a标签不生效的解决办法
- Asp.net MVC 如何防止CSRF攻击
- aspnet_regiis -i VS 20XX 的开发人员命令提示符
- 构建配置 defaultConfig signingConfigs buildTypes productFlavors dependencies
- 【Scala】Scala-使用ExecutorService-等待所有线程完成
- [Docker] Converting from Docker Compose to Kubernetes
- HotSpot Java虚拟机中的“方法区”“持久代”“元数据区”的关系?
- log4j和web.xml配置webAppRootKey 的问题(一个tomcat下部署多个应用)