如何利用tinycorelinux+chrome模擬chromeos并集成vscodeonline

本篇文章給大家分享的是有關(guān)如何利用tinycorelinux+chrome模擬chromeos并集成vscodeonline,小編覺(jué)得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說(shuō),跟著小編一起來(lái)看看吧。

創(chuàng)新互聯(lián)主營(yíng)濟(jì)陽(yáng)網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,APP應(yīng)用開(kāi)發(fā),濟(jì)陽(yáng)h5成都小程序開(kāi)發(fā)搭建,濟(jì)陽(yáng)網(wǎng)站營(yíng)銷推廣歡迎濟(jì)陽(yáng)等地區(qū)企業(yè)咨詢

本文關(guān)鍵字:Chromium as linux desktop,x11 – 在沒(méi)有GUI的情況下在服務(wù)器上啟動(dòng)GUI瀏覽器,kiosk mode,Porteus Kiosk,x11 kiosk mode,chrome --enable-consumer-kiosk,webkitgtk kiosk,發(fā)明自己的chromeos,直接用vscodeonline當(dāng)textcui,vscode as text os cui

在《cloudwall:一種真正的mixed nativeapp與webapp的統(tǒng)一appstack》中我們講到,web是一種從native和nativedev打洞出來(lái)的appmodel(它的協(xié)議是應(yīng)用級(jí)的http,html是云UI,是一個(gè)可以沒(méi)有一個(gè)宿主render的云GUI。其后端可以是lnmp中的nmp都是非平臺(tái)依賴的APP級(jí)的引擎,這是一種"GUI/網(wǎng)絡(luò)/存儲(chǔ)/業(yè)務(wù)"的四棧云化的結(jié)構(gòu),在這些層次上它已經(jīng)脫離了本地開(kāi)發(fā)),webapp后端也可是k8s這種,在《利用openfaas faasd在你的云主機(jī)上部署function serverless面板》中,我們介紹過(guò)serverless,其實(shí),云和云開(kāi)發(fā),本來(lái)就是serverless和terminal-less的。因?yàn)樵频膶傩?,?qiáng)調(diào)的就是沒(méi)有PC,沒(méi)有一個(gè)專門(mén)平臺(tái),承認(rèn)docker它是服務(wù)性APP中去掉server backend的自然平坦app結(jié)構(gòu):server"less" virtual cloud appliance,在《一門(mén)獨(dú)立門(mén)戶卻又好好專注于解決過(guò)程式和純粹app的語(yǔ)言,一種類C的新規(guī)范》我們講到golang的極小運(yùn)行時(shí),和分布式開(kāi)發(fā)中,"平臺(tái)/語(yǔ)言/設(shè)計(jì)/人"四棧變?nèi)龡5恼,F(xiàn)象,沒(méi)有nativedev和平臺(tái)依賴,云APP可以是三棧結(jié)構(gòu)。即,云APP有三棧就OK。這些文章提出了對(duì)webapp本質(zhì)的疑惑又一一進(jìn)行了分析。----- 所以,總體上,web這種app早已經(jīng)是云APP合理的存在。人們應(yīng)該接受了這樣的離散平臺(tái),和新型APP和開(kāi)發(fā)。

再說(shuō)一次,為什么說(shuō)云開(kāi)發(fā)無(wú)OS呢,因?yàn)閛s,已部基礎(chǔ)和服務(wù)化了。app不直接寄宿在os或虛擬機(jī)上。開(kāi)發(fā)變成了服務(wù)調(diào)用?;蛘哒f(shuō),這些開(kāi)發(fā)來(lái)源不屬于你自己的機(jī)器,因此你不能控制該服務(wù)所在OS(無(wú)須傳統(tǒng)部署)。

