Linux下如何强制写EDID? (linux 强制写edid)

随着电脑的普及,我们需要不断地与各种设备进行连接,比如连接外接显示器,又或是连接投影仪。而在这个过程中,我们需要处理各种问题,其中一个很常见的问题就是EDID的问题。那么,在Linux下如何强制写EDID呢?本篇文章将会详细地讲解这个问题的解决方法。

一、什么是EDID?

我们需要知道什么是EDID。EDID(Extended Display Identification Data),即扩展显示器识别数据,是一块存储在显示器ROM中的数据块。它让计算机能够自动识别显示器的尺寸、分辨率、刷新率以及其他相关特性。这个技术简化了计算机和显示器之间的配置步骤,为用户提供了更好的使用体验。

如果你曾经遇到过无法使用显示器的问题——比如屏幕分辨率不正常、颜色显示不合适等,那很可能是EDID出现了问题。这种情况很常见,但是相对而言,Linux用户更容易受到影响,因为Linux并没有像Windows这样的自动识别显示器的功能。

二、为什么需要强制写EDID?

在某些情况下,由于一些原因(可能是硬件故障或软件故障),EDID可能被破坏或无法正常识别。当我们使用Linux时,这种情况经常发生,并且这可能会导致问题,比如不能得到正确的分辨率,或者遇到屏幕闪烁等问题。这时,我们需要强制写EDID,让计算机正确地识别显示器信息,以解决这些问题。

三、如何强制写EDID?

1. 编辑grub文件

如果你是在Linux上安装的多系统环境,那么你需要在grub中加入特定的参数以实现强制写EDID。如下所示:

在启动时,在grub界面按下e以编辑kernel参数,将以下参数添加:

video=VGA-1: EDID=1280×1024

然后,按下F10键以保存参数,并启动计算机。这可以使用您所需的默认分辨率并强制写入EDID。

2. 硬编码EDID

除了在grub文件中添加参数,您还可以尝试手动硬编码EDID。该过程较为复杂,但是如果您需要在其他Linux分布版中强制写EDID,这将非常有用。

您需要使用get-edid命令来获取EDID文件。您可以在终端中运行以下命令:

sudo get-edid > monitor-edid.hex

这将创建一个包含EDID信息的16进制文件monitor-edid.hex。

接下来,您需要将EDID文件转换为C++ HEX数组,这个过程可以使用edid-decode工具完成,您可以通过以下命令在终端中安装它:

sudo apt-get install edid-decode

然后,您可以使用以下命令将16进制文件转换为C++数组:

edid-decode monitor-edid.hex > edid.h

这将创建一个名为edid.h的文件,其中包含了转换后的EDID数据,其中也包含了数组,您可以使用它在其他Linux发行版中强制写入EDID。

您还需要将EDID数据加载到显示器的内存中。您可以执行以下命令:

sudo modprobe i2c-dev

sudo modprobe i2c-i801

sudo modprobe drm

sudo modprobe drm_kms_helper

sudo modprobe drm_modeset

像这样,您已经成功地硬编码了EDID,并将其成功地加载到显示器内存中。这将有助于您解决一些显示器相关的问题,提升用户体验。

四、结论

EDID是一个非常重要的数据块,它可以帮助计算机识别显示器的尺寸、分辨率、刷新率以及其他相关特性。当EDID发生破坏或无法正常识别时,我们需要强制写EDID以解决问题。本文旨在为Linux用户提供关于如何强制写EDID的详细指南。尽管强制写EDID的过程可能会有些复杂,但是通过这个方法,您可以轻松解决显示器相关的问题,提升您的使用体验。

相关问题拓展阅读:

linux(ubuntu)can’t open file for writing

cd 到 /user/lib/python3/dist-packages/bcloud/这个目录,看看有没有auth.py这个文件

vi命令是如果当前路径没有这个文件,它会自动建一余和个新的文件,所以是空的。

不行渗闹就搜索你的系统里有没有 auth.py这个文件,找丛毁罩到后再修改

linux 中普通用户访问/etc/shadow 的问题

