xorg.conf的编写

2023-12-14 16:48
文章标签 编写 conf xorg

本文主要是介绍xorg.conf的编写,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一直用ubuntu9.04,一直用得好好的,因为编译的原因,把系统给搞坏了,只好重装系统。因而索性升级到9.10。升级完成后,发现最高分辩率只有800x600。
查看显卡驱动,已经安装并且正常。三D桌面效果可以正常开启。
去网上求助,有网友指出,可能是系统不能正确地识别显示器,可以编写xorg.conf文件解决

ubuntu9.10 默认没有了/etc/X11/xorg.conf这个文件了,没有这个文件,系统可以正常启动成功,但是,如果这个文件有错,则系统可能不能正常启动的。 也就是说,现在这个文件已经成了用户设定。如果不是必须要设定的,大可不必设定。 明白了这个道理,我们只需手动新建这个文件,在里面依自己的情形 添加必须 设定的内容即可。
我现在是分辩率不可设, 那么,只需要在里面设定这方面的内容即可,其它的都可以不管。

打开终端,输入:

==================================

cd /etc/X11
sudo touch xorg.co nf
sudo gedit xorg.conf

==================================
上面的命 令是先新建一个空的xorg.conf,然后打开这个文件进行编写。


一、 xorg.conf的一般编写规则:

xorg.conf文件保存有X Window的各种信息,它由 数个Section/EndSecion
的区块组成,格式如下:
Section "Section名称"
选项名称 "选项值"
选项名称 "选项值"
……
EndSection

也就是说,一个区块以 Section "Section名称"开头,以 EndSection结尾,中间是选项

、显示方面的设置主要包括三个区块:
monitor 设置显示器
device 设置显卡
screen 设置显示器与显卡的结合,也就是最终的显示

在显示设置方面,这三个区块似乎缺一不可。
下面提供一个范例:

======================================
Section "Device"
Identifier "Configured  Video Device"
EndSection

S ection "Monitor"
Ident ifier "Configured Monitor"
EndSection

Section "Screen"
Identifier "Default Screen"
Monitor "Configured Monitor"
Device "Configured Video Device"
EndSection
=======================================
这 个范例中,Section "Device"区块中,Identifier 指定了显卡的唯一名称, 这个名称可以随便取,但一定要与Section "Screen"区块中的device选项中的名称相同。在Section "Monitor"区块中,Identifier 指定了显示器的唯一名称,这个名称可以随便取,但一定要与Section "Screen"区块中的Monitor选项中所指定的名称相同。Section "Screen"区块中的Identifier选项,指定了这个显卡与显示器相结合的唯一名称。这个名称也可以随便取的。这个名称需要与Section "ServerLayout" 区块中的名称相同。这个Section "ServerLayout" 区块我们一般不必编写,这里不讨论。

从上面的分析来看,这个范例不过就是指定了三个名称和这三个名称之间的关联而已。没有实质的设置。但是,这样却给我们提供了一个设置的基本框架。
这个框架我们可以原文照抄。
然后如果我们需要在显示器区块中(Section "Monitor")中增加我们的选项,可以直接在里面添加就是了。其它的两个区块也一样。
由于主要的问题是系统不能正确地识别显示器,所以主要的是我们编写一下Section "Monitor"这个区块即可。

三、编写Section "Monitor"
查了很多的资料,经自己的反复实践,这里关键的则是要正确地获取显示器的行频和场频参数,没有这个参数,其它的设置都很难做到最好。
行频
HorizSync
场频
VertRefresh
我的显示器是三星711N,网上有各种用命令获取显示器的行频和场频参数的办法,但是,我都没能获得成功,最后还是在网上搜这个显示器的详细参数,最后得到:

行频
HorizSync 30-81
场频
VertRefresh 56-75

这两个参数如果设置得不正确,据说可能烧坏显示器,弄得怕怕的。没有把握的话,还是把这两个选项注释掉吧,也就是不设。可以用另外的办法进行适当的弥补。但是,反复证明就是,其它的弥补方法都不如直接写这个。