在《cloudwall:一種真正的mixed nativeapp與webapp的統(tǒng)一appstack》中我們還提到chromeos作為webos(終端)的合理性,如果說(shuō)一種app決定一種os,既然web是一種云UI,那么云OS,如果它基于PC上的OS實(shí)現(xiàn)而來(lái),chromeos這樣的實(shí)踐就變得合理了(《minlearnpgramming》整書(shū)toc vol1已經(jīng)重構(gòu)為云os融合/云app融合二部分)。對(duì)于webos ,在《群暉+DOCKER,一個(gè)更好的DEVOPS+WEBOS云平臺(tái)及綜合云OS選型》我們還談到docker based webapp/webos(而其實(shí)我們還談到docker based webos被一種unikernel os代替),無(wú)論如何,現(xiàn)在我們嘗試在tinycorelinux上以kiosk mode安裝chrome,基于以前也寫(xiě)過(guò)的一篇《在tinycorelinux上裝chrome》文章,使kiosk mode的chrome成為系統(tǒng)啟動(dòng)時(shí)進(jìn)入的唯一全屏獨(dú)占應(yīng)用,打造類似chromeos的實(shí)現(xiàn),未來(lái),我們直接用vscodeonline來(lái)代為該chromeos唯一的頁(yè)面。使這樣的linux發(fā)行成為vscodeos。

linux是一個(gè)開(kāi)源,但真正偉大的“非玩具”超規(guī)模級(jí)現(xiàn)代OS。背后可以沒(méi)有一個(gè)公司,卻連接起所有公司和組織,個(gè)人真正為它維護(hù),想想西方難于組織起全國(guó)民級(jí)搞疫,linux的成功倒是在現(xiàn)在依然是難想象的,另一個(gè)是gnu tools。

kiosk mode實(shí)現(xiàn)chromeos

這個(gè)模式的本質(zhì)原理只需要在startx的末尾啟動(dòng)一個(gè)full screen的webkitgtk demo或基于chrome的demo,不需要裝桌面管理器(因?yàn)樗粏?dòng)桌面環(huán)境)。其實(shí)在tinycorelinux界有一個(gè)實(shí)現(xiàn)了,如webDesktop-v.0.2.iso,https://github.com/joaquimorg/早就不維護(hù)了。它基于webkitgtk,自己編譯了一個(gè)叫desktop的全屏demo browser在/usr/local/bin,然后安裝了x11,最后在startx中寫(xiě)入啟動(dòng):desktop $PHOTOFRAME &。

而chromium(開(kāi)源版chrome)是自帶kioskmode的,因此省去了將它做成全屏獨(dú)占的模式的工作,可以直接使用chromium –kiosk –incognito http://localhost的命令形式開(kāi)啟全屏模式并導(dǎo)向本地主頁(yè)(為了安全起見(jiàn)也要禁用xorg設(shè)置中的tcp,如果你已有桌面管理器,要設(shè)置禁止禁用屏幕保護(hù)和自動(dòng)重啟)。你當(dāng)然也可以使用cfe這樣的lib自己編譯定制demo,我們采用的測(cè)試版本是tc11.x 64bit,倉(cāng)庫(kù)中已有chromium-browser.tcz和x11支持??梢灾苯訙y(cè)試??芍苯佑胑zremastered測(cè)試,這樣方便。

下面介紹我的一個(gè)初步成功嘗試:

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

ezremaster.cfg部分:

cd_location = /home/tc/CorePure64-11.1.iso
temp_dir = /tmp/ezremaster
對(duì)于窗口不能全屏,中文不能顯的處理bootcode,注意它與接下來(lái)chrome的lang參數(shù)中的連符作辨別
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

手動(dòng)的post調(diào)整部分:
cd extract
為tc passwd一個(gè)密碼,然后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,寫(xiě)入Xorg,保存

接下來(lái)是重要關(guān)鍵部分:
tce-load -w getlocale graphics-4.5.3-tinycore64
僅安裝xorg-7.7并startx,會(huì)failed in waitforx,waitforx在xlib.tcz中,嘗試網(wǎng)上說(shuō)的: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),都不是解決問(wèn)題的關(guān)鍵。/usr/local/bin/Xorg發(fā)現(xiàn)錯(cuò)誤/var/log/xorg.0.log,no screens find,裝lspci發(fā)現(xiàn)這是一張virtio gpu顯卡。于是tce-load -iw graphics-5.4.3-tinycore64.tcz ,failed in startx消失,壁紙一閃成功進(jìn)入黑屏桌面(因?yàn)闆](méi)有桌面管理器)。
getlocale.sh選擇四個(gè)zh_CN,生成mylocale.tcz(看來(lái),tinycorelinux除了主框架部分Core-scripts,tce也能成為藏腳本的地方)再安裝一個(gè)字體wget http://mirrors.163.com/tinycorelinux/4.x/x86/tcz/fireflysung.tczg到/tmp/,字體x86,64,跨版本能通用
這2個(gè)tcz和其依賴不能像openssh,xorg-7.7一樣成功集成到initrd,原因不明,只好手動(dòng)釋放,字體只能手動(dòng):
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,新建一個(gè)任意名字腳本(linux中命令行啟動(dòng)與x啟動(dòng)后的運(yùn)行命令是二個(gè)不同的放置過(guò)程,命令行下顯中文和圖形界面中文能不能起作用是另一回事,這個(gè)注意),放置啟動(dòng)/usr/local/bin/chromium-browser --start-maximized --kiosk --lang=zh-CN https://www.baidu.com/的邏輯,保存退出。這樣會(huì)在startx時(shí),在home/tc/.x.d生成實(shí)際腳本,,ctl+alt+f1可退出桌面(黑屏)進(jìn)入命令行界面,ctlc退出chromium再次ctlaltf1返回正常命令行
整包導(dǎo)出后為160多m

