一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

擁抱現(xiàn)代:在國產(chǎn)操作系統(tǒng)RT-Thread體驗tmux終端復用的魅力

RT-Thread官方賬號 ? 2024-07-28 08:35 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

引言


嵌入式平臺性能飛速發(fā)展的時代,市場上如雨后春筍般涌現(xiàn)出各類高性能高性價比的新興平臺,為我們的開發(fā)帶來了諸多便利。RT-Thread Smart 正是為更好地利用這些性能優(yōu)勢而生的一款解決方案。通過它,我們可以輕松復用豐富的 RT-Thread Smart 系統(tǒng)組件以及 POSIX ,UNIX,GNU 生態(tài)的軟件棧,實現(xiàn)更高效的驗證和功能開發(fā)。

4d5d8f82-4c79-11ef-817b-92fbcf53809c.png

我們通過終端環(huán)境中功能強大的終端多路復用工具 tmux 作為引子,在本文里展示眾多豐富的組件在多窗口多終端及遠程登陸應(yīng)用上的實際體驗,同時了解RT-Thread Smart 系統(tǒng)對復雜應(yīng)用依賴的各類基礎(chǔ)設(shè)施提供的完善支持。

在正文開始前,我們可以通過以下的視頻對這些功能的效果一睹為快。
上圖展示了通過終端工具 ssh 遠程登錄到 RT-Thread Smart 系統(tǒng),并綁定一個原先創(chuàng)建,正在運行中的會話的效果。左邊窗口中通過 top 工具實時觀測系統(tǒng)占用率,右邊則是運行中的 tar 打包和 bz2 壓縮任務(wù)。同時,我們創(chuàng)建了一個新的窗口,執(zhí)行了一個 ps 命令。

tmux 簡介


Tmux 是一個終端復用器,允許用戶在一個終端會話中管理多個終端會話。用戶可以在一個窗口中分割多個面板、創(chuàng)建多個窗口、以及在不同會話之間切換。更重要的是,它可以在會話分離后繼續(xù)運行任務(wù),并在會話重新連接時恢復原來的狀態(tài)(正如我們在開篇中的視頻里展現(xiàn)的那樣)。這使得它非常適合需要同時處理多個任務(wù)和長時間運行任務(wù)的用戶。

配置遠程終端服務(wù)


rt-smart 已經(jīng)支持基于 Dropbear 的SSH 服務(wù)器,從而可以使用主機電腦用SSH遠程登錄來使用板端Smart操作系統(tǒng)。

https://www.rt-thread.org/document/site/#/rt-thread-version/rt-thread-smart/introduction/rt-smart-experiences/rt-smart-experiences?id=%e6%8a%a2%e5%85%88%e9%a2%84%e8%a7%88

smart上手體驗 (rt-thread.org)

從以上鏈接可以獲取 smart-prebuild預構(gòu)建鏡像。使用 prebuilt 版本啟動系統(tǒng)后,可以在 /etc/inittab中看到如下內(nèi)容:

4d681d8a-4c79-11ef-817b-92fbcf53809c.png其中含有dropbear的啟動命令/bin/dropbear -F 2>/root/dropbear.log,故系統(tǒng)啟動時自動啟動dropbear ssh服務(wù)器。qemu啟動腳本則將qemu的22號端口映射到主機58080端口。


新建Tmux 會話與脫離


第一個啟動的 Tmux 窗口,編號是0,第二個窗口的編號是1,以此類推。這些窗口對應(yīng)的會話,就是 0 號會話、1 號會話。當然,使用編號區(qū)分會話不太直觀。因此我們也可以為會話起名,便于記憶。

tmux new-s


使用上面的命令就可以創(chuàng)建一個指定名稱的會話。下圖展示了這個命令的使用。在創(chuàng)建會話后,我們可以如同普通 shell 那樣在tmux 中執(zhí)行命令。