这个弥补的办法主要是编写Modeline选项。

终端中输入命令:
gtf 1024 768 60
这个1024 768是你要设的分辩率,这个60是你要设的刷新率。
得到的命令结果如下:

$ gtf 1024 768 60

# 1024x768 @ 60.00 Hz (GTF) hsync: 47.70 kHz; pclk: 64.11 MHz
Modeline "1024x768_60.00" 64.11 1024 1080 1184 1344 768 769 772 795 -HSync +Vsync

直接把命令结果中的Modeline这一行复制进Section "Monitor"这个区块中即可。
你可能想试用多种分辩率,所以你可以用gtf命令获取各种分辩率下的参数,然后把它们都复制进Section "Monitor"即可。

比如:

Modeline "1024x768_60.00" 64.11 1024 1080 1184 1344 768 769 772 795 -HSync +Vsync
Modeline "1024x768_70.00" 76.16 1024 1080 1192 1360 768 769 772 800 -HSync +Vsync
Modeline "1152x768_60.00" 71.74 1152 1208 1328 1504 768 769 772 795 -HSync +Vsync



依我的看法,在获取到了正确的行频HorizSync 和场频VertRefresh之后,Modeline选项已没有多少意义,可以不写。

四、编写Section "Screen"区块
重启电脑,成功进入桌面,分辩率和刷新率都正常可调,唯一不足的是,在进入桌面前,屏幕上有一个提示:
显示非最佳分辨模式

出现这个的一个基本的原因是,我的显示器的最佳分辩模式是1280x1024,但这样高的分辩率,显卡却支持不佳。所以我不能用1280x1024这个分辩率。

这个提示很恼火。于是想到,编写Section "Screen",或者可以去掉这个恼人的提示。于是编写Section "Screen"模块,这个讨厌的提示终于去掉了。

=============================================
Section "Screen"
Identifier "Default Screen"
Monitor "Configured Monitor"
Device "Configured Video Device"
SubSection "Display"
Modes “1152x864@60"
EndSubSection
EndSection
==================================
这个Modes “1152x864@60"就是指定分辩率,这里面可以指定多个分辩率,排在第一位的是首选.比如:
Modes “1152x864@60" "1024x768@60"
一般指定一个即可。@60是指定刷新率,这个可以去掉,没必要在这里设定。

请 注意,这个Modes “1152x864@60" 必须位于SubSection "Display"和EndSubSection之间。这里面没必要详加解释,你只需明白,这个SubSection "Display"和EndSubSection之间是Section "Screen"区块中的一个子区块。指定分辩率的Modes选项必须位于这个子区块里。如此即可。

五、最后形成的xorg.conf

=========================================
Section "Device"
Identifier "Configured Video Device"
EndSection

Section "Monitor"
Identifier "Configured Monitor"
Horizsync 30-81
Vertrefresh 56-75
EndSection

Section "Screen"
Identifier "Default Screen"
Monitor "Configured Monitor"
Device "Configured Video Device"
SubSection "Display"
Modes "1024x768" "1152x864"
EndSubSection
EndSection
======================================

这个文件中,实质的设定只有三行而已,其它的都是格式

========================
Horizsync 30-81
Vertrefresh 56-75
Modes "1024x768" "1152x864"
========================

问题完美解决。
特别强调一下,如果你不能确切地搞到显示器的行频HorizSync 和场频VertRefresh,就千万不要写这两个选项,以免损坏显示器。而采用直接填写Modeline选项的办法加以解决。

六、 如果你的xorg.conf编写不正确,导致进不了桌面,请在开机的时候选择recovery mode进入,以root身份登陆文本界面,输入:

rm /etc/X11/xorg.conf

这个命令会删除掉xorg.conf文件。

http://blog.sina.com.cn/s/blog_6556dbcf0100y2av.html

这篇关于xorg.conf的编写的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/493283

相关文章

基于.NET编写工具类解决JSON乱码问题

