一种设想:利用tinycorelinux+chrome模拟chromeos并集成vscodeonline

Tiny Core Linux在虚拟机中的安装与实战指南 本文详细介绍了如何在虚拟机中安装和配置Tiny Core Linux,以及如何利用其小巧的体积和高效的性能来满足特定需求。Tiny Core Linux不仅适合作为轻量级操作系统,还可以作为开发人员的测试环境或嵌入式系统的解决方案。随着物联网和嵌入式技术的不断发展,Tiny Core Linux有望在未来发挥更大的作用。我们期待看到更多关于Tiny Core Linux的创新应用和发展。 阅读详情

本文关键字:Chromium as linux desktop,x11 – 在没有GUI的情况下在服务器上启动GUI浏览器,kiosk mode,Porteus Kiosk,x11 kiosk mode,chrome --enable-consumer-kiosk,webkitgtk kiosk,发明自己的chromeos,直接用vscodeonline当textcui,vscode as text os cui

在《cloudwall:一种真正的mixed nativeapp与webapp的统一appstack》中我们讲到,web是一种从native和nativedev打洞出来的appmodel(它的协议是应用级的http,html是云UI,是一个可以没有一个宿主render的云GUI。其后端可以是lnmp中的nmp都是非平台依赖的APP级的引擎,这是一种"GUI/网络/存储/业务"的四栈云化的结构,在这些层次上它已经脱离了本地开发),webapp后端也可是k8s这种,在《利用openfaas faasd在你的云主机上部署function serverless面板》中,我们介绍过serverless,其实,云和云开发,本来就是serverless和terminal-less的。因为云的属性,强调的就是没有PC,没有一个专门平台,承认docker它是服务性APP中去掉server backend的自然平坦app结构:server"less" virtual cloud appliance,在《一门独立门户却又好好专注于解决过程式和纯粹app的语言,一种类C的新规范》我们讲到golang的极小运行时,和分布式开发中,"平台/语言/设计/人"四栈变三栈的正常现象,没有nativedev和平台依赖,云APP可以是三栈结构。即,云APP有三栈就OK。这些文章提出了对webapp本质的疑惑又一一进行了分析。----- 所以,总体上,web这种app早已经是云APP合理的存在。人们应该接受了这样的离散平台,和新型APP和开发。

再说一次,为什么说云开发无OS呢,因为os,已部基础和服务化了。app不直接寄宿在os或虚拟机上。开发变成了服务调用。或者说,这些开发来源不属于你自己的机器,因此你不能控制该服务所在OS(无须传统部署)。

在《cloudwall:一种真正的mixed nativeapp与webapp的统一appstack》中我们还提到chromeos作为webos(终端)的合理性,如果说一种app决定一种os,既然web是一种云UI,那么云OS,如果它基于PC上的OS实现而来,chromeos这样的实践就变得合理了(《minlearnpgramming》整书toc vol1已经重构为云os融合/云app融合二部分)。对于webos ,在《群晖+DOCKER,一个更好的DEVOPS+WEBOS云平台及综合云OS选型》我们还谈到docker based webapp/webos(而其实我们还谈到docker based webos被一种unikernel os代替),无论如何,现在我们尝试在tinycorelinux上以kiosk mode安装chrome,基于以前也写过的一篇《在tinycorelinux上装chrome》文章,使kiosk mode的chrome成为系统启动时进入的唯一全屏独占应用,打造类似chromeos的实现,未来,我们直接用vscodeonline来代为该chromeos唯一的页面。使这样的linux发行成为vscodeos。

kiosk mode实现chromeos

这个模式的本质原理只需要在startx的末尾启动一个full screen的webkitgtk demo或基于chrome的demo,不需要装桌面管理器(因为它不启动桌面环境)。其实在tinycorelinux界有一个实现了,如webDesktop-v.0.2.iso,https://github.com/joaquimorg/早就不维护了。它基于webkitgtk,自己编译了一个叫desktop的全屏demo browser在/usr/local/bin,然后安装了x11,最后在startx中写入启动:desktop $PHOTOFRAME &。

