升级Linux 内核不报 cannot start the X server 的解决方案

本文解决了Linux系统中X服务器无法启动的问题,提供了两种修改配置文件的方法,并分析了问题原因可能是由于字库不兼容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

升级Linux 内核不报 cannot start the X server 的解决方案

 

网上查找到的相应资料:http://blog.chinaunix.net/u1/55468/showart_464339.html

I cannot start the X server 问题的解决
现象:

  项目IPLB是OEM项目,应该是支持日文或中文。
  重起系统后,无法进入X windows的图形界面。总是提示“I cannot start the X server (your graphical interface)”。

  修改启动配置后进入文本界面,使用命令 #startx , 出现“could not open default font fixed”的错误信息。
  查了些资料,看log信息 #vi /var/log/Xorg.0.log ,里面有错误信息如下:
    “could not init font path element unix/:7100,removing from list!
     Fatal server error:
     could not open default font 'fixed'”
  查看文件 #vi /etc/X11/xorg.conf 中有“FontPath "Unix/:7100" ”的配置。

背景:
  linux环境:Redhat AS4 , kernel:2.6.9
  装了项目的IPLB后,重起,系统无法进入到X windows界面(图形界面),只能进入文本界面,搜了一半下午资料,终于解决。

解决办法:
  办法1:将 #vi /etc/X11/xorg.conf 中的“FontPath "Unix/:7100" ”行注释掉。
  办法2:将 #vi /etc/X11/xorg.conf 中的“FontPath "Unix/:7100" ”行改为
        FontPath "/usr/X11R6/lib/X11/fonts/misc"  。

分析及资料:
 http://topic.youkuaiyun.com/t/20021119/16/1189635.html 中说:{
"Unix/:7100"  
  如果是支持中文的话,这行好像要注释掉。你可以查一下有关汉化的文章。  
  如果要进如文本模式,可再linux启动时快速敲入   linux   single   回车。  
  就会进入文本模式,进去后修改你的配置文件。(你上次改过什么东西应该还有点印象吧,根据修改时间察看一下。/   ^__^   )
  另外:我修改配置时,一般都是吧原先的注释掉   ##,而不是删掉,这样回复时也简单。
}

http://www.linuxsir.org/bbs/thread79673.html  中说:{
我也碰到过,我直接把“FontPath”段的FontPath "unix:7100" 注释了.结果就好了。下面是从其他地方找到的
问:X-Window启动不了,查看/var/log/XFree86.0.log中有如下错误信息:“Fatal server error: could not open default font 'fixed'”,如何解决?

答:提示信息中说明,由于找不到“fixed”这种缺省的系统字体导致X-Window启动不了。X系统的缺省字体“fixed”系列存放在 /usr/X11R6/lib/X11/fonts/misc目录下,只要没有误删这个目录就可以恢复。方法如下:编辑 /etc/X11/XF86Config,在“Section ‘Files’”里的“FontPath”段加入以下字体路径定义:
FontPath "/usr/X11R6/lib/X11/fonts/misc"
保存后,重新启动X-Window(startx)即可。
当X-Window遇到问题时,可以仔细查看/var/log/XFree86.0.log这个日志文件,一般都能找到原因。
}

结论:
  应该是由于项目IPLB支持日文,而我用的RedHat AS4只支持英文,导致的字库问题。

 

来源:http://hi.baidu.com/luyun21/blog/item/921798fdf1c8ba1208244d1b.html