《基于.NET编写工具类解决JSON乱码问题》在开发过程中,我们经常会遇到JSON数据处理的问题,尤其是在数据传输和解析过程中,很容易出现编码错误导致的乱码问题,下面我们就来编写一个.NET工具类来解... 目录问题背景核心原理工具类实现使用示例总结在开发过程中,我们经常会遇到jsON数据处理的问题,尤其是

利用Python编写一个简单的聊天机器人

《利用Python编写一个简单的聊天机器人》这篇文章主要为大家详细介绍了如何利用Python编写一个简单的聊天机器人,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 使用 python 编写一个简单的聊天机器人可以从最基础的逻辑开始,然后逐步加入更复杂的功能。这里我们将先实现一个简单的

使用PyQt5编写一个简单的取色器

《使用PyQt5编写一个简单的取色器》:本文主要介绍PyQt5搭建的一个取色器,一共写了两款应用,一款使用快捷键捕获鼠标附近图像的RGB和16进制颜色编码,一款跟随鼠标刷新图像的RGB和16... 目录取色器1取色器2PyQt5搭建的一个取色器,一共写了两款应用,一款使用快捷键捕获鼠标附近图像的RGB和16

使用Java编写一个文件批量重命名工具

《使用Java编写一个文件批量重命名工具》这篇文章主要为大家详细介绍了如何使用Java编写一个文件批量重命名工具,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录背景处理1. 文件夹检查与遍历2. 批量重命名3. 输出配置代码片段完整代码背景在开发移动应用时,UI设计通常会提供不

如何编写Linux PCIe设备驱动器 之二

如何编写Linux PCIe设备驱动器 之二 功能(capability)集功能(capability)APIs通过pci_bus_read_config完成功能存取功能APIs参数pos常量值PCI功能结构 PCI功能IDMSI功能电源功率管理功能 功能(capability)集 功能(capability)APIs int pcie_capability_read_wo

Wondows dos下怎么编写bat批处理文件

最近搞php,在运行时,以Nginx+php-cgi.exe方式运行Wordpress项目 打开dos,先cd到php-cgi.exe文件当前目录下执行启动命令:php-cgi.exe -b 127.0.0.1:9001再打开一个dos,再cd到nginx.exe文件当前目录下执行启动命令:start nginx 大概过程要经过这些步骤,觉得很麻烦,就学下怎么编写一个bat文件,以双击运行代替

用Python编写倒计时程序:详细教程

目录 引言 环境准备 基本概念 代码实现 步骤一:导入必要的库 步骤二:获取用户输入 步骤三:实现倒计时逻辑 步骤四:整合代码 运行程序 高级功能 扩展功能示例:支持分钟和小时输入 扩展功能示例:图形用户界面 (GUI) 总结 引言 倒计时程序是一个非常常见的小工具,广泛用于各种应用场景中,例如考试时间提醒、烹饪计时器、会议倒计时等。Python 作为一种

【Spring boot】编写代码及测试用例入门之 Hello Spring boot _踩坑记

先贴下目录: 这是我从 start.spring.io 里下载的依赖Web的模板 // DemoApplication.javapackage com.abloume.springboot.blog.demo;import org.springframework.boot.SpringApplication;import org.springframework.boot.autocon

windows下使用vscode编写运行以及调试C/C++

vscode支持类似于vs的断点调试c/c++,也可以直接编译&运行c/c++ 先是编译运行 c/c++的方法                              微软官方起初设定的科学做法(这也是现在的科学做法)是通过在vscode集成控制台写命令行的方式来实现编译运行程序的,但也可以通过code runner插件来简化步骤,实现一键编译执行 但无论是什么方法,因为vscod

Python编写简单登录系统的完整指南

在现代应用中,用户认证和登录系统是一个非常重要的功能。通过登录系统,应用能够识别用户的身份,并为其提供相应的权限和服务。本文将介绍如何使用Python编写一个简单的登录系统,包括用户注册、登录验证、密码加密等功能。通过这一教程,将学习如何构建一个基本的用户登录系统,并理解其中的关键技术。 这里插播一条粉丝福利,如果你在学习Python或者有计划学习Python,想在未来人工智能领域吃上一口饭的,