而chromium(开源版chrome)是自带kioskmode的,因此省去了将它做成全屏独占的模式的工作,可以直接使用chromium –kiosk –incognito http://localhost的命令形式开启全屏模式并导向本地主页(为了安全起见也要禁用xorg设置中的tcp,如果你已有桌面管理器,要设置禁止禁用屏幕保护和自动重启)。你当然也可以使用cfe这样的lib自己编译定制demo,我们采用的测试版本是tc11.x 64bit,仓库中已有chromium-browser.tcz和x11支持。可以直接测试。可直接用ezremastered测试,这样方便。

下面介绍我的一个初步成功尝试:

利用ezremaster给tinycorelinux core增加桌面生成新iso

ezremaster.cfg部分:

cd_location = /home/tc/CorePure64-11.1.iso
temp_dir = /tmp/ezremaster
对于窗口不能全屏,中文不能显的处理bootcode,注意它与接下来chrome的lang参数中的连符作辨别
cc = lang=zh_CN vga=791
app_outside_initrd_onboot = chromium-browser.tcz
app_extract_initrd = openssh.tcz
chrome只能用xorg 作x11server,flwm这些用的都是xfdev不是xorg
app_extract_initrd = Xorg-7.7.tcz
extract_tcz_script = ignore

手动的post调整部分:
cd extract
为tc passwd一个密码,然后sudo cp -f /etc/passwd etc/passwd /etc/shadow etc/shadow
sudo touch var/lib/sshd,sudo cp usr/local/etc/ssh/sshd_config.ori usr/local/etc/ssh/sshd_config
顺便opt/bootlocal.sh,加入/usr/local/etc/init.d/openssh start
sudo touch etc/sysconfig/Xserver,写入Xorg,保存

接下来是重要关键部分:
tce-load -w getlocale graphics-4.5.3-tinycore64
仅安装xorg-7.7并startx,会failed in waitforx,waitforx在xlib.tcz中,尝试网上说的:1,注释/etc/sktl/.xsession中的waitforx行,2,isolinux bootcode在corepure64 后append喂vga=791或max_loop=256 iso=UUID=$rootuuid$isofile or after system starts,sudo fromISOfile /mnt/sdb1,startx,make TC boot and be used directly from an ISO file),都不是解决问题的关键。/usr/local/bin/Xorg发现错误/var/log/xorg.0.log,no screens find,装lspci发现这是一张virtio gpu显卡。于是tce-load -iw graphics-5.4.3-tinycore64.tcz ,failed in startx消失,壁纸一闪成功进入黑屏桌面(因为没有桌面管理器)。
getlocale.sh选择四个zh_CN,生成mylocale.tcz(看来,tinycorelinux除了主框架部分Core-scripts,tce也能成为藏脚本的地方)再安装一个字体wget http://mirrors.163.com/tinycorelinux/4.x/x86/tcz/fireflysung.tczg到/tmp/,字体x86,64,跨版本能通用
这2个tcz和其依赖不能像openssh,xorg-7.7一样成功集成到initrd,原因不明,只好手动释放,字体只能手动:
sudo unsquashfs -f -d /tmp/tce/optional/glibc_gconv.tcz /tmp/ezremaster/extract
sudo unsquashfs -f -d /tmp/tce/optional/mylocale.tcz /tmp/ezremaster/extract
sudo unsquashfs -f -d /tmp/tce/optional/i2c-4.5.3-tinycore64.tcz /tmp/ezremaster/extract
sudo unsquashfs -f -d /tmp/tce/optional/graphics-4.5.3-tinycore64.tcz /tmp/ezremaster/extract
sudo unsquashfs -f -d /tmp/fireflysung.tcz /tmp/ezremaster/extract