此外,在執(zhí)行腳本的過程中,按下Ctrl+b d或者輸入tmux detach -t /命令,就會將當前會話與窗口分離。但是會話和里面的進程仍然在后臺運行。使用結(jié)果如同上圖最后操作的那樣,我們會看到 tmux 打印 “detached (from session test)”。同時,終端回到 shell 程序控制。


連接先前創(chuàng)建的 Tmux 會話


tmux attach -t /


我們使用上面的命令接入先前創(chuàng)建的會話。這時終端回到原有的會話現(xiàn)場。這給我們檢查之前創(chuàng)建的管道狀態(tài)提供了巨大便利。

下圖展示了會話創(chuàng)建后脫離并重新連接的過程:


我們先使用tmux new-s hello 命令創(chuàng)建了一個名為hello的會話,接著使用Ctrl+b d 組合鍵將當前會話與窗口分離,接著又使用tmux attach -t hello接入hello會話現(xiàn)場。這時我們可以看到腳本仍在正常執(zhí)行。

4d6ba694-4c79-11ef-817b-92fbcf53809c.png

tmux switch -t /


此外,當我們創(chuàng)建了多個會話時,可以通過tmux switch 來切換不同的會話。這里以hello 為例子。


上圖中可以看到成功切換到hello,里面的進程仍在運行

4d7a7c6e-4c79-11ef-817b-92fbcf53809c.png

tmux rename-session -t /

此外,我們還可以通過命令重命名已經(jīng)創(chuàng)建的會話。


對于不想要的會話也可以通過tmux kill-session -t /來結(jié)束掉。當會話結(jié)束后,我們使用 tmux ls 命令就看不到 test2 會話了,并且也不能用attach再進行連接。


Tmux 窗格管理


Tmux 可以將窗口分成多個窗格(pane),每個窗格運行不同的命令。以下命令都是在 Tmux 窗口中執(zhí)行。

●使用tmux split-window可以劃分上下兩個窗格,tmux split-window -h可以劃分為左右兩個窗格。

●窗格劃分后,可以通過tmux select-pane -U/D/L/R 命令移動光標位置,或者使用快捷鍵 ctrl+b 。

下面是窗格管理的快捷鍵使用大全:

Ctrl+b %:劃分左右兩個窗格。


Ctrl+b ":劃分上下兩個窗格。
Ctrl+b :光標切換到其他窗格。是指向要切換到的窗格的方向鍵,比如切換到下方窗格,就按方向鍵↓。
Ctrl+b ;:光標切換到上一個窗格。
Ctrl+b o:光標切換到下一個窗格。
Ctrl+b {:當前窗格與上一個窗格交換位置。
Ctrl+b }:當前窗格與下一個窗格交換位置。
Ctrl+b Ctrl+o:所有窗格向前移動一個位置,第一個窗格變成最后一個窗格。
Ctrl+b Alt+o:所有窗格向后移動一個位置,最后一個窗格變成第一個窗格。
Ctrl+b x:關(guān)閉當前窗格。
Ctrl+b !:將當前窗格拆分為一個獨立窗口。
Ctrl+b z:當前窗格全屏顯示,再使用一次會變回原來大小。
Ctrl+b Ctrl+:按箭頭方向調(diào)整窗格大小。
Ctrl+b q:顯示窗格編號。`在這里插入代碼片`


下面展示使用快捷鍵分割窗口和切換光標位置的過程:


Tmux 窗口管理


除了將一個窗口劃分成多個窗格,Tmux 也允許新建多個窗口。我們可以使用 tmuxnew-window命令創(chuàng)建新窗口,通過tmux select-window -t 命令用來切換窗口,通過tmux rename-window命令用于為當前窗口起名(或重命名)。

這些命令同樣有快捷鍵替代:

Ctrl+b c:創(chuàng)建一個新窗口,狀態(tài)欄會顯示多個窗口的信息。


