进入xwindows后系统挂起(黑屏)键盘鼠标没有响应@FreeBSD

问题:黑屏能看见鼠标,键盘和鼠标没有反应

在不小心升级pkg包后,系统无法进入xfce等xwindows,表现为黑屏和能看见鼠标,左上角有一个白字符块,键盘鼠标没有反应,整个系统卡住。但是可以ssh登录,内部的服务一切正常。

处理过程:

前面都是弯路,直接可以跳到Xorg配置和解决no screens found 报错问题这两部分。

使用xrandr查看显示

输入xrandr

报错can't open display

现在的问题就是解决么有display的问题,大约是在某个时间段,FreeBSD修改了xwindows的某个部件。。。。

用ssh登进去测试:

startx

xauth:  file /home/skywalk/.serverauth.7188 does not exist

/usr/local/libexec/Xorg.wrap: Only console users are allowed to run the X server

xinit: giving up

xinit: unable to connect to X server: Connection refused

xinit: server error

最后发现本身正常的时候,在tty控制台执行xrandr也是报错can't open display,所以这里走了弯路,一直在尝试解决这个报错。也就是这个报错不用去管它。

安装wayfile试试

# pkg install wayfire wf-shell alacritty swaylock-effects swayidle wlogout kanshi mako wlsunset

问题照旧

咨询bing

You could do this (if your DISPLAY is :0):

export DISPLAY=:0

xrandr --listmonitors

xrandr your_command

输入set DISPLAY=:0

xrandr --listmonitors

还是Can't open display