最后,/etc/skel/.X.d,ls -alh,新建一个任意名字脚本(linux中命令行启动与x启动后的运行命令是二个不同的放置过程,命令行下显中文和图形界面中文能不能起作用是另一回事,这个注意),放置启动/usr/local/bin/chromium-browser --start-maximized --kiosk --lang=zh-CN https://www.baidu.com/的逻辑,保存退出。这样会在startx时,在home/tc/.x.d生成实际脚本,,ctl+alt+f1可退出桌面(黑屏)进入命令行界面,ctlc退出chromium再次ctlaltf1返回正常命令行
整包导出后为160多m

集成vscodeonline实现cloud dever os和writer’s os

实现了kiosk mode还不够,我们的webos,要本地和跨网络都可用。打造一个沉浸式不离开IDE的全能环境和一个vscodeonline based cloud dever os,。我们直接用vscodeonline当这种os的textcui,vscode as text os cui直接把vscodeonline作为shell。,因为vscodeonline本身有一个命令行区web cmd,可以当复合shell使用。而虽然vscodeonline比较笨重,但是它的主要界面实际上是一个复合了的编辑器,可当真正的写作环境如写md文章:vscode没有工程组织,包,用磁盘文件代替工程文件类go用环境变量+文件夹当工程组织,这种方式很适合组织文档。。网络上,当代替备忘录这样的频繁打开/关闭的碎片化写作环境当然不行,但vscodeonline有一个remote ssh,断了也能很好连上,连上能持续连接很久,这放在一台开发终端上可用性还是很高的。

对于webos的shell选型有ssh cui/tui,也有桌面环境有rdp/vnc,这二种是最基本的,本地则有局域网投屏,wifi display这样的方案,跨网络有网页化,也有专门的ctx,remoteapp,虚拟桌面这样的专门方案。vscode online本身就有在远端开端口进行网页服务可用,而设置一个本地终端版的chrome devos,填补了本地也可能需要一个vscodeonlineos的情况。比如可以在利用remotessh的情况下,维持一个远程这种cloud dever os和一个本地终端版的chrome devos,设置一个同步插件同步二者的home目录,这个home区就是网盘。这种实用性还是蛮高的。


未来我们要在这个os中集成panel.sh,在这个panel上去掉pai,为terralang增加c header files装上terralang,为devplane增加后绑定/变更域名。vscodeonline as ide andplugin server+terralang server core+openfaas serverless core,使之成为devpanel.sh。


(此处不设回复,扫码到微信参与留言,或直接点击到原文)

在这里插入图片描述

ubuntu20.04 + kiosk + chrome打造一体机系统 kiosk的英文直译为或者一体机的意思。目前主流的浏览器都具有kiosk模式,我们可以使用浏览器的kiosk模式加ubuntu操作系统在不增加任何软件的情况将我们的B/S程序打造成一个一体机系统。 阅读详情

相关推荐

Linux(13)Debain Fullscreen GUI Kiosk

Linux(13)Debain Fullscreen GUI Kiosk

我其实什么都不会 1652

tiny core linux网络连接,用Tiny Core Linux打造纯Firefox上网系统(概要)

