Turnkey Linux 附带了这个漂亮的蓝色背景控制台,它有一些基本选项,例如显示当前 IP、时间等。我发现它对于我们的系统管理员(我也是)在寻找特定虚拟机时更容易受到欢迎在 50 个列表中。我可能会发送一个请求“您能否在 IP xx.xx.xx.xx 上向外界开放端口 X”,而他们可能不容易知道那台机器是哪台机器。
当然,我并不是特别感兴趣,如果你的建议可以完全复制这些功能,但与此接近的东西,至少可以显示 IP 地址,也许是主机名等。
如果您不熟悉 Turnkey Linux Console,您只能在实际机器中看到它。在 ssh 终端会话中,会显示正常的登录提示。如果需要,您还可以使用高级菜单访问实际计算机上的终端。
答案1
我想您希望这些信息很好地打印在控制台上?该解决方案不是像您所展示的基于curses的文本GUI(带有彩色背景和对话框),但具有在几乎任何Linux发行版上工作的优点:修改/etc/issue
以显示您需要的信息。在 Fedora 和其他 Red Hat 系列发行版上,该文件由agetty
- 在其他发行版上提供,可能会使用不同的 getty 程序,但概念基本相同。各种 getty 程序识别不同的转义序列:在运行时填充信息的特殊代码。在 Fedora 上,/etc/issue
看起来像这样:
Kernel \r on an \m (\l)
其中\r
是内核版本号,\m
是机器架构,\l
是 tty 编号(l 大概代表“line”)。您可以通过 找到这些记录man agetty
。
听起来您可能有兴趣\4
显示第一个配置和启动的接口的 IPv4 地址,或\n
显示本地配置的主机名(“节点名称”)(或\O
DNS 名称)。
\e{green}This will be in green\e{reset}
您也可以通过像甚至 之类的序列来喜欢颜色\S{ANSI_COLOR}\S{PRETTY_NAME}\e{reset}
,这将以人类可读的方式显示操作系统名称和版本,颜色定义为该操作系统的正确颜色,如 中定义的/etc/os-release
。 (例如,Fedora 为蓝色,RHEL 为红色。)
如果可用的序列不够,您当然可以在启动时使用某些脚本完全生成该文件。
如果您不熟悉 Turnkey Linux Console,您只能在实际机器中看到它。在 ssh 终端会话中,会显示正常的登录提示。如果需要,您还可以使用高级菜单访问实际计算机上的终端。
默认情况下,这仅显示在实际控制台上 — 无论是物理机还是虚拟机的控制台。您可以配置 SSH 以使用Banner
中的指令执行类似操作sshd_config
,但请注意,它不支持这些花哨的转义序列。
答案2
如果您的系统正在运行,network-manager
您可以查看一下nmtui
。在 RedHat 衍生产品上,包的名称是NetworkManager-tui
.
这不是您直接想要的东西,但您可以尝试一下。你也可以煮一些东西dialog
或者ncurses
。
答案3
Confconsole(您显示的屏幕截图)是免费的开源软件,托管在GitHub。
由于 TurnKey 是基于 Debian 的,因此它就是为此而构建的。然而,它是用 Python 编写的,因此经过一些调整应该能够在任何地方运行。
话虽如此,听起来您只是在默认页面上提供的基本数据之后(如屏幕截图所示)。如果是这样,如果您愿意,您可以从confconsole中提取相关代码。
虽然说实话,如果这就是您所需要的,那么根据 @mattdm 的回答,从头开始编写一些简单的东西可能是最简单的。