-
2021-05-15 19:47:46
Linux设置程序开机自启动大致有三种方法。
一、通过rc.local设置自启动
通过在/etc/rc.local的文件夹下添加shell指令即可在开机时自动启动指令。其内容的格式举例如下:
#!/bin/sh
sudo mkdir /test
该例子便是在开机时在根目录下创建新文件夹/test,同理也可以运行其他程序,会编写sh的可以把所用的指令写进sh文件后在rc.local启用sh文件即可。这种方法比较方便便捷,但这种方法也有一定的特殊性和局限性。
rc.local的启动是在用户登录之前,对于整个系统开机而言的启动程序执行,当程序执行完成后才会进入用户界面,所以当开机启动项过多,那么系统开机的时间就会变长。并且rc.local只能运行命令行程序,无法运行带界面的程序,运行带界面的程序会报错无法运行然后直接跳过该程序。
二、通过autostart运行
这种方法是首先在/usr/share/applications/目录下创建一个名为QRDecode.desktop的启动配置文件,然后加入以下代码:
[Desktop Entry]
Version=1.0
Name=QRDecode
Exec=/home/test/QRDecode #这是那个可执行程序所在完整路径,如果程序有附加输入参数,也可以跟在后面添加,并用空格隔开
StartupNotify=false
NoDisplay=true
Type=Application
Categories=System;Utility;Archiving;
将这个文件拷贝到/etc/xdg/autostart目录下,然后重启即可运行(可以运行GUI程序)
在这里说明一下,这个文件的文件名可自定义,但文件后缀很重要,不能更改丝毫。然后也只有将该文件复制在/etc/xdg/autostart文件目录下才会生效,如果文件路径有所变化,记得也需要及时找到该文件并更改程序路径。这种运行方式可以运行带界面的程序。并且在用户登录之后才会运行。如果想要完全意义上的开机自动运行,需要设置成用户自动登录。一般情况下,推荐使用这种方法。
三、代替系统界面运行程序
如果想要代替系统界面去运行一个程序,即把应用程序当作系统桌面去启动,则可以使用此方法。
在/etc/profile文件的开头添加执行程序的命令。如:
cd /home/username/workspace
./hello
或者直接写:
/home/username/workspace/hello
注意,此方法实现后如果需要改回去,可以通过进入tty命令行界面进行修改操作,快捷键是:Ctrl+Alt+F1,注意,F1、F2一直到F6都可以进入tty界面,只不过每一个界面都是单独的一个界面。另外此方法有一点需要注意的是,如果是自己开发的程序,比如通过QT开发的程序,通过此方法在开机自启动运行后,是不会显示程序右上角那一行的,包括程序名和最小化最大化和关闭按钮,所以如果为了方便调试与开发建议程序里添加按钮之类的可以关闭程序功能,这样如果想回到系统可以通过关闭程序返回系统。但如果是自己开发的依旧建议用第二种方法,并在程序里添加默认全屏显示的功能依然可以达到和第三种一样的效果。且界面显示等不会有其他意外的情况。
综上,以上便是个人总结的Linux下设置开机自启动的程序的方案。基本都是在网上找寻方法以及个人使用感受所得。如你有更好的方法,欢迎评论分享。
更多相关内容 -
详解CentOS设置程序开机自启动的方法
2020-09-15 12:53:04本篇文章主要介绍CentOS设置程序开机自启动的方法 ,在CentOS系统下,主要有两种方法设置自己安装的程序开机启动。有兴趣的可以了解一下, -
将某一个exe设置为开机自动启动程序
2012-05-28 20:21:10该源代码主要是将某一个要开机自启动的exe程序设置为开机自启动程序,程序支持用户手动选择将要设置为开机自启动的程序。 -
将应用程序设置为开机自动启动
2020-11-12 09:21:112、在开始按钮弹出的下拉框中,选择所有的程序。 在这里插入图片描述 3、在所有程序列表中,找到启动按钮。 4、双击点击启动图标,启动列表显示为空。...10、点开应用程序的文件位置,找到应用程序的启动图标。1、在windows系统桌面,点击开始按钮,弹出下拉框。
2、在开始按钮弹出的下拉框中,选择所有的程序。
在这里插入图片描述
3、在所有程序列表中,找到启动按钮。
4、双击点击启动图标,启动列表显示为空。
5、鼠标右键单击启动图标,弹出下拉菜单,选择打开按钮。
6、点击打开按钮后,进入启动的文件页面。
7、我们在开始菜单列表,选择一个应用程序。
8、右键单击选中的应用程序,点击属性菜单。
9、进入应用程序的属性界面,点击文件位置。
10、点开应用程序的文件位置,找到应用程序的启动图标。
11、选择应用程序的启动图标,右键单击创建快捷方式。
12、创建完成快捷方式以后,将应用程序的快捷方式复制到启动文件夹内,我们再返回启动项就可以看到该应用程序,设置为开机启动了。
转载自:https://jingyan.baidu.com/article/25648fc170da9f9190fd006a.html
该资源来源自网络,只为做笔记方便以后查看,如有侵权行为,请联系删除。 -
Windows脚本bat设置开机自启动
2017-03-21 17:48:36Windows脚本bat设置开机自启动 -
Linux 设置程序开机自动启动
2019-08-31 23:29:11将程序设置为开机启动的方法不止一种,这里记录的,应该是最常用的一种。 root用户执行命令:ll /etc/rc.d/ 可以看到有下面这些文件: [centos@ip-172-31-42-26 init.d]$ ll /etc/rc.d/ 总用量 16K drwxr-xr...目录
1. 基础说明
将程序设置为开机启动的方法不止一种,这里记录的,应该是最常用的一种。
root用户执行命令:ll /etc/rc.d/
可以看到有下面这些文件:
[centos@ip-172-31-42-26 init.d]$ ll /etc/rc.d/ 总用量 16K drwxr-xr-x. 10 root root 127 10/30 22:57 . drwxr-xr-x. 85 root root 8.0K 06/02 03:42 .. drwxr-xr-x. 2 root root 70 06/02 03:10 init.d drwxr-xr-x. 2 root root 45 10/30 22:57 rc0.d drwxr-xr-x. 2 root root 45 10/30 22:57 rc1.d drwxr-xr-x. 2 root root 45 10/30 22:57 rc2.d drwxr-xr-x. 2 root root 45 10/30 22:57 rc3.d drwxr-xr-x. 2 root root 45 10/30 22:57 rc4.d drwxr-xr-x. 2 root root 45 10/30 22:57 rc5.d drwxr-xr-x. 2 root root 45 10/30 22:57 rc6.d -rw-r--r--. 1 root root 473 04/25 17:19 rc.local
其中 rc0~6.d 中的 0~6 代表运行级别:
0:系统停机(关机)模式,系统默认运行级别不能设置为0,否则不能正常启动,一开机就自动关机。 1:单用户模式,root权限,用于系统维护,禁止远程登陆,就像Windows下的安全模式登录。 2:多用户模式,没有NFS网络支持。 3:完整的多用户文本模式,有NFS,登陆后进入控制台命令行模式。 4:系统未使用,保留一般不用,在一些特殊情况下可以用它来做一些事情。例如在笔记本电脑的电池用尽时,可以切换到这个模式来做一些设置。 5:图形化模式,登陆后进入图形GUI模式或GNOME、KDE图形化界面,如X Window系统。 6:重启模式,默认运行级别不能设为6,否则不能正常启动,就会一直开机重启开机重启。
设置程序开机启动,要做的事情就是:
- 在 init.d 目录下创建一个启动脚本(将程序启动命令放在里面)
- 然后增加它的可执行权限
- 最后设置 rcxx.d 到启动脚本的软连接
2. 编辑启动文件
启动文件示例如下,编辑之后保存(我设置的名字是:ssserverctl):
#!/bin/bash ### BEGIN INIT INFO # Provides: Neucrack # Required-Start: $remote_fs $syslog $network $named # Required-Stop: $remote_fs $syslog $network # Should-Start: $network $portmap # Should-Stop: $network $portmap # X-Start-Before: nis # X-Stop-After: nis # Default-Start: 3 5 # Default-Stop: 0 1 2 4 6 # X-Interactive: true # Short-Description: ss auto start script # Description: shadowsocks auto start script, # This file should be used to construct scripts to be # placed in /etc/init.d. ### END INIT INFO case "$1" in start) `nohup ssserver -c /opt/config/shadowsocks.json > ~/backup/temp/connect.log 2>&1 &` ;; stop) `nohup ps aux | grep ssserver | awk '{print $2}' | xargs kill -9 2>&1 &` ;; restart) $0 stop $0 start ;; *) echo "Usage: $0 {start|stop|restart}" exit 1 ;; esac
需要注意的是,启动命令不要是阻塞式的,避免脚本执行之后等待输入。
3. 给启动文件添加权限
执行命令:chmod +x ssserverctl
[root@izj6ca57bbyivzigu89mfoz:init.d]$ ll 总用量 64 -rwxr-xr-x 1 root root 972 8月 25 23:36 ssserverctl
设置完成之后,可以执行下面的命令来检查脚本是否有效(start/stop对应脚本里面的参数):
/etc/init.d/ssserverctl start /etc/init.d/ssserverctl stop
4. 设置软连接
设置软连接的时候,要注意命名规则。
查看已有的软连接:ll /etc/rc.d/rc3.d/
[root@izj6ca57bbyivzigu89mfoz:init.d]$ ll /etc/rc.d/rc3.d/ 总用量 0 lrwxrwxrwx. 1 root root 20 8月 18 2017 K50netconsole -> ../init.d/netconsole lrwxrwxrwx. 1 root root 17 8月 18 2017 S10network -> ../init.d/network lrwxrwxrwx 1 root root 22 8月 24 2017 S15staragentctl -> ../init.d/staragentctl lrwxrwxrwx 1 root root 15 8月 13 19:42 S50aegis -> ../init.d/aegis lrwxrwxrwx 1 root root 16 8月 13 19:42 S64mysqld -> ../init.d/mysqld lrwxrwxrwx 1 root root 19 8月 24 2017 S85apachectl -> ../init.d/apachectl lrwxrwxrwx 1 root root 17 8月 24 2017 S85php-fpm -> ../init.d/php-fpm lrwxrwxrwx 1 root root 23 8月 25 23:42 S91ssserverctl -> /etc/init.d/ssserverctl
可以发现在启动脚本前面都加了 “K数字”,或者 “S数字”
其中 K 表示 Kill 某个程序,S 表示 Start 某个程序
后面紧跟着的数字,表示启动/停止某个程序的顺序,数字越小的越先启动(数字的具体值可以自己根据情况自行设定)
我这里设置软连接用的命令是:
ln -s /etc/init.d/ssserverctl /etc/rc3.d/S91ssserverctl
如果要设置程序关机自动停止,可以新增一个软连接:
ln -s /etc/init.d/ssserverctl /etc/rc0.d/K91ssserverctl
如此设置之后,开机重启,检查程序是否可以开机自动启动。
-
Windows设置程序开机自启动_设置程序开机自启动的几种方法_添加启动项
2022-01-22 15:35:23方法一 Win + R 打开运行,输入:shell:startup 把要开机自启的程序文件...双击‘新值’,在打开的窗口中输入要将自启动的程序路径即可 以上方法添加的启动项 Win10系统可在任务管理器>启动/Win7系统可在msconfig& -
linux下设置自己的程序开机自启动
2021-05-09 06:22:321.开机启动时自动运行程序Linux加载后, 它将初始化硬件和设备驱动, 然后运行第一个进程init。init根据配置文件继续引导过程,启动其它进程。通常情况下,修改放置在 /etc/rc或 /etc/rc.d 或 /etc/rc?.d 目录下的... -
Linux系统开机自启动程序设置
2021-12-20 17:24:51用户可以在Linux系统配置自启动的程序,可以通过多种方式来实现。 1. rc.local 2. /etc/profile,~/.profile,~/.bashrc -
C# 设置程序以Windows服务的形式开机启动
2012-10-12 14:09:35自己写了一个C#程序,将其设置成开机启动程序,以Windows服务的形式(这样可以在用户登入之前就启动,快于杀毒软件的启动和桌面程序的启动) -
Windows 技术篇 - win10开机启动项设置方法,windows启动项里没有的程序设置开机启动方法
2021-05-25 15:39:44通过 win+i 打开设置界面,进入...如果没有启动项的应用想设置开机启动的话,就把要启动程序的快捷方式放入下面地址里即可。 C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup -
如何将自己的exe程序设置为开机自启动
2018-09-21 15:02:13如何将自己的exe程序设置为开机自启动 将自己的exe程序设置为开机自启动 话不多说,直接看 首先 1:cmd—>regedit 其次找到下面的路径就可以:(以win10为例) 计算机\HKEY_CURRENT_USER\Software\Microsoft\... -
使用注册表将程序设置为开机自启动
2016-07-30 08:38:33开机总是要打开Rtx, Chrome等应用,无奈又没有在相关程序中找到开机启动设置,所以才在网上找了这个方法,修改注册表即可.找到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run注册表中这一项(小技巧... -
树莓派设置开机自启动程序
2021-08-01 10:34:03树莓派设置开机自启动程序 1、普通程序 方法一:向rc.local文件添加启动代码 sudo nano /etc/rc.local 在exit0之前添加想要执行的文件,su表示获取权限,-c表示执行结束后恢复权限,&表示后台运行 su pi -c ... -
树莓派把一个python程序设置为开机启动
2019-06-12 18:30:011)sudo vim /etc/rc.local python 要执行的脚本;注意如果有文件要执行的话,需要cd到对应目录下。 2)第一招有可能不行。又找了一种新的办法 在/home/pi/.config下创建一个文件夹autostart,并在该文件夹下创建... -
设置Python程序开机自启动
2021-04-29 15:47:34Windows下设置Python程序开机自启动,其实不只是Python程序,任何程序皆可。 进入目录:cdC:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup 创建 .bat 文件,内容如下: ... -
C#实现将应用程序设置为开机启动的方法
2015-10-13 12:10:02C#实现将应用程序设置为开机启动的方法 作者:我心依旧 这篇文章主要介绍了C#实现将应用程序设置为开机启动的方法,涉及C#针对注册表的写入技巧,具有一定参考借鉴价值,需要的朋友可以参考下 本文实例讲述了C#实现... -
Ubuntu添加和设置开机自动启动程序的方法
2021-09-10 16:24:251. 开机启动时自动运行程序 Linux加载后, 它将初始化硬件和设备驱动, 而后运行第一个进程init。init根据配置文件继续引导过程,启动其它进程。一般状况下,修改放置在网络 /etc/rc或app /etc/rc.d 或ide /etc/rc?.... -
设置python程序开机自启动
2019-07-03 20:46:46设置python程序开机自启动 1、创建一个.bat文件,右键编辑 2、在.bat文件里面写入以下内容后保存: ``` d: #如果需要开机自启动的python程序在c盘,不需要这一行程序;如果需要自启动的python程序在d盘(或... -
Windows设置程序 .bat 开机自启动
2020-07-31 10:22:422、将需要开机自动启动的程序的快捷方式拷贝到里面即可 3、重启系统验证 4、自启动成功。 1、打开启动文件夹 C:\Users\lex\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup,或者打开运行,... -
Windows Server 2012 设置开机启动程序
2019-03-13 09:30:05找到系统启动项文件夹. C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup 右键选择创建快捷方式 . 定位到相应的应用程序并设置其参数 -
教你设置电脑开机程序启动顺序的详细教程
2021-07-29 02:11:20设置电脑开机程序启动顺序大家对于U盘重装系统已经并不陌生,而其中最重要的一个步骤,就是在bios里面设置开机启动项。而今天小编要给大家介绍到的就是关于电脑开机时,系统内软件的启动顺序设置,想必还有不少朋友... -
windows设置开机自动启动程序
2020-11-05 14:13:26设置Windows开机自动启动程序有以下几种...2.拷贝需要开机启动的程序的快捷方式到此文件夹即可。 3.打开任务管理器-启动查看启动项。 这样就设置好了,下次计算机启动时,程序也会自动启动的。 第二种:使用计划任务 -
Windows下如何将一个程序设为开机自启
2017-05-02 21:33:28在msconfig里面进行设置的前提是,这个程序已经在自启动列表中,只是没有被勾选上,但是,如果我要将一个不在该启动列表里的程序设为开机自启怎么办呢; 可以确定的是,必须得把这个程序加入到自启动列表里,怎么加? ①... -
Windows设置自己的程序开机自动启动
2018-12-20 17:49:26Windows系统想要快速设置开机自动启动某个程序,可以使用以下几种方法设置: 第一种:设置启动项 1.找到启动文件夹,我的是C:\Users\ThinkPad\AppData\Roaming\Microsoft\Windows\Start ...2.拷贝需要开机启动的程... -
电脑如何设置开机启动项
2021-07-15 01:08:20今天,小便就将电脑设置开机启动项的方法分享给你们,赶紧来瞧瞧吧开机启动项如何设置呢?如今有了电脑,做什么事情都很简单快速。但是有些朋友在使用电脑的时候想更方便一点。对此,小编给大家整理了设置开机启动项... -
树莓派设置程序开机自启动(通过桌面启动)
2021-12-31 11:13:23树莓派设置程序开机自启动(通过桌面启动) -
qt设置进程开机自启动
2021-12-01 14:52:56qt程序内部,有时候有个设置选项,就是是否设置开机启动。 下面代码就是实现开机启动设置和取消的功能,具体请看代码: //判断系统是否为64位 bool is64BitSystem() { typedef void (WINAPI *PGNSI)(LPSYSTEM_INFO)... -
如何设置一个java程序开机启动
2020-06-05 10:21:291,把启动命令保存为一个bat文件。 2,控制面板->查看方式:小图标显示->管理工具->任务计划程序 3,任务计划程序:创建任务->填写任务名称和描述,然后一定要选中“不管用户是否登录都要运行”、... -
Linux CentOS7系统设置程序开机自启动的方法
2021-07-09 17:13:52Linux CentOS7系统设置程序开机自启动的方法 项目场景: 在CentOS7系统下,需要将自己写的脚本程序设置为开机自启动。 准备需要启动的脚本内容xxx.sh 提示:为了开机自启动有效,.sh脚本的前三行需如下: #!/bin/...