• 程序开机自启动(基于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右上角的个人账号-->账号设置--->开启(自动登录) 即可

  • 相关阅读:
    三项最高级认证,两项创新技术、两大优秀案例,阿里云亮相云原生产业大会
    创建多个 conda 环境和 jupyter 切换使用环境
    leetcode:118. 杨辉三角
    微信小程序打开弹出层页面还可以滚动,导致弹出层和内容分离。不如筛选的时候。
    CentOS7.9安装jdk1.8
    vue3+element-plus props中的变量使用 v-model 报错
    Greenplum 实用工具-gpaddmirrors
    Ansible配置和使用(Ansible免密登陆的小技巧)
    立仪科技光谱共焦在半导体领域的应用
    AWS Systems Manager(SSM)
  • 原文地址:https://blog.csdn.net/u011304078/article/details/127788309