ubuntu修改为文本界面登陆
2008年02月02日 星期六 16:01
用linux的初学者肯定要碰到好多的问题,就算是windows还不是由很多的问题不懂。何况linux。就说我碰到的问题吧!!!

            我已经说过,我有一个旧的机器只装了ubuntu linux操作系统。这个机器的配置是amd 2500+,主频1.83GHz。内存256M。硬盘40GB。独显64MB。集成声卡、网卡,后来又加了一个网卡。这个机器的配置太低了。但是在 ubuntu linux光盘的配置说明上说:To use the Live CD,you must have a pc with at least 256 MBof RAM.TO install ubuntu,you should have at least 4 GB of disk space.这个配置我的机器刚好满足。所以我把它装上去了,但开机后经常遇到一个问题——死机。一个原因,内存太小。我看了在什么程序也不加载的情况下 大概需要172MB内存。你可能不只道,linux的内存使用法则,优先使用内存,然后在不得已的情况下使用swap(相当于windows的虚拟内 存),而windows是大量使用虚拟内存来空出内存,因为这样。在内存使用172MB的情况下,swap大概使用30MB。要知道图形操作页面是很费内 存的,所以就横容易死机了。你像我在我的新机器里就没有遇见过死机的情况,为什么,1GB的内存是很够用的嘛!

          既然图形的操作页面很容易死机(有好几次我根本就开不了机),那么不用图形的操作页面行不行呢?行的,只要你肯学习,就一定能成功!我在图书馆里借了几本 书,发现只要把/etc/inittab文件的id:5:initdefault:的5改成3就OK了,有的工具当然是vi了。既然这样就行了,那就动手 吧!唉!发现一个问题,怎么显示/etc/inittab is a new file.没理由阿!所有的书都说修改它就成了,现在怎么说new file。赶紧用ls -al看一下,发现确实没有这个文件。怎么回事呢?好在有两个电脑,马上把显示器拔下来,换到另一个机器上。上网看一下,没有答案,仔细一找,发现说是 inittab文件被event.d代替了,那就修改event.d吧!运行vi /etc/event.d,显示The /etc/event.d is a directory。又ls -al发现这个目录还有好多文件。为了文本操作页面我拼了,我把这些文件一一打开,发现这些脚本里没有一个我能修改的,怎么办呢?因为两个机器都有 linux,所以我不怕改坏掉。由上网查,发现修改/etc/rc2.d/S13gdm文件就能以文本模式开机了。试试吧!为了保险,我先把这个文件备份 到/etc目录下,然后改名,shutdown -hr now。嘿嘿,成功了,文本模式。并且开机速度明显快了许多。非常高兴!!!那么怎么在让他再开机时一图形方式呢?很简单,把刚才的文件名该会就行了。记 住那个S、K都是大写的,否则不成功。S代表start,K代表kill。

            总结整个过程,就是如下。

            代开中端,然后输入#su,回车后输入root密码,再运行#mv /etc/rc2.d/S13gdm      /etc/rc2.d/K13gdm回车,退出。或者在X-window下ctrl+alt+f1,然后输入root,root密码。再运行#mv /etc/rc2.d/S13gdm      /etc/rc2.d/K13gdm回车。就Ok了,然后输入#shutdown -hr now,马上你就发现啊!真的是文本界面了。

 

1.如何让启动的时候不自动进入XWINDOW?
修改/etc/inittab.conf里面的
vi /etc/inittab
id:x:initdefault:
x=3:文本方式 x=5:图形方式

