openKylin U盤啟動器是一款用于制作系統啟動U盤的工具,可將鏡像文件制作成U盤形式的安裝介質,方便無光驅介質的電腦安裝鏡像文件。其主要功能是制作系統,方便系統的安裝,具體的實現過程如下:
10年積累的成都網站建設、網站設計經驗,可以快速應對客戶對網站的新想法和需求。提供各種問題對應的解決方案。讓選擇我們的客戶得到更好、更有力的網絡服務。我雖然不認識你,你也不認識我。但先網站設計后付款的網站建設流程,更有惠水免費網站建設讓你可以放心的選擇與我們合作。1、查看U盤
openKylin U盤啟動器通過udiskPlugWatcherInit函數自動監控/dev/目錄下的文件變更,一旦有新設備U盤插入就重新執行lsblk解析shell的執行結果,獲取出U盤信息。
U盤信息的解析過程是分別執行了lsblk-J 和lsblk-JS,篩選出所有USB協議連接的硬盤。其中lsblk-J中的J參數是將結果以json類型來展示,之后通過QJson類提取出U盤的信息。因為涉及到格式化整個物理設備,因此U盤在展示時是以整個物理單位展示,而不是按照分區顯示。顯示的具體格式為:U盤型號(設備文件路徑),容量。例如:DataTraveler_3.0(/dev/sda) 32G。如果插入多個U盤,則是在下拉框中顯示,且按照插入順序進行顯示。如下圖1所示:
圖1.U盤啟動器首界面
2、查找鏡像
查找鏡像有兩種方式,第一種是點擊圖1中的加號按鈕查找鏡像,點擊后進入圖2界面,此界面的原理是:通過使用QFileDialog::getOpenFileName()的方式,打開文件選取框,之后通過調用QFile的open函數,read函數獲取尾綴為.iso的鏡像文件,且計算iso.size()的方式獲得文件的字節大小,之后通過除以10的6次方的方式轉為GB。
圖2.選擇鏡像文件
第二種獲取鏡像文件方式,便是在文件中選取尾綴為.iso的鏡像文件,然后拖拽到打開的U盤啟動器界面,這種方式的原理是將鏡像文件的路徑通過傳值的方式,傳輸到界面。當然也用到了拖拽函數dragEnterEvent(),dropEvent(),這兩個函數一般成對出現。
此外,如果已經擁有鏡像文件,則可以點擊右鍵選擇U盤啟動器直接進行鏡像文件的制作,這種方式的原理類似第二種。
3、授權校驗密碼
當我們點擊開始制作按鈕后,系統將調用dbus接口,跳轉到授權校驗界面,用戶輸入密碼授權,執行"echo'" + 密碼+"'| sudo -S -l"判斷用戶輸入的密碼是否正確,如圖3。
圖3.授權界面
4、制作鏡像
制作開始前卸載u盤,點擊開始制作按鈕,通過makeStart函數,將授權的正確密碼、鏡像文件的路徑,u盤的路徑這三個參數傳輸到進程中。具體函數如下:
makeStart(authDialog->dialogKey->text(),isoPath,comboUdisk->getDiskPath());
之后使用QProcess進程的讀寫函數來讀入dd命令,具體的讀寫函數語句為:
S?dd?if='"+sourcePath.toLocal8Bit()+"'of="+targetPath.toLocal8Bit()+"status=progress";
這條語句包括U盤路徑,鏡像文件路徑和狀態progress。以上兩條語句便是U盤鏡像制作的關鍵點。
同時,用戶也可以在以下界面通過觀察進度圖,判斷制作情況,進度條圖的展示使用的是圓形進度條。首先使用QPainter函數畫圓之后,使用setPersent()將進度傳入進度條中,這種方式不用通過查看后臺服務端的運行情況,更方便用戶的體驗,交互感更強烈,如圖4。
圖4.正在制作界面
在制作完成后,waitForFinished()等待系統落盤,落盤后會提示制作完成,跳到制作完成界面。
圖5.制作完成界面
如果在制作中途點擊關閉,會彈出如下提示框,告訴用戶啟動盤正在制作中,是否停止,如果選是,則停止任務退出程序,如果選否,則會繼續從當前制作制作啟動盤。
圖6.制作途中途中提示界面
好啦~以上就是對openKylin U盤啟動器的部分原理介紹,如果有小伙伴對此感興趣,可通過點擊openKylin/sig-documentation??前往openKylin倉庫查看源碼進行研究哦。
openKylin(開放麒麟)社區旨在以“共創”為核心,在開源、自愿、平等、協作的基礎上,通過開源、開放的方式與企業構建合作伙伴生態體系,共同打造桌面操作系統頂級社區,推動Linux開源技術及其軟硬件生態繁榮發展。
社區首批理事成員單位包括麒麟軟件、普華基礎軟件、中科方德、麒麟信安、凝思軟件、一銘軟件、中興新支點、元心科技、中國電科32所、技德系統、北京麟卓、先進操作系統創新中心等13家產業同仁和行業機構。
來源:戎有麗
審核:openKylin
你是否還在尋找穩定的海外服務器提供商?創新互聯www.cdcxhl.cn海外機房具備T級流量清洗系統配攻擊溯源,準確流量調度確保服務器高可用性,企業級服務器適合批量采購,新人活動首月15元起,快前往官網查看詳情吧
分享標題:【小白課程】openKylinU盤啟動器介紹-創新互聯
文章地址:http://vcdvsql.cn/article36/dgdopg.html
成都網站建設公司_創新互聯,為您提供網站設計、品牌網站建設、移動網站建設、小程序開發、手機網站建設、網站排名
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