(最终知道,xrandr这里是走弯路了,tty等下面本身就是Can't open display,在xwindows下才能显示显示器那些数值)

重新学习FreeBSD手册

学到使用pciconf来查看显卡

pciconf -lv|grep -B4 VGA
vgapci0@pci0:0:2:0:	class=0x030000 rev=0x09 hdr=0x00 vendor=0x8086 device=0x1616 subvendor=0x17aa subdevice=0x2226vendor     = 'Intel Corporation'device     = 'HD Graphics 5500'class      = displaysubclass   = VGA
查看是biso还是uefi
sysctl machdep.bootmethod
machdep.bootmethod: UEFI

当然这个数据不重要 

安装intel显卡

pkg install drm-kmod
sysrc kld_list+=i915kms

降低intel显卡的cpu占用

pkg install libva-intel-driver mesa-libs mesa-dri

当然这不是必须的。 

Xorg配置

Xorg Configuration

Xorg supports most common video cards, keyboards, and pointing devices.

Video cards, monitors, and input devices are automatically detected and do not require any manual configuration. Do not create xorg.conf or run a Xorg -configure step unless automatic configuration fails.

 也就是除非自动配置失败,否则不需要使用下面命令或创建xorg.conf文件

sudo Xorg -configure
_XSERVTransSocketUNIXCreateListener: ...SocketCreateListener() failed
_XSERVTransMakeAllCOTSServerListeners: server already running
(EE) 
Fatal server error:
(EE) Cannot establish any listening sockets - Make sure an X server isn't already running(EE) 
(EE) 
Please consult the The X.Org Foundation support at http://wiki.x.orgfor help. 
(EE) Please also check the log file at "/var/log/Xorg.0.log" for additional information.
(EE) 
(EE) Server terminated with error (1). Closing log file.

 intel显卡配置

Example 1. Select Intel® Video Driver in a File

/usr/local/etc/X11/xorg.conf.d/20-intel.conf

Section "Device"Identifier "Card0"Driver     "intel"
EndSection

尝试手工写这个文件20-intel.conf(当然最终是没有用到,把这个文件屏蔽掉了)

再次看显卡: 

pciconf -lv | grep -B3 display
vgapci0@pci0:0:2:0:	class=0x030000 rev=0x09 hdr=0x00 vendor=0x8086 device=0x1616 subvendor=0x17aa subdevice=0x2226vendor     = 'Intel Corporation'device     = 'HD Graphics 5500'class      = display

使用X -config调用配置文件

执行测试

sudo X -config /root/xorg.conf.new
密码:
_XSERVTransSocketUNIXCreateListener: ...SocketCreateListener() failed
_XSERVTransMakeAllCOTSServerListeners: server already running
(EE) 
Fatal server error:
(EE) Cannot establish any listening sockets - Make sure an X server isn't already running(EE) 
(EE) 
Please consult the The X.Org Foundation support at http://wiki.x.orgfor help. 
(EE) Please also check the log file at "/var/log/Xorg.0.log" for additional information.
(EE) 
(EE) Server terminated with error (1). Closing log file.

执行startx(好像问题照旧)

重新删除和安装Xorg和xfce包

重新删除Xorg和xfce包,重新安装,执行startx

报错no screens 。现在的问题就变成解决no screens这个问题了。这个问题最终解决方法,见后面。

查看生成的X配置文件

cat /root/xorg.conf.new 
Section "ServerLayout"Identifier     "X.org Configured"Screen      0  "Screen0" 0 0InputDevice    "Mouse0" "CorePointer"InputDevice    "Keyboard0" "CoreKeyboard"
EndSectionSection "Files"ModulePath   "/usr/local/lib/xorg/modules"FontPath     "/usr/local/share/fonts/misc/"FontPath     "/usr/local/share/fonts/TTF/"FontPath     "/usr/local/share/fonts/OTF/"FontPath     "/usr/local/share/fonts/Type1/"FontPath     "/usr/local/share/fonts/100dpi/"FontPath     "/usr/local/share/fonts/75dpi/"FontPath     "catalogue:/usr/local/etc/X11/fontpath.d"
EndSectionSection "Module"Load  "glx"
EndSectionSection "InputDevice"Identifier  "Keyboard0"Driver      "kbd"
EndSectionSection "InputDevice"Identifier  "Mouse0"Driver      "mouse"Option	    "Protocol" "auto"Option	    "Device" "/dev/sysmouse"Option	    "ZAxisMapping" "4 5 6 7"
EndSectionSection "Monitor"Identifier   "Monitor0"VendorName   "Monitor Vendor"ModelName    "Monitor Model"
EndSectionSection "Device"### Available Driver options are:-### Values: <i>: integer, <f>: float, <bool>: "True"/"False",### <string>: "String", <freq>: "<f> Hz/kHz/MHz",### <percent>: "<f>%"### [arg]: arg optional#Option     "Accel"              	# [<bool>]#Option     "AccelMethod"        	# <str>#Option     "Backlight"          	# <str>#Option     "CustomEDID"         	# <str>#Option     "DRI"                	# <str>#Option     "Present"            	# [<bool>]#Option     "ColorKey"           	# <i>#Option     "VideoKey"           	# <i>#Option     "Tiling"             	# [<bool>]#Option     "LinearFramebuffer"  	# [<bool>]#Option     "HWRotation"         	# [<bool>]#Option     "VSync"              	# [<bool>]#Option     "PageFlip"           	# [<bool>]#Option     "SwapbuffersWait"    	# [<bool>]#Option     "TripleBuffer"       	# [<bool>]#Option     "XvPreferOverlay"    	# [<bool>]#Option     "HotPlug"            	# [<bool>]#Option     "ReprobeOutputs"     	# [<bool>]#Option     "XvMC"               	# [<bool>]#Option     "ZaphodHeads"        	# <str>#Option     "VirtualHeads"       	# <i>#Option     "TearFree"           	# [<bool>]#Option     "PerCrtcPixmaps"     	# [<bool>]#Option     "FallbackDebug"      	# [<bool>]#Option     "DebugFlushBatches"  	# [<bool>]#Option     "DebugFlushCaches"   	# [<bool>]#Option     "DebugWait"          	# [<bool>]#Option     "BufferCache"        	# [<bool>]Identifier  "Card0"Driver      "intel"BusID       "PCI:0:2:0"
EndSectionSection "Screen"Identifier "Screen0"Device     "Card0"Monitor    "Monitor0"SubSection "Display"Viewport   0 0Depth     1EndSubSectionSubSection "Display"Viewport   0 0Depth     4EndSubSectionSubSection "Display"Viewport   0 0Depth     8EndSubSectionSubSection "Display"Viewport   0 0Depth     15EndSubSectionSubSection "Display"Viewport   0 0Depth     16EndSubSectionSubSection "Display"Viewport   0 0Depth     24EndSubSection
EndSection

这样一通,启动后报错:no screens found 

至少现在启动Xwindows不会卡死了,有小小的进步。

解决no screens found 报错问题

详细见:Xorg启动后报错no screens found(EE)(未解决)-CSDN博客

装驱动试试

sudo pkg install libva-intel-media-driver

startx后同样报错

试试安装intel-compute-runtime-llvm13

intel-compute-runtime-llvm13

问题照旧

后面重装了Xorg、Xfce4

更新升级FreeBSD

具体做了如下操作:

upgrade FreeBSD 13.1 to 13.3 and then upgrade to 14.1 

reinstall intel driver and Xorg  Xfce4

at last install xf86-input-evdev

升级FreeBSD从13.1到13.3,然后再升级到14.1版本。

重新安装了Intel 显卡驱动和Xorg Xfce4

这时候startx还是报错,但是startxfce4能够进入Xfce4桌面了,问题是鼠标和键盘会卡住。

这个时候跟刚开始有点类似,只不过刚开始的时候是无法进入Xfce4桌面,而是屏幕显示左上角一个白色方块,中间是鼠标,鼠标和键盘都无法响应。而现在是能进入Xfce4桌面,鼠标和键盘都无法响应。

尝试安装envdev,try install evdev

通过搜索网上得知,鼠标和键盘无法响应可能是输入模块有问题,也就是xf86-input-evdev模块,于是安装这个模块:

pkg install xf86-input-evdev

then keyboard and mouse are OK ! 

安装完成后,鼠标和键盘正常。这样系统就基本修复完成了。

总结

整个解决问题的过程可以说是步履蹒跚。大致分成三个组成部分:

1 尝试解决xrandr的报错:can't open display,后来发现是乌龙,tty下本来就是报错的。这里走了弯路。

2 一顿操作猛如虎,现在至少每次startx的时候,系统不会卡住了。也就是启动后,鼠标键盘不会卡死,可以通过Ctrl+alt+Fn组合键,切换到Tty控制台,进行后面的操作。

所做的主要操作就是升级了FreeBSD的核心,从13.1升级到14.1,并重装了xorg Xfce以及其它驱动软件包。

最后发现更新完这些软件包后,删除掉以前手工写的config文件后(/usr/local/etc/X11/xorg.conf.d/)系统能够进入xfce桌面,但是鼠标和键盘卡住。

3 解决鼠标键盘卡住的问题

操作就是安装xf86-input-evdev

pkg install xf86-input-evdev

关于no screens found的问题,值得单开一篇,文档记录:Xorg启动后报错no screens found(EE)(未解决)-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/881193.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MongoDB的查询/超详细

1.查询的基本格式 查询参数1集合的所有数据. 参数1为您要查询的集合名称 //查询所有 db.参数1.find() 例子 查询student集合下的所有数据 db.student.find() 2.带条件的查询 查询满足参数2&#xff1a;“参数3”这样key&#xff1a;“velu”形式的数据 参数1&#xff1a;目…

阿里云域名注册购买和备案

文章目录 1、阿里云首页搜索 域名注册2、点击 控制台3、域名控制台 1、阿里云首页搜索 域名注册 2、点击 控制台 3、域名控制台

AJAX 1——axios体验、认识URL、常用请求方法、HTTP协议、错误处理、form-serialize插件

AJAX 1——axios体验、认识URL、常用请求方法、HTTP协议、错误处理、form-serialize插件 1.AJAX入门与体验axios 定义&#xff1a;浏览器与服务器进行数据通信的技术 体验axios库&#xff0c;与服务器通信 引入axios.js使用axios函数 <p class"my-p"></p&…

SQL中如何进行 ‘’撤销‘’ 操作-详解

在 SQL 中&#xff0c;撤销已经执行的操作通常涉及两个主要的概念&#xff1a;事务控制和回滚操作。 ### 1. 事务控制 在支持事务的数据库管理系统&#xff08;如 MySQL 的 InnoDB 引擎&#xff09;中&#xff0c;您可以使用事务来确保数据的完整性。事务可以确保一系列的操作…

YOLOv11改进,YOLOv11添加DCNv4可变性卷积(windows系统成功编译),二次创新C2f结构,全网最详细教程

改进训练结果前: 二次创新C2f结构训练结果: 摘要 引入了可变形卷积 v4 (DCNv4),这是一种为广泛视觉应用设计的高效且有效的操作算子。DCNv4通过两项关键增强解决了其前身DCNv3的局限性:1. 移除空间聚合中的softmax归一化,以增强其动态特性和表达能力;2. 优化内存访问以…

灵动微高集成度电机MCU单片机

由于锂电技术的持续进步、消费者需求的演变、工具种类的革新以及应用领域的扩展&#xff0c;电动工具行业正呈现出无绳化、锂电化、大功率化、小型化、智能化和一机多能化的发展趋势。无绳化和锂电化的电动工具因其便携性和高效能的特性&#xff0c;已成为市场增长的重要驱动力…

Task与 async 和await关键字使用和探讨

基本概念&#xff1a; Task (任务): 在 .NET 中&#xff0c;Task 表示一个可能会在未来完成的操作&#xff0c;可以是异步的&#xff0c;也可以是同步的。Task<TResult> 是返回结果的任务&#xff0c;而 Task 是不返回结果的任务。async 关键字: 标记一个方法为异步方法…

Linux:进程的创建、终止和等待

一、进程创建 1.1 fork函数初识 #include pid_t fork(void); 返回值&#xff1a;子进程中返回0&#xff0c;父进程返回子进程id&#xff0c;出错返回-1 调用fork函数后&#xff0c;内核做了下面的工作&#xff1a; 1、创建了一个子进程的PCB结构体、并拷贝一份相同的进程地址…

JavaScript for循环语句

for循环 循环语句用于重复执行某个操作&#xff0c;for语句就是循环命令&#xff0c;可以指定循环的起点、终点和终止条件。它的格式如下 for(初始化表达式;条件;迭代因子){语句} for语句后面的括号里面&#xff0c;有三个表达式 初始化表达式(initialize):确定循环变量的初始…

27 Vue3之unocss原子化

前置知识 什么是原子化 CSS 原子化 CSS 是一种 CSS 的架构方式&#xff0c;它倾向于小巧且用途单一的 class&#xff0c;并且会以视觉效果进行命名。 为什么使用 原子化 CSS 传统方案 制作原子化 CSS 的传统方案其实就是提供所有你可能需要用到的 CSS 工具。例如&#xff0c…

05:(寄存器开发)定时器一

定时器 1、系统定时器SysTick1.1、SysTick中断的使用1.2、使用SysTick制作延迟函数 2、基本定时器2.1、基本定时器中断的使用2.2、使用基本定时器制作延时函数 1、系统定时器SysTick 1.1、SysTick中断的使用 ①SysTcik系统滴答定时器和片上外设定时器不同&#xff0c;它在CPU…

第十一章 缓存之更新/穿透/雪崩/击穿

目录 一、什么是缓存 二、缓存更新策略 2.1. 缓存主动更新策略 2.1.1. Cache Aside模式&#xff08;主流&#xff09;‌ 2.1.2. Read/Write Through模式‌ 2.1‌.3. Write Behind模式‌ 2.1.4. 总结 三、缓存穿透 四、缓存雪崩 五、缓存击穿 5.1. 互斥锁实现 5.1.1…

C语言复习概要(四)

本文 1. 操作符的分类算术操作符关系操作符逻辑操作符 2. 二进制制和进制转换二进制与十六进制的表示进制转换算法 3. 原码、反码和补码原码反码补码 1. 操作符的分类 C语言中的操作符种类繁多&#xff0c;常用的主要操作符可以按照其功能进行如下分类&#xff1a; 算术操作符…

Unity 快速定位到目标文件夹

主要给习惯垂直布局用的&#xff0c;文件多了滚动都要滚半天 放到Editor下面&#xff0c;快捷键alt 文件夹首字母 public class EditorTool {//AltP打开资源路径[MenuItem("快捷方式/定位到预制体")]static void OpenResourcesUIPanel(){Selection.activeObject A…

【开源开放体系总结】

书生・浦语大模型全链路开源开放体系总结 一、引言 书生・浦语大模型全链路开源开放体系的出现&#xff0c;为人工智能领域的发展带来了新的活力和机遇。它涵盖了从模型研发到应用部署的全流程&#xff0c;旨在促进技术的共享与创新&#xff0c;推动人工智能技术在各个领域的广…

C++关于链表基础知识

单链表 // 结点的定义 template <class T> struct Node { T data ; Node <T> *next; //指向下一个node 的类型与本node相同 } // 最后一个node指针指向Null 生成结点&#xff1a; Node <T> * p new Node < T>; 为结点赋值: p-> data …

【微服务】服务注册与发现 - Eureka(day3)

CAP理论 P是分区容错性。简单来说&#xff0c;分区容错性表示分布式服务中一个节点挂掉了&#xff0c;并不影响其他节点对外提供服务。也就是一台服务器出错了&#xff0c;仍然可以对外进行响应&#xff0c;不会因为某一台服务器出错而导致所有的请求都无法响应。综上所述&…

LabVIEW机床加工监控系统

随着制造业的快速发展&#xff0c;机床加工的效率与稳定性成为企业核心竞争力的关键。传统的机床监控方式存在效率低、无法远程监控的问题。为了解决这些问题&#xff0c;开发了一种基于LabVIEW的机床加工监控系统&#xff0c;通过实时监控机床状态&#xff0c;改进生产流程&am…

双指针——删除有序数组中的重复项

题目描述 给你一个有序数组 nums &#xff0c;请你原地删除重复出现的元素&#xff0c;使每个元素只出现一次 &#xff0c;返回删除后数组的新长度。 不要使用额外的数组空间&#xff0c;你必须在原地修改输入数组 并在使用 O(1) 额外空间的条件下完成。 输入格式 一共两行。…

2024年华为OD机试真题-敏感字段加密-Python-OD统一考试(E卷)

最新华为OD机试考点合集:华为OD机试2024年真题题库(E卷+D卷+C卷)_华为od机试题库-CSDN博客 每一题都含有详细的解题思路和代码注释,精选c++、JAVA、Python三种语言解法。帮助每一位考生轻松、高效刷题。订阅后永久可看,发现新题及时跟新。 题目描述 给定一个由多个…