集成vscodeonline實(shí)現(xiàn)cloud dever os和writer's os

實(shí)現(xiàn)了kiosk mode還不夠,我們的webos,要本地和跨網(wǎng)絡(luò)都可用。打造一個(gè)沉浸式不離開(kāi)IDE的全能環(huán)境和一個(gè)vscodeonline based cloud dever os,。我們直接用vscodeonline當(dāng)這種os的textcui,vscode as text os cui直接把vscodeonline作為shell。,因?yàn)関scodeonline本身有一個(gè)命令行區(qū)web cmd,可以當(dāng)復(fù)合shell使用。而雖然vscodeonline比較笨重,但是它的主要界面實(shí)際上是一個(gè)復(fù)合了的編輯器,可當(dāng)真正的寫(xiě)作環(huán)境如寫(xiě)md文章:vscode沒(méi)有工程組織,包,用磁盤(pán)文件代替工程文件類go用環(huán)境變量+文件夾當(dāng)工程組織,這種方式很適合組織文檔。。網(wǎng)絡(luò)上,當(dāng)代替?zhèn)渫涍@樣的頻繁打開(kāi)/關(guān)閉的碎片化寫(xiě)作環(huán)境當(dāng)然不行,但vscodeonline有一個(gè)remote ssh,斷了也能很好連上,連上能持續(xù)連接很久,這放在一臺(tái)開(kāi)發(fā)終端上可用性還是很高的。

對(duì)于webos的shell選型有ssh cui/tui,也有桌面環(huán)境有rdp/vnc,這二種是最基本的,本地則有局域網(wǎng)投屏,wifi display這樣的方案,跨網(wǎng)絡(luò)有網(wǎng)頁(yè)化,也有專門(mén)的ctx,remoteapp,虛擬桌面這樣的專門(mén)方案。vscode online本身就有在遠(yuǎn)端開(kāi)端口進(jìn)行網(wǎng)頁(yè)服務(wù)可用,而設(shè)置一個(gè)本地終端版的chrome devos,填補(bǔ)了本地也可能需要一個(gè)vscodeonlineos的情況。比如可以在利用remotessh的情況下,維持一個(gè)遠(yuǎn)程這種cloud dever os和一個(gè)本地終端版的chrome devos,設(shè)置一個(gè)同步插件同步二者的home目錄,這個(gè)home區(qū)就是網(wǎng)盤(pán)。這種實(shí)用性還是蠻高的。


未來(lái)我們要在這個(gè)os中集成panel.sh,在這個(gè)panel上去掉pai,為terralang增加c header files裝上terralang,為devplane增加后綁定/變更域名。vscodeonline as ide andplugin server+terralang server core+openfaas serverless core,使之成為devpanel.sh。

以上就是如何利用tinycorelinux+chrome模擬chromeos并集成vscodeonline,小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見(jiàn)到或用到的。希望你能通過(guò)這篇文章學(xué)到更多知識(shí)。更多詳情敬請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

網(wǎng)站標(biāo)題:如何利用tinycorelinux+chrome模擬chromeos并集成vscodeonline
網(wǎng)址分享:http://muchs.cn/article24/gdedce.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站搜索引擎優(yōu)化、面包屑導(dǎo)航做網(wǎng)站、網(wǎng)站制作服務(wù)器托管

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站建設(shè)