因为普通用户是通过psw命令修改自己的密码的,psw程序有修改shadow文件的权限

首先你要明白root权限的用户是可以对任何文件进行操作的隐散。

这里就假设shadow的属性为r,即任何人对该文件没有操作权限,但是在这里,如果你是root用户,就可以访问。 假设你使用passwd修改命令,按照你说的普通用户可以修改银肢密码(实际上只有root用户锋携世才能执行passwd),那么passwd的属性可能就是rwxr-sr-x,注意该属性中的s(suid)取代了X的位置,也就是说当普通用户执行passwd的时候会得到s属性,这个s属性代表在执行的过程中你会获得root权限,最开始也说了,root权限能进行一切操作,所以,你描述的操作是可行的

普通用户执行/usr/bin/passd命令时,由于passwd

文件类型

是(-rwsr-xr-x)绝巧,执行过程中拥有root用户的权限,所以可以对/etc/shadow(源隐-r)文件做强制写操作。

(-rwsr-xr-x)中的s是suid权限,功能是在这个文件被执行的过程中,其他用户可以在执行过程中获得用户权并裂键限,即

root权限

为什么linux下 用./redis

Version:0.9

StartHTML:-1

EndHTML:-1

StartFragment:

EndFragment:

1、解压缩

2、进入压缩文件目录,编译安装 make && make install

make命令执行完成后,会在当前目录下生成本个可执行文件,分别是redis-server、redis-cli、redis-benchmark、redis-stat,它们的作用如下:

redis-server:Redis服务器的daemon启动程序

redis-cli:Redis命令行操作工具。当然,你也可以用telnet根据其纯文本协议来操作

redis-benchmark:Redis性能测试工具,测试Redis在你的系统及你的配置下的读写性能

redis-stat:Redis状态检测工具,可以检测Redis当前状态参数及延迟状况

在我们成功安装Redis后,我们直接执行redis-server即可运行Redis,此时它是按照默认配置来运行的(默认配置甚至不是后台运

行)。我们希望Redis按我们的要求运行,则我们需要修改配置文件,Redis的配置文件就是我们上面第二个cp操作的redis.conf文件,目前

它被我悄闭们拷贝到了/usr/local/redis/etc/目录下。修改它就可以配置我们的server了。如何修改?下面是redis.conf的主

要配置参数的意义:

daemonize:是否以后台daemon方式运行

pidfile:pid文件位置

port:监听的端口号

timeout:请求超时时间

loglevel:log信息级别

logfile:log文件位置

databases:开启数据库的数量

save *

*:保存快照的频率,之一个*表示多长时间,第三个*表示执行多少次写操作。在一定时间内执行一定数量的写操作时,自猛雀动保存快照。可设置多个条件。

rdbcompression:是否使用压缩

dbfilename:数据快照文件名(只是文件名,不包括目录)

dir:数据快照的保存目录(这个是目录)

appendonly:是否开启appendonlylog,开启的话每次写操作会记一条log,这会提高数据抗风险能力,但影响效率。

appendfsync:appendonlylog如何同步到磁盘(三个选项,分别是每次写都强制调用fsync、每秒启用一次fsync、不调用fsync等待系统自己同步)

3、启动服务器:./redis-server

查看是否成功启动:$ps -ef |grep redis

4、将 Redis 作为 Linux 服务随机启动

vi /etc/rc.local, 使用 vi

编辑器打开随机启动配置枝运早文件,并在其中加入下面一行代码/root/4setup/redis-2.2.12/src/redis-server

5、客户端连接验证

新打开一个 Session

输入:src/redis-cli,如果出现下面提示,那么您就可以开始 Redis 之旅了。

连接服务器:telnet 127.0.0.1

6379

关闭服务器:quit;

$redis-cli shutdown

linux 强制写edid的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于linux 强制写edid,Linux下如何强制写EDID?,linux(ubuntu)can’t open file for writing,linux 中普通用户访问/etc/shadow 的问题,为什么linux下 用./redis的信息别忘了在本站进行查找喔。


数据运维技术 » Linux下如何强制写EDID? (linux 强制写edid)