1、复制或下载一种中文字体(以wqy-microhei.ttc为例)(文泉驿字体下载:http://sourceforge.net/projects/wqy/files/)2、下载Tiny Core Linux(目前最新版为3.4.1 http://distro.ibiblio.org/pub/linux/distributions/tinycorelinux/3.x/release/tinyco...

weixin_36009977的博客 1109

tinycore中文轻linux系统(带firefox)

基于tinycore linux 7.1 的中文轻linux操作系统,在原系统的基础上增加了中文支持,文件管理,文本编辑、网络浏览、压缩解压等常用功能。md5sum: 31a447b9e109082eb8f31acd09d87a07

Tiny Core Linux 的安装和使用

Tiny Core Linux 是一个非常小的 Linux 发行版,最小的镜像大小只有十几兆。这个系统有几个特点:需要的内存少。安装快。启动快。只有很少的命令可以使用。本文来讲讲如何在 VMware 中安装和使用它。

alenliu's blog 1万+

SECS/GEM协议中的关键指令详解:从S1F1到S9F9的完整指南

本文详细解析了SECS/GEM协议中从S1F1到S9F9的关键指令,涵盖设备状态管理、控制诊断、报警处理等核心功能。通过实际案例和调试技巧,帮助开发者掌握半导体制造设备通信标准,解决SECS/GEM协议在实际工程应用中的通讯难题,提升生产线智能化水平。

weixin_26899659的博客 397

IntelliJ IDEA 2025.1 + Gradle 镜像配置避坑指南:解决依赖下载慢的终极方案

本文针对IntelliJ IDEA 2025.1开发环境中Gradle依赖下载缓慢的问题,提供了详细的镜像配置避坑指南。通过解析Gradle依赖解析机制,重点指导如何正确配置阿里云等国内镜像仓库,并分享验证配置生效、排查常见错误及高级优化技巧,旨在彻底解决依赖下载难题,提升开发效率。

weixin_28835551的博客 532

基于 Alpine 定制单功能用途(kiosk)电脑

本文介绍了使用轻量级Alpine Linux系统打造kiosk单功能展示电脑的全过程。作者从虚拟机安装开始,详细演示了Alpine系统的配置步骤,包括网络设置、用户创建和桌面环境安装。通过Openbox窗口管理器和Firefox浏览器,实现了以全屏kiosk模式访问指定网页的功能。文章还提供了自动登录和开机自启的配置方法,最终系统仅占用1.1GB空间,相比传统CentOS/ArchLinux方案更加轻量化。整个过程展示了如何将Alpine Linux这一常用于Docker的基础镜像,改造为适合公共场所展示用

Dexter's Laboratory 2027

小波变换(Wavelet Transform)原理及介绍

小波变换是一种多分辨率时频分析工具,克服了傅里叶变换无法定位时间信息的缺陷。通过可伸缩平移的母小波,它能同时捕捉信号的高频细节(短时特征)和低频轮廓(整体趋势)。其核心原理是利用不同尺度的小波基与信号进行内积运算,生成时频域系数矩阵。小波变换具有动态分辨率特性,高频部分时间精度高,低频部分频率分辨率好。主要应用包括瞬态事件检测、信号降噪、数据压缩(如JPEG2000)和压缩感知(如快速MRI)。

qq_42758052的博客 5491

Esxi6.7安装TinyCoreLinux

Esxi6.7安装TinyCoreLinux 环境 Esxi版本:6.7 Update3 系统镜像:TinyCore (21MB) 虚拟机配置 系统系列选Linux,操作系统版本选择其他Linux(64位) TinyCore不支持SCSI控制器,只能使用IDE控制器。按顺序删除默认配置的硬盘1和SCSI控制器0。点击添加硬盘-新硬盘,置备选择精简置备。内存不要小于384MB,我分配了512MB。控制器位置选择控制器0-主要。光驱选择ISO文件,上传系统镜像。保存。 安装 打开虚拟机电源。TinyCore默

蓝调城市的博客 2651

Agent测试框架Harbor指南

Harbor是一个AI Agent单元测试框架,用于自动化测试AI代理在容器环境中的任务执行能力。它支持18+种AI代理,通过沙箱隔离和自动验证机制评估任务完成情况。任务必须具有可编程验证的输出结果,适合代码、数据、系统等可量化任务,不适合创意写作等主观任务。Harbor采用CLI操作方式,核心架构包含Job管理、Trial执行和验证器三个层级,执行流程包括环境启动、Agent执行和结果验证。任务目录包含指令文件、配置文件、Docker环境定义和测试脚本等必需组件,通过测试脚本自动判断任务完成质量。

loo_Charles_ool的博客 1408

Autosar配置——导入DBC后配置SecOC同步报文和同步请求报文

在Autosar中,安全性是一个重要的考虑因素,而SecOC(Secure On-Board Communication)是一种用于保护通信数据完整性和安全性的安全机制。在上述示例中,我们配置了同步报文和同步请求报文的属性。接下来,我们需要在Autosar中配置同步报文和同步请求报文。同步报文用于在通信双方之间同步SecOC状态,而同步请求报文用于请求SecOC的状态信息。通过以上配置,我们成功地导入了DBC文件,并在Autosar系统中配置了SecOC同步报文和同步请求报文。希望以上信息对您有所帮助!

CyberSphinx的博客 649

需求:在openstack中安装极小的Linux,可以安装Firefox浏览器,接着安装selenium完成自动化网页测试

查了一下tiny linux with browser 1.Puppy Linux http://puppylinux.org/ (161MB) 2.BrowserLinux is a fast and small (93MB)    http://www.browserlinux.com/ 3.Tiny Core (10MB)  http://distro.ibiblio.org/

Tomstrong_369的专栏 3192

C#对接EtherNet/IP协议 完整版|罗克韦尔AB PLC通信+CIP核心概念全解析

你做罗克韦尔(AB) PLC工业上位机开发,是唯一的首选协议,没有之一!EtherNet/IP(Ethernet Industrial Protocol)是基于标准以太网的工业级通信协议,由罗克韦尔自动化主导开发,是ODVA(开放设备网络供应商协会)主推的工业以太网标准,也是目前全球应用最广泛的工业以太网协议之一。原生适配罗克韦尔AB PLC:Micro800、CompactLogix、ControlLogix、Micro850等全系AB PLC原生标配EtherNet/IP,无需额外配置,开箱即用;

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 893

Linux操作系统(Linux概述+使用技巧)

Linux操作系统(Linux概述+使用技巧)

m0_56337656的博客 1659

JavaScript高级程序设计

作者:禅与计算机程序设计艺术 1.简介 JavaScript(简称JS)是一种直截了当、简单易用的动态脚本语言。它最初由Netscape公司的Brendan Eich(布兰登·艾奇)于1995年创建,但后来逐渐成为事实上的通用编程语言。目前,JS已经成为世界上最流行的客户端脚本语言,广泛用于网页开发、移

AI天才研究院 2268

某头部金融APP防护机制逆向实录:从反调试到TEE加密的全链路攻防拆解

金融APP安全防护体系深度破解分析 本文详细拆解了某头部金融APP的三重防御机制破解过程。首先通过Frida绕过反调试技术,包括ptrace自我绑定、TracerPid检测和debuggerd监控;随后针对12种Root检测方法(如su文件检查、Magisk检测等)进行环境伪装,通过Hook系统调用伪造安全环境;最后逆向分析TEE加密模块,解密关键接口参数。整个破解过程涉及静态分析、动态调试和代码注入技术,揭示了金融级APP安全防护的实现原理与突破方法(注:所有操作均获授权,仅用于安全研究)。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 1400

Linux入门(一)

Unit 11.登陆系统1)普通用户登陆普通用户        student / kiosk     密码        student2)超级用户登陆—>not list                点击未列出username                  提示输入用户名称—>root                       root为系统超级用户passwd      ...

