linux开发板开机启动向日葵

硬件:orangepi 5 pro
操作系统:ubuntu 20.4 lts

安装向日葵

根据我的实测,arm架构的ubuntu系统只能安装向日葵提供的麒麟系统的那个版本,具体安装方式官网下载页面有

允许任意用户连接到 X11

使用root用户登录后打开终端输入一下命令,至于X11是什么可以自行搜索,我也一知半解,可以理解为一个图形界面的后端接口

xhost +          #允许任意用户连接到X11

编写python脚本

# coding:utf-8 
import subprocess 
import threading
import time
import os  # 导入 os 模块
from datetime import datetime  # 导入 datetime 模块

def is_connected():
    try:
        output = subprocess.check_output("ping -c 1 www.baidu.com", shell=True)
        return "1 packets transmitted, 1 received" in output.decode()
    except subprocess.CalledProcessError:
        return False

def task_1():
    # 设置 XDG_RUNTIME_DIR 环境变量
    os.environ['XDG_RUNTIME_DIR'] = '/run/user/1000'  # 替换为您的运行时文件目录
    
    isOpenXRK=False
    xCount=0        #计数
    while(True):  
        print("线程依然活着")
        time.sleep(3)
        xCount=xCount+1
        if xCount<10:
            continue
        else:
            xCount=0
        # 调用函数来验证联网状态
        if is_connected():
            print("已联网")
            if not isOpenXRK:
                # 设置 DISPLAY 环境变量
                #os.environ['DISPLAY'] = ':0'  # 设置显示服务器地址为默认值,经过测试这句可以不要
                
                # 启动进程并等待其完成
                process = subprocess.Popen(['/usr/local/sunlogin/bin/sunloginclient'], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
                stdout, stderr = process.communicate()
                # 打印输出和时间
                print("向日葵客户端输出:", stdout.decode())
                print("向日葵客户端错误:", stderr.decode())
                print("时间:", datetime.now().strftime("%Y-%m-%d %H:%M:%S"))  # 输出当前时间,精确到秒
                isOpenXRK=True
                # 如果有错误,打印错误信息
                if stderr:
                    print(stderr.decode())
                
                
        else:
            print("未联网")
            print("等待三秒 ")
        

if __name__== "__main__" :
    task1=threading.Thread(target=task_1,args=())
    task1.start()
    print("开启了线程")

使用supervisor管理该脚本开机启动

supervisor的使用方法这里就不赘述了,网上可以搜到很多,是一个进程管理工具

最后贴一张效果图,pi放在家里,刚reboot过,我在外面用外网连的

在这里插入图片描述

相关推荐

  1. linux向日葵开机启动

    2024-04-24 15:46:03       45 阅读
  2. linux开启启动配置

    2024-04-24 15:46:03       14 阅读
  3. Linux 系统开机启动流程

    2024-04-24 15:46:03       34 阅读
  4. linux开机启动方法

    2024-04-24 15:46:03       25 阅读
  5. Linux 开机启动Springboot程序

    2024-04-24 15:46:03       18 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-24 15:46:03       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-24 15:46:03       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-24 15:46:03       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-24 15:46:03       20 阅读

热门阅读

  1. 【Mysql】Mysql8存储引擎优化与锁和事务管理优化

    2024-04-24 15:46:03       12 阅读
  2. gitea的简单介绍

    2024-04-24 15:46:03       13 阅读
  3. 什么是Git?&& 工作原理

    2024-04-24 15:46:03       15 阅读
  4. spring bean的作用域

    2024-04-24 15:46:03       13 阅读
  5. 【迅投qmt系列】2、历史数据获取

    2024-04-24 15:46:03       14 阅读
  6. 通过easyExcel实现表格的导入导出

    2024-04-24 15:46:03       28 阅读
  7. 视频下载为什么需要大带宽服务器?

    2024-04-24 15:46:03       29 阅读
  8. antd-vue - - - - - a-config-provider全局配置中英文切换

    2024-04-24 15:46:03       32 阅读
  9. 1079:计算分数加减表达式的值

    2024-04-24 15:46:03       13 阅读