建议收藏:让我们用最最最原始的方法驱动电脑

科技布鲁布鲁泡 2024-10-06 03:02:40

iN家里有数不清的电脑,没吹牛,真的数不清。经常可以从这个抽屉或者那个柜子里翻出来一两台电脑主机。家里的角落里面也塞着各式各样的电脑。

其实,这些电脑的都能用而且工作良好。只是因为因为有的机器容量不够了,就顺手买一两台电脑来替换掉。但是,这些电脑主机还是可以利用起来的。家里的一些控制或者一些小项目都会在这些主机上跑一下。例如床铺底下,还塞着一台。或者沙发下面也有……

这些小电脑都有自己的用处,完成了iN自己家里的很多基础功能。

以至于iN每天在家游荡的时候现在连嘴巴都不用张开了,依靠视觉和场景识别,房间可以自动的和iN产生互动,总是将整个屋子的状态调节到最适宜的场景功能上。

简单的说,iN的房子就是一个可以住人的大电脑。

但今天不是要说怎么搞智能家居,而是怎么处理家里过剩的主机。相信很多人和iN一样,家里还是有很多已经关机不用的电脑。这些东西我们或许出于各种原因让它们下线了。但这些弃之不用的电脑在很多事情做不好之余,如果专注一项任务的时候他们还是游刃有余的。

嗯,没错——今天咱们就来聊聊电脑的“单任务”模式。也就是让电脑一通电不需要人工干预就专门做好一件事,这件事可以是开启一套控制也可以是显示一些内容。让电脑系统永远像开电灯泡一样自动的去做一个任务。这其实也就是当初电脑设计出来的目的,也就是电脑最最最原始的使用方式。

例如iN在主机的写字台边上放着一台小电脑,它会显示当前房间的网络状况,实时的显示各个不同端口的网络流量,以及家里的网络数据到底传输到世界上的哪个地方。

用到的就是一台小主机驱动的仪表板。

为什么要搞成这样?

因为计算机在做的事情越少,它的能耗、额外消耗和潜在故障就会越少。当你拥有很多电脑时,你会发现大部分机器仅仅在执行非常简单的任务,而这些任务往往并不需要复杂的交互操作。有时候,交互界面反而成为了资源的浪费。因此,从系统设计的角度来看,完全没有必要为这些简单任务加载一个完整的图形界面(GUI)。极端一点说,既然根本不需要,那为什么还要浪费时间和资源去启动它呢?设想一下,当一台主机一通电就自动进入工作状态,不用任何手动操作,不用加载繁杂的桌面环境,完全自动地去执行它预定的功能——这种“单任务模式”岂不是更加高效?简化——才是最爽的使用体验。

要怎么搞成这样?有轻量级和重量级的两种不同方法。

第一种 绝对轻量化的方案——Ubuntu Core

如果真正玩电脑的人都应该知道Linux,大部分知道Linux的人往往会觉得Linux离我们普通用户比较远,都是服务器上在使用的操作系统,只不过很多人不知道的是目前我们在使用的很多只智能设备例如NAS、各种播放器、一些智能家居屏幕都是在用Linux来驱动的。

例如前阵子很火的欧瑞博智能面板,其底层就是一套嵌入式的Linux。

在小小的智能家居设备上能跑起来的系统,如果放在家用的小主机上跑也是干的过的。这里要说的就是linux的发行版ubuntu的core了。这是ubuntu专门为ito设备设计的只包含linux内核的版本。

还是以一个仪表看板做例子来说,做一个简单的保姆级教程:

首先,你得有一个不用的小主机,把它接好显示器、键盘、鼠标和网络,当然了你也可以不接通过网络完成大部分的操作。但就方便而言还是接上吧。

其次,我们需要下载一个ubuntu的桌面版,这是比较方便的操作方法,当然了,如果大家喜欢敲键盘的话,下载一个SystemRescue做个系统恢复盘去做下面的事情也无所谓。

下载后,用balenaetcher这类的烧录工具将下载的映像文件烧录到U盘中。

