GDM 导致远程登录服务器冻结。(超过 5,000 名用户)

Jas*_*son 6 server startup gdm users freeze

我在我工作的公司运行 ubuntu FTP 服务器,我们最近将 5,000 多个客户迁移到它。我为每个客户创建了一个被监禁的用户/主文件夹,一切都运行顺利,直到我安装的一个软件包需要重新启动系统......然后一切都崩溃了。

gui 现在在登录屏幕之前在启动时冻结。我可以通过 putty 远程 SSH 进入服务器,因此尝试通过以下命令隐藏用户:

sudo gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.mandatory --type Boolean --set /apps/gdm/simple-greeter/disable_user_list True
Run Code Online (Sandbox Code Playgroud)

然后再次重启服务器,但无济于事。

现在我们的客户记录落后 2 天,我急需帮助!我的生活(和工作)取决于这个严重问题的解决方案......

ps——我已经想过只启动到 bash,但是我的老板告诉我,如果他想进入服务器手动进行任何更改,我需要有可用的 GUI,所以遗憾的是 bash-boot不是一个选择。


附加信息:

来自:cat /var/log/apt/history.log

Start-Date: 2011-05-16  15:51:35
Install: sysinfo (0.7-3ubuntu1)
End-Date: 2011-05-16  15:51:41

Start-Date: 2011-05-16  15:52:20
Remove: sysinfo (0.7-3ubuntu1)
End-Date: 2011-05-16  15:52:22

Start-Date: 2011-05-18  07:51:42
Upgrade: apturl-common (0.4.1ubuntu4, 0.4.1ubuntu4.1), apturl (0.4.1ubuntu4, 0.4.1ubuntu4.1)
End-Date: 2011-05-18  07:51:53

Start-Date: 2011-05-18  10:19:47
Install: linux-headers-2.6.32-31 (2.6.32-31.61), linux-headers-2.6.32-31-generic (2.6.32-31.61), linux-image-2.6.32-31-generic (2.6.32-31.61)
Upgrade: linux-headers-generic (2.6.32.30.36, 2.6.32.31.37), eclipse-rcp (3.5.2-2ubuntu4.2, 3.5.2-2ubuntu4.3), linux-image-generic (2.6.32.30.36, 2.6.32.31.37), apt-transport-https (0.7.25.3ubuntu9.3, 0.7.25.3ubuntu9.4), eclipse-platform-data (3.5.2-2ubuntu4.2, 3.5.2-2ubuntu4.3), apt-utils (0.7.25.3ubuntu9.3, 0.7.25.3ubuntu9.4), apt (0.7.25.3ubuntu9.3, 0.7.25.3ubuntu9.4), libequinox-osgi-java (3.5.2-2ubuntu4.2, 3.5.2-2ubuntu4.3), gdm (2.30.2.is.2.30.0-0ubuntu5.1, 2.30.2.is.2.30.0-0ubuntu5.2), xdg-utils (1.0.2-6.1ubuntu3, 1.0.2-6.1ubuntu3.1), eclipse-platform (3.5.2-2ubuntu4.2, 3.5.2-2ubuntu4.3), linux-generic (2.6.32.30.36, 2.6.32.31.37)
Run Code Online (Sandbox Code Playgroud)

操作系统类型:

Linux FTP 2.6.32-31-generic #61-Ubuntu SMP Fri Apr 8 18:24:35 UTC 2011 i686 GNU/Linux
Run Code Online (Sandbox Code Playgroud)

奇怪的错误:

Buffer I/O error on device sdb, logical block 96
ata4.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
ata4.00: BMDMA stat 0x25
ata4.00: failed comand: READ DMA
ata4.00: cmd c8/00:08:00:03:00/00:00:00:00:00/e0 tag 0 dma 4096 in res 51/40:08:08:03:00/00:00:00:00:00/e0 Emask 0x9 (media error)
ata4.00: status: { DRDY ERR }
ata4.00: error: { UNC }
ata4.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
ata4.00: BMDMA stat 0x25
ata4.00: failed comand: READ DMA
ata4.00: cmd c8/00:08:00:03:00/00:00:00:00:00/e0 tag 0 dma 4096 in res 51/40:08:08:03:00/00:00:00:00:00/e0 Emask 0x9 (media error)
ata4.00: status: { DRDY ERR }
ata4.00: error: { UNC }
ata4.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
ata4.00: BMDMA stat 0x25
ata4.00: failed comand: READ DMA
ata4.00: cmd c8/00:08:00:03:00/00:00:00:00:00/e0 tag 0 dma 4096 in res 51/40:08:08:03:00/00:00:00:00:00/e0 Emask 0x9 (media error)
ata4.00: status: { DRDY ERR }
ata4.00: error: { UNC }
ata4.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
ata4.00: BMDMA stat 0x25
ata4.00: failed comand: READ DMA
ata4.00: cmd c8/00:08:00:03:00/00:00:00:00:00/e0 tag 0 dma 4096 in res 51/40:08:08:03:00/00:00:00:00:00/e0 Emask 0x9 (media error)
ata4.00: status: { DRDY ERR }
ata4.00: error: { UNC }
ata4.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
ata4.00: BMDMA stat 0x25
ata4.00: failed comand: READ DMA
ata4.00: cmd c8/00:08:00:03:00/00:00:00:00:00/e0 tag 0 dma 4096 in res 51/40:08:08:03:00/00:00:00:00:00/e0 Emask 0x9 (media error)
ata4.00: status: { DRDY ERR }
ata4.00: error: { UNC }
ata4.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
ata4.00: BMDMA stat 0x25
ata4.00: failed comand: READ DMA
ata4.00: cmd c8/00:08:00:03:00/00:00:00:00:00/e0 tag 0 dma 4096 in res 51/40:08:08:03:00/00:00:00:00:00/e0 Emask 0x9 (media error)
ata4.00: status: { DRDY ERR }
ata4.00: error: { UNC }
end_request: I/O error, dev sdb, sector 784
Run Code Online (Sandbox Code Playgroud)

Spa*_*apS 8

哇那对我来说是一个新的。我不太确定 GUI 是否真的可以为您提供文本模式登录无法获得的任何内容(与流行的看法相反,您不需要学习 vi。Nano 非常易于使用)。所以,我建议从服务器上删除 GUI 作为一个简单的修复。然而,这仍然提出了一个有趣的问题。

1) 您应该将此报告为 gdm 中的错误。这是一种边缘情况,但 GDM 应该处理得很好。我可以想象一个大学共享工作站,其中一个系统有 10,000 个可能的用户.. gdm 不应该显示选择器。运行 'ubuntu-bug gdm' 打开错误报告。

2) 编辑 /etc/gdm/gdm.schemas 并更改

<schema>
  <key>greeter/IncludeAll</key>
  <signature>b</signature>
  <default>true</default>
</schema>
Run Code Online (Sandbox Code Playgroud)

<schema>
  <key>greeter/IncludeAll</key>
  <signature>b</signature>
  <default>false</default>
</schema>
Run Code Online (Sandbox Code Playgroud)

然后如果你仍然想要一个本地用户的选择器

<schema>
  <key>greeter/Include</key>
  <signature>s</signature>
  <default></default>
</schema>
Run Code Online (Sandbox Code Playgroud)

<schema>
  <key>greeter/Include</key>
  <signature>s</signature>
  <default>user1,user2,user3</default>
</schema>
Run Code Online (Sandbox Code Playgroud)