• 红帽企业版RHEL7.1在研域工控板上,开机没有登陆窗口 -- 编写xorg.conf 简单三行解决Ubuntu分辩率不可调的问题


     

    红帽企业版RHEL7.1在研域工控板上,开机没有登陆窗口 

    • 没有登陆窗口 的原因分析:
    • 没有登陆窗口的原因是因为有多个屏幕在工作,其中一个就是build-in 屏幕(内置的虚拟屏幕)和外接的显示器,并且两个屏幕是扩展模式,主屏幕是build-in,正好显示不出来。
    • 这样验证:xrandr 能列出显示器的情况,build-in为primary
    • 三种可行方案可行性分析:
    • 1) 临时生效方案
    1 xrandr --output HDMI1 --pos 0x0 --auto --primary --output eDP1 --off --output DP1 --off
    • 2) 永久方案配置/etc/X11/xorg.conf    这个超难的,调协运行级别为3,直接进入控制终端,登陆后/root/.bash_profile最后一条添加/usr/bin/startx启动图形化界面
    • 3) 临时生效方案加调协运行级别为3,直接进入控制终端,登陆后/root/.bash_profile最后一条添加/usr/bin/startx启动图形化界面:这种方式没有成功,也许你可以成功,我是这样做的临时生产方案中的命令xrandr ....放到/root/.bash_profile的/usr/bin/startx后面,其实是无法执行的,因为startx后面的所有语句都执行不到。xrandr...放到/usr/bin/startx前做后台运行20s后执行临时生效命令也是不可行的。因为这条命令需要图形化界面的环境变量(我猜的),如果你行,你可试试,成功了email给我liuyanygz@163.com。多谢

     

     0)RHEL7.1设置操作系统启动方式

    cat /etc/inittab
    # multi-user.target: analogous to runlevel 3
    # graphical.target: analogous to runlevel 5

    systemctl get-default

    systemctl set-default multi-user.target
    systemctl set-default graphical.target

     1)多用户模式启动linux,直接进入控制台无界面, 登陆后启动startx。方法见下面。

     2)图形化界面模式启动, 屏幕任然为扩展模式, 任然没有登陆窗口

     

    我的最终的/etc/X11/xorg.conf修改 成了这个样子,网上找的其它配置全是耍流氓,只有这个成功了。我是这样的启动过程成功的。

    1 步骤2、多用户模式启动linux,直接进入控制台无界面
    2 步骤3、登陆后启动startx
    3 /root/.bash_profile文件最后一行添加一句
    4 /usr/bin/startx 
    5 步骤4、reboot快试试吧,爽
    6 步骤1、在/etc/X11/xorg.conf配置如下(尝试过其它配置, 都是耍流氓, 唯有此配置可以生效)

     

     1 
    ##此文件名称为/etc/X11/xorg.conf####参考https://www.linuxidc.com/Linux/2010-02/24472.htm 2 3 Section "Device" 4 Identifier "Configured Video Device" 5 EndSection 6 7 Section "Monitor" 8 Identifier "Configured Monitor" 9 #Horizsync 30-81 10 #Vertrefresh 56-75 11 Modeline "1024x600_60.00" 48.96 1024 1064 1168 1312 600 601 604 622 -HSync +Vsync 12 EndSection 13 14 Section "Screen" 15 Identifier "Default Screen" 16 Monitor "Configured Monitor" 17 Device "Configured Video Device" 18 SubSection "Display" 19 Modes "1024x600" "1152x864" 20 EndSubSection 21 EndSection 22 ################################################################

     参考以下文件,最开始看的就是这个文章,可惜当时没有放下心态,在网上找了一大网最后用这个成功的。

    编写xorg.conf 简单三行解决Ubuntu分辩率不可调的问题

     

    一直用Ubuntu 9.04,一直用得好好的,因为编译的原因,把系统给搞坏了,只好重装系统。因而索性升级到9.10。升级完成后,发现最高分辩率只有800x600。

    查看显卡驱动,已经安装并且正常。三D桌面效果可以正常开启。
    去网上求助,有网友指出,可能是系统不能正确地识别显示器,可以编写xorg.conf文件解决。

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

    打开终端,输入:

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

    cd /etc/X11
    sudo touch xorg.conf
    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

    Section "Monitor"
    Identifier "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文件。

  • 相关阅读:
    API从网站中解放出来,也许会带来web3.0
    ASP.NET中MD5和SHA1加密的几种方法
    搜狐博客推出开放平台 1月3日举办开发者论坛
    Open Source PDF Libraries in C#
    .Net线程常见问题和误解解答集锦
    降低车辆油耗的十大不变法门
    知己知彼,百战不殆管理软件这个行业
    求职指南:英文求职简历十大忌讳
    .net中实现运行时从字符串动态创建对象
    用 .NET 开发的轻量级 UI 测试自动化.NET教程,.NET Framework
  • 原文地址:https://www.cnblogs.com/LiuYanYGZ/p/9375067.html
Copyright © 2020-2023  润新知