Ctrl+b p:切換到上一個窗口(按照狀態(tài)欄上的順序)。


Ctrl+b n:切換到下一個窗口。


Ctrl+b :切換到指定編號的窗口,其中的是狀態(tài)欄上的窗口編號。


Ctrl+b w:從列表中選擇窗口。


Ctrl+b ,:窗口重命名。

使用快捷鍵進行窗口的創(chuàng)建,切換,重命名過程如下:


同樣如果想要關(guān)閉某個窗格可以使用Ctrl+b x組合命令,這里不再演示

tmux 中使用 scp 實現(xiàn)安全文件傳輸


RTT內(nèi)核用作ssh服務(wù)器,我們就可以通過scp來向其傳輸文件。以通過終端工具傳輸 mksd 腳本為例。我們首先配置好 RT-Smart 服務(wù)器的地址和用戶名,密碼。然后可以直接拖動客戶端操作系統(tǒng)上的文件到左側(cè)文件系統(tǒng)視窗中。此時會自動建立 scp 進程完成文件拷貝。


在 Tmux 背后是……


Tmux 的這些強大功能依賴于操作系統(tǒng)的幾個核心機制。首先是會話和進程組,Tmux 利用這些機制來管理和組織不同的終端會話和進程。每個 Tmux 會話可以包含多個窗口,而每個窗口又可以包含多個進程,這些進程被組織成進程組,以便統(tǒng)一管理。

其次,終端和偽終端是 tmux 實現(xiàn)多窗口和分割面板的基礎(chǔ)。偽終端提供了一個虛擬終端設(shè)備,使得用戶可以創(chuàng)建和管理多個虛擬終端,這些終端可以獨立運行并顯示各自的輸出。

此外,Tmux 是一個基于前后端架構(gòu)的應(yīng)用。前端負責用戶輸入和顯示輸出,而后端負責實際的任務(wù)管理和執(zhí)行。前后端通信及異步事件處理也依賴于 libevent 庫。libevent 是一個輕量級的事件驅(qū)動編程庫,它基于 Unix 域套接字(UDS)、netlink 等基礎(chǔ)設(shè)施,為進程間雙工通信、多播和內(nèi)核異步事件通知提供了高效的實現(xiàn)。這使得 tmux 能夠在需要處理大量并發(fā)事件時,依然保持高效、穩(wěn)定的運行。

信號處理也是 tmux 功能的關(guān)鍵部分。Tmux 可以在會話分離和重新連接時通過內(nèi)核提供的 SIGCONT、SIGSTOP 等POSIX 作業(yè)控制信號正確地管理和恢復進程狀態(tài),確保任務(wù)能夠持續(xù)運行而不受干擾

4d7e6162-4c79-11ef-817b-92fbcf53809c.png

上圖總結(jié)了 Tmux 在 RT-Thread Smart 的運行環(huán)境中的各類軟硬件組件。它們保證了 RT-Thread Smart在多個方面為程序應(yīng)用提供了便利和靈活。無論是進程間通信、與內(nèi)核進行信息交換、還是通過netlink 處理異步事件,抑或是通過偽終端與終端仿真器進行交互,用戶程序都能夠更加輕松地操作系統(tǒng),提高工作效率。RT-Smart 系統(tǒng)提供的豐富系統(tǒng)組件為嵌入式開發(fā)帶來了更多可能性,讓我們在這個快速發(fā)展的技術(shù)世界中走得更快、更遠。

結(jié)語


本文我們介紹了 RT-Thread Smart 系統(tǒng)在支持復雜應(yīng)用方面的強大能力。從多窗口終端管理的 tmux 到遠程登錄的 SSH,RT-Thread Smart 展現(xiàn)了其在嵌入式開發(fā)中的靈活性和高效性。

