程序开机自启动(基于linux)

有一个需求,基于python的多个代码文件,这多个文件比如分别是a.py, b.py, c.py, 以及一个最终的main.py,  上面3个py文件的产生的结果会在main.py代码中进行后处理以及最终的界面显示.

网上上给一些方法有:

(1)有修改这些环境配置文件文件来启动,/etc/profile、/etc/bash.bashrc、/.profile、/.bashrc,尝试后发现未解决问题

(2)在/etc/rc.local文件中加入启动命令,使用发现ubuntu20.04系统中找不到这个rc.local的文件,果断放弃

(3)编写.desktop文件,通过亲自实践,发现这个方法解决了问题,所有下面介绍这一种方法。

用上面第三种方法实现开启自启动,考虑的主要有以下几个步骤:

1.一个py文件运行所有的py脚本

考虑用subprocess,在一个py文件中运行上述的4个代码,比如用run_all.py一个文件可以一次性执行上述的a.py,b.py,c.py以及main.py

2.写一个.sh脚本

考虑在linux系统下进行自启动,感觉还是.sh文件更靠谱些

这个.sh文件执行上面的run_all.py

3.使用desktop进行开机自启动的设置

(1)创建desktop文件

在 /home/用户名/.config/autostart 创建一个.desktop文件

cd  /home/用户名/.config/autostart

touch xxxx.desktop

(2) 编写.desktop

[Desktop Entry]
Name=                           #程序名字

Comment=                       #程序注释
Exec=                           #可执行文件的路径  这里注意用 sh   xxxx.sh 而不要用 . / xxxxx.sh
Terminal=                       #是否打开终端 ,设置为true,机器重启开机后,将会自动打开一个终端
Type=                           #应用类型,常用有Application等
Icon=                           #图标,支持png 格式图片
Categories=                       #分类
Path=                          # 设置当前工作目录
X-GNOME-Autostart-enabled=true # 设置开机自启动

4. 开机密码关闭

因为是开机自启动,需要把开机密码给禁用掉,不然每次开机还要手动输入密码,只需要linux右上角的个人账号-->账号设置--->开启(自动登录) 即可

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 要在Linux上设置程序开机自启,可以按照以下步骤进行操作: 1. 打开终端,使用root权限登录系统。 2. 编写一个启动脚本,可以使用任何文本编辑器,例如vi或nano。脚本应该包含启动程序的命令。 3. 将脚本保存在/etc/init.d目录下,并赋予执行权限。例如,如果脚本名为myprogram,可以使用以下命令: ``` sudo cp myprogram /etc/init.d/ sudo chmod +x /etc/init.d/myprogram ``` 4. 使用update-rc.d命令将脚本添加到启动脚本列表中。例如,如果脚本名为myprogram,可以使用以下命令: ``` sudo update-rc.d myprogram defaults ``` 5. 现在,每次系统启动时,myprogram将自动启动。 注意:不同的Linux发行版可能有不同的启动脚本管理工具。上述步骤适用于Debian和Ubuntu等基于Debian的发行版。其他发行版可能需要使用不同的命令和目录。 ### 回答2: 在linux系统中,要设置程序开机自启,需要进行以下步骤: 1. 找到需要自启的程序,确定启动命令。一般来说,启动命令包括需要执行的程序文件、参数等。 2. 编辑rc.local文件。rc.local是在linux系统启动时最后一个被执行的脚本文件,可以在此文件中添加需要自启的程序命令。 输入以下命令: sudo vi /etc/rc.local 在文件末尾添加需要自启的程序命令,并保存。 例如,需要自启的程序为/usr/local/myapp/myapp.sh,则可以在文件末尾添加以下命令: /usr/local/myapp/myapp.sh & 注意,需要加上&符号,表示将程序放入后台运行。 3. 修改rc.local文件权限。输入以下命令: sudo chmod +x /etc/rc.local 将rc.local文件修改为可执行文件。 4. 启动系统,检查程序是否开机自启。完成以上步骤后,重启linux系统,查看需要自启的程序是否已经自动启动了。 需要注意的是,有些linux发行版系统会禁用rc.local文件,此时可以通过其他方式实现开机自启,如通过systemd等服务管理器来进行设置。不同系统设置方式会有所不同,需要根据具体情况进行操作。 ### 回答3: 在 Linux 操作系统下,有多种方式可以设置程序开机自启动,下面分别介绍。 方法一:通过在 /etc/rc.local 文件中添加启动脚本 1. 打开终端,输入以下命令进入编辑模式: sudo vim /etc/rc.local 2. 在文件末尾添加需要启动的程序的命令行。 比如,如果要开机启动 Google Chrome 浏览器,则可以添加以下命令行: /usr/bin/google-chrome & 注意此处的 & 符号,它的作用是将程序在后台运行。 3. 保存并退出编辑模式: 按 Esc 键退出编辑模式,输入 :wq! 保存并退出文件。 4. 设置文件权限: 输入以下命令: sudo chmod +x /etc/rc.local 该命令的作用是使 rc.local 文件可执行。 方法二:通过 systemd 服务管理器 1. 创建一个 .service 文件 在 /etc/systemd/system/ 目录下创建一个新的 .service 文件。比如, vim /etc/systemd/system/custom-program.service 2. 输入以下代码: [Unit] Description=Custom Program After=network.target [Service] ExecStart=/usr/bin/custom-program User=root Restart=on-failure RestartSec=5s [Install] WantedBy=multi-user.target 以上代码包含以下内容: - Description:对服务的描述。 - After:该服务依赖的其他服务。 - ExecStart:需要执行的程序的全路径。 - User:要运行该程序的用户。 - Restart:服务崩溃后是否重启。 - RestartSec:服务崩溃后多久重启。 3. 重新加载 systemd 配置 输入以下命令: sudo systemctl daemon-reload 4. 启动并设置自启动 输入以下命令: sudo systemctl start custom-program sudo systemctl enable custom-program 以上命令的作用是启动该服务并设置为开机自启动。 方法三:通过自定义 cron 任务 在 /etc/crontab 文件中添加启动任务,比如: @reboot root /usr/bin/custom-program 以上命令的作用是在系统启动后立即执行 /usr/bin/custom-program 程序。 这是比较简单的一种方式,但是需要注意的是,如果程序意外退出,cron 将不会重启它。 综上所述,以上是几种设置 Linux 程序开机自启的方式,根据需要选择相应的方式进行设置即可。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值