Lislie_chen的博客 414

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

如何创建 Ubuntu 信息亭(kiosk)

如何创建 Ubuntu 信息亭(kiosk) Linux发行版可以作为全功能打包,也可以按需分解,它驱动了从市内标示牌到市议会桌面系统在内的所有设备。 正是这种多样化,几乎可塑的质量,让Linux发行版,包括Ubuntu在内,在众多不同领域如此成功。 信息亭和单功能计算机 Ubuntu更为流行的使用之一,是在信息亭(kiosk)类计算机中。这些设备趋...

weixin_34337265的博客 610

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

Tiny Core Linux:小到难以置信的极简Linux发行版

Tiny Core Linux采用全部载入内存运行的方式,这意味着一旦系统启动,所有操作都在内存中进行,因此运行速度极快,启动时间可缩短至数秒。如果你有闲置的旧电脑、需要一个极简的嵌入式系统,或者单纯对Linux系统的最小化构建充满好奇,那么Tiny Core Linux绝对值得一试。对于想深入学习Linux内部机制的用户,Tiny Core Linux提供了一个极佳的实践平台。由于其极小的体积和高度可定制性,Tiny Core Linux成为嵌入式系统的理想选择,可用于物联网设备、专用仪器控制器等场景。

x10n9的博客 1433

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