希望通過本文,能夠讓更多的開發(fā)者了解并使用 RT-Thread Smart,在這個充滿活力的平臺上實現(xiàn)更多精彩的應(yīng)用。讓我們一起期待,在未來的嵌入式開發(fā)旅程中,RT-Thread Smart 將繼續(xù)為我們帶來更多驚喜和便利。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 操作系統(tǒng)
    +關(guān)注

    關(guān)注

    37

    文章

    7152

    瀏覽量

    125613
  • 終端
    +關(guān)注

    關(guān)注

    1

    文章

    1204

    瀏覽量

    30914
  • RT-Thread
    +關(guān)注

    關(guān)注

    32

    文章

    1409

    瀏覽量

    41966
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    RT-Thread (嵌入式實時操作系統(tǒng))簡介

    提供了眾多可重用軟件包的選擇,這也是 RT-Thread 生態(tài)的重要組成部分。軟件包生態(tài)對于一個操作系統(tǒng)的選擇至關(guān)重要,因為這些軟件包具有很強的可重用性,模塊化程度很高,極大的方便應(yīng)用開發(fā)者最短
    發(fā)表于 05-14 09:56

    RT-Thread Studio操作系統(tǒng)

    stm32f407+rtthread 使用 ec20 ppp撥號開發(fā)環(huán)境一、工程創(chuàng)建二、模塊添加三、參數(shù)配置四、測試開發(fā)環(huán)境IDE:RT-Thread Studio操作系統(tǒng)
    發(fā)表于 08-24 07:44

    國產(chǎn)操作系統(tǒng)再“超越”,RT-Thread推動AIoT產(chǎn)業(yè)變革

    讓它運行多個操作系統(tǒng),包括RT-Thread Smart、RT-Thread的RTOS,以及Linux或者安卓等等。熊譜翔解釋開發(fā)該組件的原因,是因為一些場合,對多算力、多核芯片也需
    發(fā)表于 01-04 08:00

    基于RT-Thread操作系統(tǒng)衍生rt-smart實時操作系統(tǒng)簡介

    ,例如 ARM Cortex-A 系列芯片,MIPS 芯片,帶 MMU 的 RISC-V 芯片等。rt-smart RT-Thread 操作系統(tǒng)的基礎(chǔ)上啟用獨立、完整的進程方式,同
    發(fā)表于 06-22 17:56

    RT-Thread編程指南

    RT-Thread編程指南——RT-Thread開發(fā)組(2015-03-31)。RT-Thread做為國內(nèi)有較大影響力的開源實時操作系統(tǒng),本文是RT
    發(fā)表于 11-26 16:06 ?0次下載

    RT-Thread用戶手冊

    RT-Thread用戶手冊——本書是RT-Thread的編程手冊,用于指導RT-Thread實時操作系統(tǒng)環(huán)境下如何進行編 程。
    發(fā)表于 11-26 16:16 ?0次下載

    RT-Thread Smart微內(nèi)核操作系統(tǒng)發(fā)布!

    9月1日,由上海睿賽德電子科技有限公司舉辦的RT-Thread Smart微內(nèi)核操作系統(tǒng)發(fā)布會于北京圓滿落幕,發(fā)布會以見微為主題,邀請到中國工程院院士、產(chǎn)業(yè)專家、高校教授及行業(yè)從業(yè)人員100余位蒞臨
    的頭像 發(fā)表于 09-09 10:49 ?3039次閱讀

    國民技術(shù)攜手RT-Thread共同推進MCU與RT-Thread操作系統(tǒng)廣泛適配

    日前,國民技術(shù)股份有限公司與知名物聯(lián)網(wǎng)操作系統(tǒng)廠商睿賽德科技(RT-Thread)簽署會員合作協(xié)議,正式成為RT-Thread高級會員。國民技術(shù)將基于通用MCU和RT-Thread物聯(lián)
    的頭像 發(fā)表于 12-16 09:56 ?2664次閱讀

    RT-Thread實時操作系統(tǒng)安裝向?qū)?/a>

    RT-Thread 是一個集實時操作系統(tǒng)(RTOS)內(nèi)核、中間件組件和開發(fā)者社區(qū)于一體的技術(shù)平臺,由熊譜翔先生帶領(lǐng)并集合開源社區(qū)力量開發(fā)而成,RT-Thread 也是一個組件完整豐富、高度可伸縮
    發(fā)表于 04-02 09:43 ?7次下載

    RT-Thread學習筆記 RT-Thread的架構(gòu)概述

    的種種優(yōu)越之處。RT-Thread 是一款完全由國內(nèi)團隊開發(fā)維護的嵌入式實時操作系統(tǒng)(RTOS),具有完全的自主知識產(chǎn)權(quán)。經(jīng)過 16 個年頭的沉淀,伴隨著物聯(lián)網(wǎng)的興起,它正演變成一個功能強大、組件豐富的物
    的頭像 發(fā)表于 07-09 11:27 ?5036次閱讀
    <b class='flag-5'>RT-Thread</b>學習筆記 <b class='flag-5'>RT-Thread</b>的架構(gòu)概述

    RT-Thread操作系統(tǒng)已經(jīng)成功部署至芯馳E3

    近日,國內(nèi)領(lǐng)先的車規(guī)芯片企業(yè)芯馳科技與國內(nèi)領(lǐng)先的車載RTOS(實時操作系統(tǒng))企業(yè)睿賽德科技(RT-Thread)共同宣布:RT-Thread操作系統(tǒng)全面支持芯馳科技E3系列 MCU芯片
    的頭像 發(fā)表于 09-09 09:15 ?1657次閱讀

    RT-Thread操作系統(tǒng)的FreeRTOS兼容層

    的兼容項目中。 1 概述 這是一個針對RT-Thread國產(chǎn)操作系統(tǒng)的FreeRTOS操作系統(tǒng)兼容層,可以讓原有基于FreeRTOS操作系統(tǒng)
    的頭像 發(fā)表于 01-14 00:55 ?2073次閱讀

    RT-Thread榮獲“最具影響力IoT操作系統(tǒng)獎”

    2024年3月30日,第十一屆開源操作系統(tǒng)年度技術(shù)會議(OS2ATC)西郊賓館舉辦!RT-Thread作為國內(nèi)領(lǐng)先的開源操作系統(tǒng)斬獲了“最具影響力IoT
    的頭像 發(fā)表于 04-12 08:37 ?674次閱讀
    <b class='flag-5'>RT-Thread</b>榮獲“最具影響力IoT<b class='flag-5'>操作系統(tǒng)</b>獎”

    新書發(fā)布——《實時操作系統(tǒng)應(yīng)用技術(shù):RT-Thread與ARM編程實踐》

    RT-Thread又一本新書《實時操作系統(tǒng)應(yīng)用技術(shù)——基于RT-Thread與ARM的編程實踐》發(fā)布,標志著RT-Thread生態(tài)和實時操作系統(tǒng)
    的頭像 發(fā)表于 05-11 08:35 ?1399次閱讀
    新書發(fā)布——《實時<b class='flag-5'>操作系統(tǒng)</b>應(yīng)用技術(shù):<b class='flag-5'>RT-Thread</b>與ARM編程實踐》

    RT-Thread操作系統(tǒng)應(yīng)用開發(fā)寒假師資培訓

    的應(yīng)用技能,睿賽德科技聯(lián)合全國大學生嵌入式大賽組委會將于2025年1月16-29日陜西省西安市舉辦RT-Thread操作系統(tǒng)物聯(lián)網(wǎng)應(yīng)用開發(fā)師資培訓。本次培訓旨在通
    的頭像 發(fā)表于 12-06 01:06 ?548次閱讀
    <b class='flag-5'>RT-Thread</b><b class='flag-5'>操作系統(tǒng)</b>應(yīng)用開發(fā)寒假師資培訓