<think>好的,用户现在遇到了“failed to start OpenBSD Secure Shell server”的问题,需要帮助解决。首先,我要回顾之前的对话历史,用户之前询问了银河麒麟22端口无法连接的问题,可能是在尝试启动SSH服务时遇到了障碍。现在用户直接提到了启动失败的错误,说明他们可能在配置或启动SSH服务时遇到了问题。 首先,我需要分析可能的原因。常见的原因包括SSH配置文件错误、端口冲突、权限问题、依赖缺失、SELinux或AppArmor的限制,以及系统资源问题。接下来,我需要按照逻辑步骤逐一排查这些可能性,并提供相应的解决命令和说明。 用户可能需要逐步指导,所以回答的结构要清晰,分步骤列出每个可能的原因和解决方法。考虑到用户可能对Linux系统管理不太熟悉,需要详细解释每个步骤的具体操作,比如如何检查服务状态,如何检查配置文件语法,如何查看端口占用情况等。 另外,用户之前的问题涉及防火墙配置,这次可能同样需要检查防火墙设置,但这次的问题更侧重于服务启动失败,所以可能需要更关注服务本身的配置和依赖。同时,需要提醒用户查看日志,因为日志通常会提供具体的错误信息,帮助快速定位问题。 还要注意用户的系统环境,银河麒麟是基于Linux的,所以命令可能与常见的Debian或RedHat系有所不同,但大部分命令是通用的。需要确保提供的命令在银河麒麟上可用,或者在必要时给出替代方案。 最后,总结所有可能的解决方案,并建议用户如果问题仍未解决,提供更多日志信息以便进一步分析。确保回答简明易懂,步骤清晰,用户能按照指导一步步排查问题。</think>### **"Failed to start OpenBSD Secure Shell server" 错误分析与解决方法** --- #### **1. 检查SSH服务状态** 首先确认SSH服务启动失败的详细信息: ```bash sudo systemctl status sshd ``` 输出会显示失败原因(如红色报错提示),重点关注以下字段: - `Active: failed` 状态 - 日志片段(例如:`Job for sshd.service failed because the control process exited with error code`) --- #### **2. 常见原因与解决方案** ##### **原因1:SSH配置文件语法错误** - **检查配置文件**: 配置文件 `/etc/ssh/sshd_config` 中存在语法错误是常见原因。 ```bash sudo sshd -t # 使用此命令检查配置文件语法 ``` - **输出示例**: ```bash /etc/ssh/sshd_config line 32: Bad configuration option: PermitRootLogins ``` - **解决方法**: 根据提示修正拼写错误(例如将 `PermitRootLogins` 改为 `PermitRootLogin`),然后重启服务: ```bash sudo systemctl restart sshd ``` --- ##### **原因2:端口冲突** - **检查22端口是否被占用**: ```bash sudo ss -tulnp | grep :22 sudo lsof -i :22 ``` - **若被占用**: 终止占用进程或修改SSH端口(在 `/etc/ssh/sshd_config` 中修改 `Port` 字段为其他值,如 `2222`),然后重启服务。 --- ##### **原因3:权限问题** - **检查关键文件权限**: SSH服务对以下文件的权限敏感: ```bash # 配置文件权限 sudo chmod 600 /etc/ssh/sshd_config # 密钥文件权限 sudo chmod 600 /etc/ssh/ssh_host_*_key sudo chmod 644 /etc/ssh/ssh_host_*_key.pub ``` --- ##### **原因4:依赖缺失或损坏** - **重装SSH服务**: 如果配置文件正常但服务仍无法启动,尝试重新安装: ```bash sudo apt purge openssh-server # Debian/Ubuntu系 sudo apt install openssh-server sudo yum remove openssh-server # RedHat/CentOS系 sudo yum install openssh-server ``` --- ##### **原因5:SELinux/AppArmor限制** - **临时禁用SELinux测试**: ```bash sudo setenforce 0 # 临时关闭 sudo systemctl start sshd ``` - 若成功启动,需永久配置SELinux策略: ```bash sudo semanage port -a -t ssh_port_t -p tcp 22 # 放行端口 sudo restorecon -Rv /etc/ssh # 修复文件上下文 ``` --- ##### **原因6:系统资源限制** - **检查内存或进程限制**: 使用 `dmesg` 查看内核日志: ```bash dmesg | grep sshd ``` - 若显示 `Cannot allocate memory`,可能是系统资源不足,尝试释放内存或增加交换分区。 --- #### **3. 查看详细日志** 通过 `journalctl` 获取启动失败的完整日志: ```bash sudo journalctl -u sshd -xe --no-pager ``` - **关键日志示例**: ```bash sshd[1234]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use. sshd[1234]: fatal: Cannot bind any address. ``` --- #### **4. 特殊场景** - **IPv6配置错误**: 若配置了 `ListenAddress ::` 但系统未启用IPv6,会导致启动失败。 **解决**:注释掉 `ListenAddress ::` 或启用IPv6支持。 --- ### **总结步骤** ```plaintext 1. 检查服务状态 → 2. 验证配置文件语法 → 3. 检查端口冲突 → 4. 修复权限 → 5. 查看详细日志 ``` 按顺序排查,90%的问题可通过以上步骤解决。若仍无法启动,请提供 `journalctl -u sshd` 的完整日志输出。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值