如何在 Linux 中创建一个很酷的终端仪表板如何在 Linux 中创建一个很酷的终端仪表板如何在 Linux 中创建一个很酷的终端仪表板如何在 Linux 中创建一个很酷的终端仪表板
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

如何在 Linux 中创建一个很酷的终端仪表板

您是否正在寻找在 Linux 中显示信息的新方法? Conky 对你来说太主流了吗?您是否正在寻找比 screenFetch 更古怪、更灵活的东西?那么也许您应该考虑在终端中制作一个仪表板。为此,我喜欢使用 Hubble,一个基于 Node.js 平台的小型应用程序。

Hubble 的概念很简单:您在一个大终端窗口中启动该程序,它将显示通过您计算机上的自定义 HTTP 端口 9999 与之通信的任何信息。换句话说,任何能够通过 HTTP 推送数据的程序都能够与 Hubble 进行交换。这使得哈勃望远镜易于交互且高度灵活。但我认为一点练习和一些例子会比我更让你信服。

哈勃望远镜的安装

要安装 Hubble,您将需要节点包管理器 (npm)。

对于 Debian 或 Ubuntu:


$ sudo apt-get install npm
$ sudo ln -s /usr/bin/nodejs /usr/bin/node

对于 Arch Linux:


$ sudo pacman -S npm

对于 Fedora 和带有 EPEL 的 CentOS/RHEL:


$ sudo yum install npm

设置好 npm 后,您可以使用以下命令安装 Hubble:


$ sudo npm install -g coffee-script
$ sudo npm install -g hubble

到那时你应该已经准备好了。

哈勃望远镜的使用

正如前面提到的,哈勃就像你最好的朋友,等待着热门八卦。它侦听本地主机上的 TCP 端口 9999 并显示信息。首先,只需通过以下方式在终端中启动它:


$ hubble

请注意,如果窗口不够大,您可能会收到错误消息。如果是这种情况,只需进入全屏模式即可。

从那里,按 Y 键创建一个新的配置文件。文件 config.coffee 应该位于您当前的目录中。这是哈勃的一个非常标准的配置方面。简而言之,您可以修改标题、删除横幅或修改正在侦听的端口号。最高级的功能将在稍后解释,届时它们在上下文中会更有意义。

哈勃最有趣的方面是你可以与它通信的方式。有两种方法:通过 HTTP 发布信息,或者告诉 Hubble 自己查询。为了直接发布信息,我喜欢使用 curl,这是一个非常有用的程序。语法如下:


$ curl --data "column=[column #]&label=[label to display]&value=[value to display]" [address]

用一种不太抽象的方式来说,


$ curl --data "column=0&label=Coffee&value=5" http://localhost:9999/ 

将显示这个:

从那里,您可以使用以下语法递减或递增该值:


$ curl --data "column=0&label=Coffee&value=increment" http://localhost:9999/ 

或者甚至通过以下方式设置阈值:


$ curl --data "column=0&label=Coffee&value=6&high=5" http://localhost:9999/

请注意,一旦该值超过该阈值,文本颜色将更改为 config.coffee 文件中指定的颜色,如下所示:


high:  'red'

显示数据的第二种方法是让哈勃查询数据本身。这是通过使用以下语法向其发送一次来完成的:


$ curl http://localhost:9999 
-d column=[column #] 
-d label="[label name]" 
-d poll_url="[URL to poll]" 
-d poll_seconds=[number of seconds between polls] 
-d poll_failed="[message to display if failed]" 
-d poll_method="[how to parse the data]"

例如,这将是:


$ curl http://localhost:9999 
-d column=0 
-d label="Name" 
-d poll_url="https://api.github.com/users/jaymedavis" 
-d poll_seconds=10 
-d poll_failed="Bummer :(" 
-d poll_method="json_value:^.[0].name"

这会在第一列的标签 Name 下显示哈勃望远镜创建者的姓名。请注意,查询每 10 秒执行一次,并返回一个 JSON 文件。 Hubble可以解析JSON,并用正确的解析方法返回标签name下的值。

一般来说,Hubble 可以解析 JSON 文件,甚至可以计算数组中元素的数量。从那时起,您就可以发挥创造力并使用您最喜欢的 API。

最后但并非最不重要的哈勃功能是,您可以显示多个屏幕。换句话说,通过按特定键加载不同的仪表板。要设置另一个屏幕,请使用以下语法:


$ curl --data "column=0&label=Coffee&value=5&screen=[key to press to see the second screen]" http://localhost:9999/ 

例如:


$ curl --data "column=0&label=Coffee&value=5&screen=h" http://localhost:9999/

在单独的屏幕上显示另一个咖啡标签,您可以通过按 h 显示该标签。

最后,一旦您将所有信息很好地传播并显示在仪表板中,您就可以通过以下方式将配置保存到脚本文件:


$ curl --data "filename=[coffee script name]" http://localhost:9999/save 

并通过以下方式加载它:


$ hubble [coffe script name]

总而言之,我真的很喜欢哈勃。拥有仪表板的想法并不适合所有人,并且需要相当多的配置和创造力才能使其发挥作用,但结果总是与努力相称。唯一需要改进的功能是哈勃根据时间切换屏幕的本地方式。换句话说,例如,每分钟在屏幕之间自动切换。无论如何,这是一个很棒的项目,从那里我只能引导您访问该项目的官方 GitHub 页面。感谢开发人员。

您对哈勃有何看法?是不是太复杂了?你愿意投入一些时间吗?如果是这样,您的仪表板是什么样子的?让我们在评论中知道。

©2015-2025 艾丽卡 support@alaica.com