在有无图形化界面 情境下的 Linux 开机自启动文件配置 / superivisor配置 出现:提示“无法连接到X服务器:0.0“(cannot connect to X server :0.0)
创始人
2025-01-18 14:04:10
0

文章目录

  • 前言
  • 一、Supervisor
    • 1.安装
    • 2.配置文件
  • 二、开机自启动文件
    • 1.关闭用户sudo密码
    • 2.自启动sh文件
  • 三、图形化界面的打开与关闭
  • 总结


前言

近期学弟学妹正在做校电赛,不太会配置开机自启动文件,以下是一个记录。
有问题可以发邮件到邮箱layraliu@foxmail.com


一、Supervisor

Supervisor 是一个客户端/服务器系统,允许用户控制类 UNIX 操作系统上的多个进程。它可以很方便的监听、启动、停止、重启一个或多个进程。
注意:Supervisor 只在 Python 3.4 或更高版本以及 Python 2.7 上工作。

1.安装

apt-get install supervisor 

2.配置文件

cd /etc/supervisor/conf.d/		#进入配置文件夹 sudo nano 配置文件名.conf			#建立配置文件并编辑 

以下是配置文件:

[program:配置文件名] directory=运行文件所在文件夹绝对路径 command=bash 运行文件绝对路径 user=root							#指定用户 autostart=true						#开机自启 redirect_stderr=true				#将标准错误重定向 stdout_logfile=运行文件绝对路径/supervisor.log	#输出错误日志文件 stopasgroup=true					#是否向子进程发送停止信号 killasgroup=true					#是否向子进程发送kill信号 #以上两段实际上是为了一键关闭所开的所有程序 stopsignal=INT						#杀死进程时发送的信号,模拟ctrl+c 
sudo supervisorctl 				#进入supervisor客户端的交互终端 update							#重新加载新配置文件 status							#查看状态 sudo supervisorctl start 配置文件名	#运行你设置自启动的文件 sudo supervisorctl stop 配置文件名	#关闭运行中的自启动文件 

其实在这里,应该就已经完成了,但由于学弟学妹需要调出opencv的弹窗进行调试(如果不需要图形化界面教程已经就结束了)。
这里由于Linux内核的原因,会导致程序崩溃。

可以使用以下命令实时查看日志:tail -f supervisor.log 文件的绝对路径
可能会提示"无法连接到X服务器:0.0"(cannot connect to X server :0.0)
需要进行以下的操作。
在需要运行的sh自启动文件里加入:

export DISPLAY=:0 

在主目录的.profile文件下加入:
我参考了

xhost + 

经过以上操作应该就可以了,开机后如果想看程序是否运行(如果你的程序无显示),其实可以通过:ps -aux查看所有进程。
可以直接:sudo kill 要杀死程序的pid号
(推荐)也可以通过交互式终端杀死:sudo supervisorctl stop 配置文件名(这里值得注意的是supervisor是不支持tab补齐的。)
其实如果你开机只有一个自启动文件的话:也可:sudo supervisorctl stop all

二、开机自启动文件

1.关闭用户sudo密码

每次sudo要输入密码都很烦,可以进行以下操作:

sudo nano /etc/sudoers 

在文件的最后加入:

用户名 ALL=(ALL:ALL) NOPASSWD:ALL 

2.自启动sh文件

代码如下(示例):

#!/bin/bash sudo chmod 777 /dev/ttyUSB0 export DISPLAY=:0 python3 xxx.py 

三、图形化界面的打开与关闭

Linux是非常鄙视图形化界面的,请大家习惯使用非图形化界面。
暂时关闭:sudo init 3
暂时打开:sudo init 5
永久关闭:sudo systemctl set-default multi-user.target记得reboot
永久打开:sudo systemctl set-default graphical.target记得reboot

总结

希望可以给大家带来简洁的体验,我看网上是修改rc.local,其实这样非常不优雅。

相关内容

热门资讯

『Linux从入门到精通』第 ... 目录💐专栏导读💐文章导读 🌷Linux环境的搭建方式...
【Linux】进程信号万字详解... 🎇Linux:博客主页:一起去看日落吗分享博主的在Lin...
网络知识host(Host的含... 网络知识host主要是表示能够同其他机器互相访问的本地计算机;同时网络hosts也表示...
服务器报错:“Unhealth... 我是dell R740xd设备 服务器报错如下:1. 确认问题:① 根据...
FPGA实现 TCP/IP 协... 目录1、前言工程概述免责声明2、相关方案推荐我这里已有的以太网方案1G 千兆网 TCP-->客户端 ...
document.cookie Cookie 是一个请求首部,其中含有先前由服务器通过 Set-Cookie 首部投放...
七个测试(Wepoke专用)外... 七个测试(Wepoke专用)外挂透明挂脚本(辅助挂)软件透明挂(2022已更新)(哔哩哔哩)是一款可...
一文搞懂Socket网络编程 🥑 一文搞懂Socket一、什么是 Socket?本质上就是两个进程之...
华为ensp模拟校园网/企业网... 目录1.网络需求分析1.1 功能需求分析1.2 技术需求分析1.3 网络安全需求分析2.校园局域网设...
8分钟私人房(微扑克)原来一直... 8分钟私人房(微扑克)原来一直总是有挂,aapoker外挂教程(2023已更新)(哔哩哔哩);是一款...