然后利用这个U盘启动电脑。

不是要装Ubuntu Core吗?为啥整个 ubuntu桌面版呢?其实这样的确比较方便。

启动后,你会来到这个菜单,在菜单中选择 try or install ubuntu。

这时候u盘中的系统会引导电脑进入ubuntu的安装界面

关掉安装窗口之后,你就可以进入U盘上的ubuntu桌面版的试用镜像了,除了比硬盘上直接运行慢一点之外,没特别大的区别。

这时候,打开系统自带的浏览器,进入ubuntu的站点点击“try ubuntu core”的按钮。

在出现的页面中点击

这样会进入已经预先编译好的ubuntu core系统镜像下载中。

我们可以在系统列表中找到适合X86主机的ubuntu core 2024版镜像。不用点下载,鼠标右键点击拷贝连接。然后在键盘上一起按下ctrl+alt+T 打开ubuntu的终端窗口,输入 wget 贴入刚刚拷贝的链接。

这时候系统就开始下载core镜像到本地。

这个镜像是一个.xz的压缩包,ubuntu的系统里有解压工具 ——“unxz”。在命令行输入 “unxz+下载的文件名称”。

就可以解压出ubuntu-core-24-amd64.img这个镜像文件

有了这个文件之后我们只需要写入本地硬盘就可以完成ubuntu core的安装。命令“sudo dd if=ubuntu-core-24-amd64.img of=/dev/sda ”

这时候关机,将u盘拔出来后再重新启动计算机。系统就会以ubuntu core 2024启动

基本上安装core也就是5分钟左右的时间就可以搞好。

下面是配置工作了

系统配置很简单,在这种系统上只有一个网络IP地址的设置需要进行配置甚至不配也无所谓。

但对于系统的管理权限的设置则需要按照屏幕上做:

原因是你需要生成一个这台机器所需要配置的ssh key,而这个系统中是没有办法生成的,只能到ubuntu站点上进行导入。不过这件事也相当简单,注册一个ubuntu账户,导入后将自己的电子邮件地址输入到配置屏幕的地址栏上就好。

实际操作的速度要比我写这段话要快得多。

当你的ssh key导入到ubuntu站点中的时候,你的电脑也就可以接收到key了。这样,系统也就配置好了。

怎么用?这东西本身接键盘和鼠标是用不了的。

开机后也就仅仅显示管理信息

我们可以通过利用发到ubuntu网上公钥对应的私钥控制ssh客户端来访问这台主机,由于自己在用mac 所以就更简单了,直接ssh 这台机器的IP地址就行,

现在说做显示屏的部分。也特别简单,登陆之后 输入命令 “sudo snap install ubuntu-frame wpe-webkit-mir-kiosk”

这是ubuntu core的两个组件,ubuntu-frame是ubuntu的图形支持框架,wpe-webkit-mir-kiosk是一个浏览器组件。

在core中安装了这两个组件后系统就具备了一个轻量化的浏览器并且配备了这个浏览器的使用图形支持环境。

然后再使用命令 “sudo snap set wpe-webkit-mir-kiosk url=<你需要的网址> ”就可以完成设置了

这里要说一点,core内的应用都是运行在snap沙箱中的。因此对于应用的设置 都是以 snap set <应用名称> <项目=设定值> 这种格式来进行。

在设置好之后,重启系统,你会发现,在系统加载完毕之后

系统就直接启动浏览器进入了我们预设的网址显示仪表板信息了。

不过,这是一个相对比较轻量级的html页面显示方案。wpe-webkit-mir-kiosk 所包含的浏览器应付netdata这样的dashbroad界面是可以的。但是对于WebGL2的支持始终是wpe-webkit-mir-kiosk的短板,如果要显示的页面中有大量的依赖于WebGL 2技术的动画这种方案就难以显示了,例如上面的动图里面,地球就缺掉了。

第二种 相对轻量化的方案——Ubuntu Server mini模式

