【问题标题】:How to pass display output to serial port under Linux?Linux下如何将显示输出传到串口?
【发布时间】:2010-12-01 08:48:57
【问题描述】:

我们有 2 台电脑。拳头电脑的操作系统是Linux(任何版本(对我来说不重要)),另一个操作系统是Windows(任何版本,我不在乎)。它们通过 9 针串行端口连接。

我想知道如何将 Linux 的默认显示输出更改为串行端口而不是它自己的显示器。我想通过 Windows XP 中的超级终端查看所有 Linux 输出(从启动时间的第一个单词开始)。

顺便说一句,这只是对未来用途的研究!我知道这样做没有简单的解决方案。也许我应该重新编译Linux!我不知道。请给我一些建议。

【问题讨论】:

  • 可能属于超级用户,可能是服务器故障。
  • “不,不是!”是什么意思?这似乎与我无关。它是关于如何配置您的操作系统及其控制台/串行端口。
  • 我需要使用新参数和/或新变量更改(甚至重新编译)Linux 内核代码。这不是超级用户相关的问题!我认为我应该编辑 Linux 内核,我认为这是一个与编程相关的问题!
  • 如果您在 编程 中对您的 linux 内核修改有困难,那么这是一个完全不同但与编程相关的问题。您当前的问题是关于如何配置您的 linux 系统以将主控制台放在串行端口上。由于这纯粹是一个配置问题,我仍然看不出它与编程有何关系。

标签: c++ c linux serial-port


【解决方案1】:

这当然是可行的。最简单的方法是在串行终端上放置一个“getty”进程,有时通过编辑 /etc/inittab 来完成(那里会有一些示例),然后您将通过串行看到登录提示终端并正常使用所有(命令行)程序。从历史上看,Unix 机器将此作为其主要工作方式。

另一种选择是使用“串行控制台”,它涉及将一些启动时参数传递给内核;仅当您想在串行端口上查看其启动消息时才需要这样做。


编辑:在较新的 Linux 发行版上,将“getty”放在串行线路上并不容易,大概是因为它是一种过时的做法。在嵌入式设备之外,几乎没有人再使用串行端口登录系统(大多数现代 PC 甚至没有 rs232 端口)。例如,Fedora 和 Ubuntu 不使用“init”,而是使用其他不支持运行“getty”的东西。可能有一种方法可以做到,但我不知道它是什么;请查阅您的发行版文档。

【讨论】:

  • 感谢您的回答和更新。我将搜索“getty”过程。你会推荐哪个 Linux 发行版?
  • 你不应该仅仅根据这个来选择你的发行版,而是使用传统的 sysv init 的东西,而不是“新贵”之类的东西。 Centos 5 就可以了; Ubuntu 或 Fedora 不是。
  • 我确信可以让 ubuntu/fedora 在串行端口上运行 getty,但您需要一个不同于广泛记录的配方。
【解决方案2】:

使用console kernel parameter 指定默认控制台。在inittab 中添加一个条目以将登录过程附加到串行线路。

【讨论】:

    【解决方案3】:

    查看Serial Console Howto 并在窗口中使用putty

    【讨论】:

    • 我会试试腻子。非常感谢。很好的参考。我想我会喜欢腻子的。
    猜你喜欢
    • 2011-12-29
    • 1970-01-01
    • 2013-02-21
    • 1970-01-01
    • 1970-01-01
    • 2014-05-06
    • 2021-05-12
    • 1970-01-01
    • 2012-04-24
    相关资源
    最近更新 更多