有没有办法使用 VNC 连接到 dom0 而不运行 X?我不想要 X 服务器,我只想看看控制台上有什么。
编辑:添加一些背景信息,因为人们似乎真的很讨厌我问这样的问题,而且在这种情况下 ssh 不是进入 dom0 的可接受的解决方案:
我想通过 VNC 连接到控制台的原因不是为了管理这个系统(实际上,在 8 月份的一次会议上,有 600 台笔记本电脑运行 Debian Squeeze 和 Xen,并在 4 天内运行多个虚拟机)。SSH 非常适合这个目的,我从未想过使用其他任何工具进行管理。但是,我希望能够做两件大事:
1) 与坐在机器前面的人交谈时,准确查看实际 /dev/console 上的内容。一小队人负责为会议准备这些系统,我们并不都位于同一个地理位置。在这种情况下,这些系统距离我 3000 英里,距离团队中的另一个成员 5000 英里,距离第三个成员约 100 英里。当与坐在系统前面试图找出某些特定任务无法正常工作的原因的“远程人员”一起工作时,能够看到屏幕上的内容非常重要。
2) 查看发送到 /dev/console 而未发送到其他地方的任何错误消息(这种情况发生的频率比我在开始此项目之前猜测的要高得多)。我确定发生这种情况有两个主要原因:1) 有时懒惰的开发人员会通过重定向将错误或调试输出记录到 /dev/console,而不费心使用系统的记录器或其他导致错误记录在文件中的功能;2) 当您的 IO 子系统由于发生某些不良事件而崩溃时,但网络和 CPU 仍然正常,错误消息不会在系统崩溃和烧毁之前立即记录在日志文件中。至少如果我在 /dev/console 中工作,我就可以看到错误消息,而不必打电话给某人并要求他们在系统重新启动之前在控制台上拍摄 20 或 30 秒的屏幕照片。
在会议期间,在一个巨大的显示器(好吧,很多个显示器)上显示所有 600 台机器上的小窗口并查看每台机器上正在发生的事情也将是非常酷的。
答案1
因此,我找到了答案,这是因为另一个答案完全是居高临下的,真的让我很不高兴(并且被删除了),但迫使我不断挖掘以弄清楚如何做到这一点。答案就在 x11vnc 中,它显然是为此目的而创建的。幸运的是,Xen 实际上为我安装了 x11vnc,所以我甚至不必安装它。只需运行:
sudo x11vnc -rawfb console
然后,vnc 就可以连接到控制台了。就像 KVM 一样,但需要网络。x11vnc 有无数种选择,我还没有探索过所有选项,但这个非常完美,正是我需要的。要在后台运行它,请添加 bg 标志:
sudo x11vnc -bg -rawfb console
答案2
那么“screen”命令的 -rx 选项怎么样 - 它允许您连接到本地计算机上用户已经活动的屏幕会话,并查看和与他们看到的所有内容进行交互。
试图通过几百个屏幕会话来保持头脑清醒可能会有点困难 - 但它似乎并不比几百个 VNC 会话更糟糕......
答案3
我不确定你说的控制台是什么意思。如果你需要命令行访问 Dom0 的操作系统,SSH 应该足以满足 Citrix 的 XenServer 或任何 DIY Linux/NetBSD 实现。如果你需要查看 Dom0 硬件的“控制台”,你需要类似iLO或另一个带外管理设施(VNC 根据定义无法提供)。