ubuntu core的方案基本上可以满足90%以上的显示效果。例如放一个netdata或者Hass的监控面板。

但是如果页面中有很多基于webGL2的图形加速部分,这种方案就不行了,那么我们就得来更硬核一点的系统了,iN一般会选择Ubuntu Server mini安装。

这实际上就是给系统安装一套ubuntu的最小化系统。安装的方法也就是配置下载一个ubuntu server 的镜像,然后选择最小化安装。

这样一来不会引入任何其他的服务组件,系统将以最小化的形式运行。安装就没得说了。

安装后我们需要进行一些设置,让这台机器默认的可以跑起一个浏览器。

这里要多一嘴,其实Linux和Unix的GUI界面是以一个服务的形式呈现的,在linux中用户界面实际上是一个客户端程序,它向后台的GUI服务器发起请求,后台的GUI服务器负责在屏幕上绘制界面元素——惊不惊喜,意不意外?

这个服务程序有很多种,一般的来说我们会用到Xorg。它提供了标准的X11架构支持。

所以说,我们只需要让Xorg服务跑起来,这个服务就会直接接管GPU在屏幕上显示任何内容,其中也包括浏览器的支持。

因此,我们需要登入这台服务器,依旧还是用SSH就可以了。

登入后先输入命令 sudo apt install xorg chromium-browser -y 来安装Xorg和chromium浏览器支持。

chromium浏览器是Chrome浏览器的开源版本,一般的情况下iN会在服务器系统中使用这个浏览器而不是chrome。

当然了,在最小化安装的ubuntu server上是没有nano文本编辑器的,需要的时候也可以利用sudo apt install nano来安装一个,这个编辑器的使用就看大家习惯了,直接利用系统自带的VI编辑器也是可以的。

都安装好了之后,编辑下这个文件“ ~/.xinitrc”,iN自己用的命令就是 “nano ~/.xinitrc”。

.xinitrc文件实际上就是在启动X11的时候的设置

这样写:

xset s off # 禁用屏幕保护程序xset s noblank # 禁用空白屏幕xset -dpms # 禁用显示电源管理chromium-browser --no-sandbox --kiosk --disable-infobars --start-fullscreen --noerrdialogs --incognito http://172.16.20.1:19999

在chromium-browser项目中增加上--incognito选项 指向希望访问的网址,也就完成了这个服务器的基本设置。

由于X11也是需要tty输入权限的,因此,你可以把tty的权限放给X11程序,这样做:

sudo chmod 666 /dev/tty0

然后我们在命令行中输入startx 就可以在远端利用命令行打开主机上的图形界面了。

这是命令行的操作方法,其实Linux在开机的时候打开图形界面的方法也很简单,将这个命令做成一个服务即可。

命令:sudo nano /etc/systemd/system/kiosk-xorg.service

解释一下, 一般的情况下ubuntu的服务都可以利用脚本来写,放在/etc/systemd/system/目录下,这里给服务起的名字就是kiosk-xorg。

在服务中设置的用户名是登陆用户名,其他照着抄就可以了。

这样一来,我们就可以做到 ubuntu server启动的时候自动加载页面了。

通过这些配置,我们不仅实现了硬件资源的再利用,还能够将家居环境变得更加智能化和高效。相比让这些设备长期“躺尸”或者简单地丢弃,合理的单任务配置方案能够将它们变成小型“终端节点”,无论是做简单的显示仪表板、家庭数据监控,还是作为物联网设备的控制中枢,都能各尽其职。简化操作、消除冗余,从而让一切变得更为直观、稳定和高效。

总之,电脑的“单任务模式”并不只是一个玩具,而是合理利用硬件、提升家庭环境质量的有效手段。与其让这些设备成为时间的沉淀,不如让它们再次发光发热,重新融入到家庭智能网络的整体架构中,为生活带来更多便利。

希望这些方法能为有类似设备闲置的你们提供一些灵感和思路,让每台老旧设备都能找到自己的用武之地。

0 阅读:2

科技布鲁布鲁泡

简介:感谢大家的关注