如何使用linux做一个开机直接全屏显示浏览器访问特定的网站,且不可以显示浏览器的地址栏工具等内容?

要在Linux系统中实现开机直接全屏显示浏览器并访问特定网站,同时不显示浏览器的地址栏、工具栏等内容,你可以通过几种方法来实现,这里主要介绍两种常用的方法:使用Kiosk模式(适用于Chrome、Chromium、Firefox等)和创建一个自定义的X会话。Firefox没有内置的Kiosk模式,但你可以通过创建一个简单的HTML页面并使用Firefox的命令行参数来模拟这种行为。另一种方法是创建一个自定义的X会话,该会话启动时直接运行浏览器并全屏显示特定网站。

怀揣梦想,一颗执着于技术的心从未磨灭,内心住着一颗顽强的小强时刻提醒自己层层突破自我,同时也成就他人 987

Kiosk模式深度解析:从全屏显示到系统级沙盒的工程实践

Kiosk模式是一种面向公共终端的系统级运行时锁定机制,其本质是基于最小权限原则、单一应用约束与故障自恢复能力构建的操作系统沙盒。不同于前端禁用F12或全屏渲染等用户态伪装,真正的Kiosk需在固件层(如Secure Boot/BIOS锁)、内核层(输入劫持、进程白名单)和应用层协同加固。它广泛应用于政务自助机、医院挂号屏、地铁购票终端等高可靠性场景,技术价值在于保障不可绕过性、操作原子性与审计可追溯性。本文结合Windows Assigned Access、Chrome OS Kiosk、Linux We

weixin_42116058的博客 349

linux基本命令操作

linux命令行提示符 开始的时候会见到这样一句:[kiosk@foundation31 Desktop]$ kiosk  指的是运行 bash 的用户 foundation31 指的是bash 所在主机短名称 @指的是信息分隔符 Desktop 表示当前默认操作目录 $   表示用户身份提示符 # 表示超级用户 下来介绍一些基本的命令: date   表示时间   date ...

qq_40174864的博客 214

Linux操作系统

Linux操作系统实验报告1(Linux概述+使用技巧) 1.Linux的使用和安装 1.1 登录RHEL8(红帽企业8)系统的方法:开机后系统会自动以kiosk用户身份登录系统, 需要切换成管理员root身份,点击右上角开关机按钮,在下拉菜单中点击kiosk右侧的小箭头,点击LogOut注销或Switch User切换用户 在出现的登录界面点击下方的Not listed(未列出用户),输入用户名root,密码Asimov,点击确定即可登录系统。 注意命令提示符:终端窗口命令提示符[kiosk@foun

Answer_G的博客 920

Linux用户管理

用户管理 用户存在的意义: 回收权力 组存在的一意义: 共享权力 用户的查看: 1.查看当前用户 whoami #查看当前用户 2.系统中用户的查看 id #查看指定用户id信息 id -u #查看用户的uid id -g #查看用户的gid id -G #查看用户所在的所有组的id id -n #显示名字而不显示id数字 用户切换 gom...

Dreaming5498的博客 317

Linux 基本操作(一)————认识命令行、基础命令、快捷键

一、命令行1、命令行结构 kiosk是用户名,@是分隔符,@foundation53是主机名,~的位置代表用户目前所在目录,$是行提示符【代表一般用户(#代表超级用户)】,命令执行语法=命令+参数+对象,+是‘空格‘(注意:对象中‘空格‘只起分割作用,‘空格‘前后是两个不同的对象),命令必须在行提示符之后2、基础命令遇到不知道命令是干什么的可以用 whatis查看; 遇到不知道命令如何使用

eb_28的博客 656
上一篇: lua/js/py复杂度分析,及terralang:一种最容易和最小的“双核”应用开发语言
下一篇: 一种虚拟boot作通用bootloader及一种通用qemu os的设想
Minlearn
博客等级 码龄18年 20粉丝 146原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值