我將從正式的 Raspbian-Lite開始,因為它已經可以根據需要進行精簡,並且可以與硬件一起使用。
默認情況下,您免費獲得功能齊全,重量輕的linux(時間,金錢,自由)
- 內核
- Coreutils(Shell和基本shell工具)
- 網絡工具(WLAN和SSH)
- 系統框架,例如
python
ruby
perl
ol> “一個帶有網絡的簡單Linux安裝,但是除了單個窗口應用程序外沒有UI?可以通過配置文件等處理無線之類的東西。什麼是最好的方法來解決這個問題?“
檢查! (注意,配置已經通過文件完成,GUI工具只是用於編輯配置文件和定期讀取狀態文件以跟踪動態信息的界面)
只有你不做的事情get是任何類型的GUI。下面的更多內容。
GUI選項
在編寫GUI應用程序時,通常需要具備一些常見元素。 EG
- 按鈕(事件和鼠標處理)
- 窗口/子窗口(重疊緩衝區)
- 工具欄(上下文相關可見性)
- 文本框(
- 圖像
選擇框架時,在為您完成的功能和必須重新發明的功能之間存在權衡。
注意:計算按鈕繪製像素很簡單,但是要創建一個可以檢測並響應各種任意輸入(單擊,雙擊,拖動,滑動,滾動等)的系統。 。)實際上非常非常難(閱讀:乏味且容易出錯)。
下面是對一些簡單的顯示器的簡要說明。
1.幀緩衝
屏幕上的原始圖形輸出實際上本身就是一個文件。即使未安裝 X
,該文件也存在。
/ dev / fb0
有關此內容的描述可在內核文檔中找到。
但是,對於我們來說,將其想像為屏幕的“位圖”就足夠了。有很多警告,因為數據的格式取決於平台。
您的應用程序(用 c
, python
, java 代碼>,等等)。將打開此文件,並向其寫入( Platform Dependent!)字節以顯示和修改顯示器上的圖像。它還需要從鼠標和鍵盤獲取原始輸入,並將其解釋為單擊按鈕,然後將事件(調用)分配給適當的功能。
例如
cat / dev / urandom > / dev / fb0
將使彩色像素隨機填充屏幕
2。 X Windowing System(X11 aka Xorg)
最臭名昭著的framebuffer用戶。簡而言之,這提供了
- Windows(可能重疊獨立區域)
- 輸入(鼠標和鍵盤)
- 事件
大多數人將使用更高級別的GUI庫(例如 GTK
Qt
或 wxWidgets
)來創建可用的對象,例如按鈕和工具欄, X
提供的基本功能。這些庫還極大地簡化了為按鈕和按鍵之類的事件創建“事件處理程序”的過程。
您還可以使用 OpenGL
直接繪製圖形。使用X不需要運行全功能的GUI桌面,甚至不需要安裝圖形桌面即可。運行圖形應用程序
您的應用程序(同樣, python
, c ++
,無論如何)將使用GUI工具和 Xlib
(用於Xorg的API)可在屏幕上繪製窗口小部件,窗口等。
注意:當在桌面環境下運行全屏應用程序時,幾乎沒有其他GUI工具在後台運行,從而模仿了這種用法。
3。基於文本的用戶界面(nCURSES!)
基於文本的用戶界面是上述所有內容的簡單替代,並且可能是“信息設備”概念的一種涼爽而優雅的解決方案。
此應用程序直接使用終端外殼來創建具有ASCII字符的可視顯示。 ncurses
庫受多種語言支持,並在控制台環境中提供類似於GUI的窗口,緩衝區,按鈕,選項卡,輸入等概念
您實際上可以創建一個非常簡單的基於菜單的界面,僅使用帶有內置linux實用程序
dialog
的shell腳本即可創建上面顯示的界麵類型下圖的左側。