[ Dextop // 專案頁面 ] [ 版本 // 08-19-2024 ]
2024年8月19日 ↴
2024年8月10日 ↴
2024年8月7日 ↴
2024年8月6日 ↴
2024年6月22日 ↴
2024年5月29日 ↴
Dextop 在幾分鐘內將大多數現代 Android 裝置轉變為完整的 Linux 發行版工作站!無需麻煩或深厚的技術知識: Dextop 簡單且使用者友好。
強烈建議在新的 Termux 實例或設定檔上安裝 Dextop,以獲得乾淨的狀態和快速的體驗,儘管也可以將其部署在現有的設定上。
Dextop 建立、載入和使用的所有實用程式都包含說明參數:請在設定時或開啟錯誤報告之前參閱說明對話方塊。
準備↴
連結儲存↴
echo 'Home' > .storage
安裝↴
curl -s -L run.dxtp.app > dextop && bash dextop
使用 ↴
container-session -o
container-session -u termux
container-session -o
享受!
為了按照它的方式運行並在Termux 和所選容器實例之間無縫過渡,Dextop 以某種方式構建:它加載並鏈接腳本、配置文件和實用程序,以增強基於Android 的工作站體驗,如下所示:
上述所有文件都可以更改或自訂,如果尚未設定配置或首選項,則可以作為良好的開始基礎。
所有其他腳本和實用程式也可以編輯或修改,以從更客製化的體驗中受益。
Dextop 專案在此過程中不承擔任何有關硬體故障或資料遺失的責任!
對 Dextop 設定例程、腳本或實用程式的任何修改都意味著使用者充分意識到潛在的硬體故障或損壞和/或資料遺失,包括這樣做的後果:由此類操作引起的任何錯誤報告將不會得到承認和將立即關閉!
Dextop 是使用三星 Galaxy Note 20 Ultra、三星 Galaxy Tab S7+ 和運行啟用了 ASL(適用於 Linux 的 Android 子系統)的 Chrome 作業系統的英特爾 NUC 開發的。
Dextop 主要針對行動裝置上的三星 DeX 內部/一起運作進行了最佳化。
鑑於 Dextop 開發和製造的設備, ARM64 V8a架構是所有編譯物件、二進位檔案、庫、實用程式以及專案的所有其他已安裝或所需套件的基礎,並且是在聲明「現代Android 設備」時隱含的架構參考'。
必須遵循 Termux 備份建議來備份現有設定。
最後警告:Dextop 專案對安裝和設定過程中導致的任何覆蓋、檔案損壞或刪除不承擔任何責任 - 已警告您。
還建立了一個備份例程,無論如何,在繼續之前都會存檔使用者的主目錄,以確保某種安全。
生成後,可以在用戶的主目錄下找到它,相應的標記為“dextop-backup-MM-DD-YYYY-HH-MM-SS.tar.gz”
不過,Dextop 可以與其他非常相似的項目進行比較:
高級用戶請注意!
需要後端服務(即:Ubuntu Snap/snapd)、獨立服務、硬體探測器和其他需要存取受限核心系統目錄的高級功能的應用程式將無法運作:裝置必須取得root 權限才能消除這些限制並獲得對所有內容的完全存取權系統硬體和虛擬設備。
Dextop 連結了一些已在 Termux 下修補的修改實用程序,以嘗試限制存取 Android 用戶空間運行時策略允許的任何內容(htop、kill、pgrep、pkill、ps、top)。
不要安裝 Google Play 商店軟體包:它們尚未維護,並且自 2020 年 11 月起已棄用。
為了獲得最佳體驗,請點擊下面的連結和建議,並確保:
Dextop 非常快速且有效率:
使用者可以選擇完整的 XFCE 設定來完成工作,或保留命令列介面和程式設計工作流程的基本安裝:
「控制台」選項適用於想要嘗試使用 Dextop 或設定自己的視窗管理器 (WM)/桌面環境 (DE)、公用程式和首選項的使用者。
'environemnt' 選項可讓使用者指定要設定和使用的桌面環境 (DE)。
當沒有參數傳遞給「dextop」部署腳本時,安裝程式目前預設為 Termux 和容器端使用 XFCE(唯一完整且功能齊全的環境套件)。
預設情況下,XFCE 合成被(並且應該保持)禁用,以優化資源使用並防止顯示撕裂和其他故障。
一般來說,對於其他類型的設置,關閉合成可以根據當前的 Android 系統和安全限制獲得最佳的性能和體驗。
此類要求是由於 Android 用戶空間運行時策略和有限的硬體存取造成的:沒有可用的圖形硬體加速 - 容器圖形是使用 LLVM 進行模擬和運行的。
Dextop 僅根據需要載入應用程式:這有助於保持最小的佔用空間並使主機設備運行盡可能順利!
音樂、郵件、網頁瀏覽和遊戲活動最好使用本機 Android 應用程式來處理,因為它們與裝置的硬體互動並提供加速和其他所需的功能。請參閱附加項。
Dextop 設定內部(和外部,如果可用)儲存媒體以實現靈活的系統範圍存取。
儲存偵測是透過 /proc/mounts 透過解析 /storage 目錄的條目來完成的。這些條目(如果存在)會根據正規表示式進行過濾,以識別其他外部儲存介質,例如 SD 卡、永久磁碟機或特定的 UUID 安裝模式,例如基於 Chrome OS 的系統(即:FydeOS)提供的模式。
為方便起見,負責安裝和連結這些條目的實用程式將首先在每個已安裝路徑的根目錄中查找.storage
檔案:強烈建議在開始安裝之前建立這些檔案並附加任何合理的內容或用於這些安裝座的可識別標籤。
例子:
/storage/self/primary 是 Android 內部使用者記憶體的預設位置(也稱為「使用者資料」和/或「使用者主目錄」位置)。透過echo internal > /storage/self/primary/.storage
將「internal」附加到該目錄的 .storage 檔案將導致在${PREFIX}/media
下將可存取的掛載連結為internal -> /storage/self/primary
如果不存在,該實用程式將預設連結並透過各自的標籤或預設 UUID 在${PREFIX}/media
下存取這些安裝。
筆記:
運行 Android 容器 (ARC) 的 Chrome OS 絕對系統使用者將希望在其「我的檔案」目錄下新增一個包含「Home」的 ``.storage```` 檔案。這將確保「termux-storage」連結參數透過裝置上存在的各種容器執行個體正確定位、填充和連結所有標準目錄。
實際上,基本${HOME}
位置現在作為單一統一目錄在所有容器之間共用。
Dextop 將本機顯示伺服器應用程式「termux-x11」與 Termux:X11 android 應用程式套件一起使用,並使用裝置的硬體圖形平台 (GPU) 使用裝置的本機解析度和 DPI 設定轉送顯示。
這種體驗與在典型筆記型電腦或桌上型電腦上設定虛擬機器 (VM) 並透過檢視器存取它非常相似。
┌─────────────────────────────────────────────────────────────────────────────────────────────┐
│ │
│ Device /////////////////////////////////////////////////////////////////////////////////// │
│ │
│ ┌───────────────────────────────────────────────────────────────────┐ ┌────────────────┐ │
│ │ ◄──┤ │ │
│ │ Firmware │ │ Hardware │ │
│ │ ├──► │ │
│ └──────────────────────────────────────────────────────────────▲─┬──┘ │ ┌──────────┐ │ │
│ │ │ │ │ Sound │ │ │
│ ┌──────────────────────────────────────────────────────────────┴─▼──┐ │ └──────────┘ │ │
│ │ │ │ │ │
│ │ Base System │ │ ┌──────────┐ │ │
│ │ │ │ │ Power │ │ │
│ │ ┌────────────────────────────────▲────────────────────────────┐ │ │ └──────────┘ │ │
│ │ │ │ │ │ │ │ │
│ │ │ Android System │ │ │ │ ┌──────────┐ │ │
│ │ │ │ │ │ │ │ . . . │ │ │
│ │ │ ┌───────────────────────────┬─│─────────────────────────┐ │ │ │ └──────────┘ │ │
│ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ Termux Application │ │ │ │ │ │ ┌──────────┐ │ │
│ │ │ │ │ │ │ │ │ │ │ Cameras │ │ │
│ │ │ │ ┌────────────────────────▼─┴─┐ ┌─────────────────┐ │ │ │ │ └──────────┘ │ │
│ │ │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ │ Termux System ◄──┤ Activity │ │ │ │ │ ┌──────────┐ │ │
│ │ │ │ │ │ │ Manager │ │ │ │ │ │ Display │ │ │
│ │ │ │ │ ┌─────────────────▲────┐ ├──► │ │ │ │ │ └──────────┘ │ │
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ │ │ Home Directory │ │ │ └─────────────▲─┬─┘ │ │ │ │ ┌──────────┐ │ │
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ APU │ │ │
│ │ │ │ │ │ ┌──────────────┴─┐ │ │ ┌─────────────┼─┼────┘ │ │ │ └──────────┘ │ │
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ │ │ │ Dextop │ │ │ │ ┌──────────┴─▼────┐ │ │ │ ┌──────────┐ │ │
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ RAM │ │ │
│ │ │ │ │ │ └──▲─────────┬─┬─┘ │ │ │ │ Termux │ │ │ │ └──────────┘ │ │
│ │ │ │ │ │ │ │ │ │ │ │ │ X11 │ │ │ │ │ │
│ │ │ │ │ │ ┌──┴─────────┼─▼─┐ │ │ │ │ │ │ │ │ ┌──────────┐ │ │
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ROM │ │ │
│ │ │ │ │ │ │ Frobulator │ │ │ │ │ │ │ │ │ │ └──────────┘ │ │
│ │ │ │ │ │ │ │ │ │ │ │ └──────────▲─┬────┘ │ │ │ │ │
│ │ │ │ │ │ └────────────┼───┘ │ │ │ │ │ │ │ │ ┌──────────┐ │ │
│ │ │ │ │ │ │ │ │ │ ┌──────────┴─▼────┐ │ │ │ │ Storage │ │ │
│ │ │ │ │ └──▲────────────┼──────┘ │ │ │ │ │ │ │ └──────────┘ │ │
│ │ │ │ │ │ │ │ │ │ Termux │ │ │ │ │ │
│ │ │ │ │ ┌──┴────────────▼──────┐ │ │ │ API │ │ │ │ ┌──────────┐ │ │
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ Sensors │ │ │
│ │ │ │ │ │ Container System │ │ │ │ │ │ │ │ └──────────┘ │ │
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ │ └──────────────────────┘ │ ◄──┤ ◄──┼──┼──┤ ┌──────────┐ │ │
│ │ │ │ │ │ │ │ │ │ │ │ │ Comms │ │ │
│ │ │ │ └────────────────────────────┘ ├──► ├──┼──► │ └──────────┘ │ │
│ │ │ │ │ │ │ │ │ │ │ │
│ │ │ └──────────────────────────────────┘ └─────────────────┘ │ ◄──┤ ┌──────────┐ │ │
│ │ │ │ │ │ │ Addons │ │ │
│ │ └─────────────────────────────────────────────────────────────┘ ├──► └──────────┘ │ │
│ │ │ │ │ │
│ └───────────────────────────────────────────────────────────────────┘ └────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────────────────────────────────┘
在開始之前,請注意,自動化 Android 軟體包安裝需要為 Termux 應用程式本身以及所有其他 Termux 配套應用程式(如果已安裝)啟用「安裝未知應用程式」權限:
若要啟用此權限,請導覽至「設定」→「安全性和隱私權」→「安裝未知應用程式」→「Termux[:Application]」並開啟開關。
若要設定 Dextop,請在主機 Android 裝置上安裝下列軟體包:
或者,具有全螢幕或沉浸式功能的 VNC 檢視器應用程式也可以與 Termux:X11 一起安裝,例如:
在裝置上安裝 Android 應用程式後,開啟 Termux 並貼上或鍵入:
curl -s -L run.dxtp.app > dextop && bash dextop
小心點!
在整個設定過程中擷取使用者資訊和分發首選項,以設定容器的使用者設定檔、主目錄和其他參數。
大多數設定過程是完全自動化的,並且應該一直運行到容器可供使用者使用為止。
Dextop 會自動偵測和處理任何外部媒體安裝,將它們新增至工作容器中,並在檔案瀏覽器的書籤檔案中對它們進行適當的標記。
仍然需要使用者輸入才能在需要時授予 Termux 儲存和安裝存取權限,並且這只能透過使用者互動來完成。
沒有解決方法!
貯存:
在設定過程中出現提示時按「允許」以授予儲存權限。
補充:
在安裝過程中出現提示時按「安裝」以安裝顯示伺服器元件。
「termux-additions」實用程式是最新部署的一部分,用於設定與主 Termux 應用程式互動所需的 Android 軟體包,包括 Termux API、Termux GUI 和 Termux:X11。
這些新增內容直接從各自的 Termux 專案 GitHub 發布頁面取得:應刪除任何先前安裝的版本,以免繼承任何可能導致意外問題的衝突包簽署。
顯示伺服器Termux:X11 將與所需的“termux-x11”包交互,並為Dextop 提供主機設備上的本機顯示解決方案,使用可用的DPI 設定並透過硬體平台運行它(當它運行時可以加速)已編譯並啟用)。
若要啟動會話並存取新產生的容器,請貼上或鍵入:
container-session -o | -u | -a
若要存取直接安裝在 Termux 下的桌面環境(可透過綠色使用者名稱提示識別),請貼上或鍵入:
container-session -o
若要存取已選擇的容器住房分佈(可透過 fuschia 使用者名稱提示識別),請貼上或鍵入:
container-session -o -u termux
若要使用 vnc 顯示伺服器 (x11vnc) 啟動會話並重新啟動顯示輸出,請貼上或鍵入:
container-session -o vnc
如果使用本機 X11 顯示伺服器 (termux-x11),請貼上或鍵入:
container-session -o x11
使用者“termux”是自動容器設定期間使用的預設使用者名稱。用於標識已選擇的分發映像下的預設用戶,並且可以在設定後進行編輯。可以使用“container-user”實用程式新增其他使用者。
第一次存取容器時,登入時會執行一次性配置以設定鍵盤佈局、區域設定和時區首選項。
如果使用 vnc 顯示伺服器 (x11vnc),vnc 會話管理器要求使用者選擇首選顯示解析度以獲得最佳顯示體驗:此選擇會儲存在"${HOME}"/.vnc/selection
下,並且登入程序使用它會自動啟動VNC 伺服器和檢視器,以方便您!
下次登入將使用先前選擇的選項自動啟動會話。若要覆蓋選擇,請貼上或鍵入:
container-session -n vnc
若要透過停止 vnc 顯示伺服器來停止使用 vnc 顯示伺服器的活動會話,請貼上或鍵入:
container-session -x
若要登出,請按 Ctrl+D 或鍵入'logout'
或'exit'
以使會話立即停止 vnc 伺服器並退出:
根據執行命令時使用的 shell 級別,容器會退出到 Termux shell(可透過綠色使用者名稱提示符號識別)或 Android 主螢幕。
隨著專案的發展,某些實用程式可能會發生輕微或顯著的變化,並且一些新的實用程式可能會被引入 Dextop 生態系統。
為了確保 Dextop 按預期運作並具有最新功能,請根據現有設定進行以下操作:
對於新安裝,請執行正常的安裝例程並按照出現的說明進行操作(請參閱安裝部分)。
對於現有安裝,可以透過從最新的 Dextop 部署腳本下載並執行更新例程來執行手動更新。
首先,取得最新版本的 Dextop 部署腳本。為此,請貼上或鍵入:
curl -s -L run.dxtp.app > "${HOME}"/.local/bin/dextop
此步驟將使用後續步驟所需的所有最新功能覆寫並更新腳本。
然後,要更新 Dextop 所需或使用的實用程序,請貼上或鍵入:
curl -s -L run.dxtp.app > dextop && bash dextop -u utility all
若要更新特定實用程序,請貼上或鍵入:
curl -s -L run.dxtp.app > dextop && bash dextop -u utility [Utility Name]
如果出於某種原因使用者不確定要作為參數呼叫的實用程式名稱,則更新例程會在失敗時自動顯示所有可用的實用程式名稱。
若要更新所有 shell 會話和體驗腳本,請貼上或鍵入:
curl -s -L run.dxtp.app > dextop && bash dextop -u shell
為了簡化整個版本更新過程,使用者還可以決定更新主部署腳本和所有相關實用程式。為此,請貼上或鍵入:
curl -s -L run.dxtp.app > > "${HOME}"/.local/bin/dextop && bash dextop -u all
如果初始設定成功,但使用者無法啟動會話,或者在鍵入命令時似乎丟失了任何隨機包,則原因是不穩定的 Termux 包管理問題:存儲庫資訊似乎不穩定,pkg/apt 無法獲取或拉取安裝時請求的包。
若要重新初始化 Dextop 設定檢查點,而無需擦除 Termux 會話或實例,請貼上或鍵入:
rm -rf "${HOME}/.dextop
若要修復可能遺失的套件和隨機初始化失敗的問題,請貼上或鍵入:
curl -s -L run.dxtp.app > dextop && bash dextop
高延遲網路連線或存取伺服器內容 (GitHub) 的問題可能會導致某些檔案故障或損壞。
如果因部署腳本損壞而更新因部署腳本損壞,請貼上或鍵入:
curl -s -L run.dxtp.app > "${HOME}"/.local/bin/dextop && bash dextop -u utility all
部署最新版本的 Dextop 後,在啟用登入時自動更新時,可以將其設定為取得所有最新的相關實用程式。
可以如下啟用登入時自動實用程式更新:
echo update > "${HOME}"/.dextop/dextop-update
可以如下停用登入時的自動實用程式更新:
echo '' > "${HOME}"/.dextop/dextop-update
為了保持系統負載輕薄,強烈建議透過使用 'dextop-additions' 設定預設應用程序,這樣,'dextop-additions' 通過使用活動管理器並打開相關的 Android 應用程式供您使用。
'dextop-additions' 處理活動:
dextop-additions -a
或處理 mimetype 句柄:
dextop-additions -n
音訊播放透過「pulseaudio」進行配置和支持,但不建議使用它,因為它可能會佔用設備電池和處理器的處理和週期密集型資源。
播放時的音訊延遲和其他此類相關參數可能會有所不同,具體取決於主機設備的硬體規格,以及它是直接在 Termux shell 下運行還是在分發容器內運行。
可以如下啟用登入時的音訊播放:
echo audio > "${HOME}"/.dextop/dextop-audio
可依下列方式停用音訊播放:
echo '' > "${HOME}"/.dextop/dextop-audio
終端機退出時自動會話和顯示關閉可以啟用,如下所示:
echo logout >> "${HOME}"/.dextop/dextop-logout
終端機退出時自動會話和顯示關閉可以停用,如下所示:
echo '' > "${HOME}"/.dextop/dextop-logout
Frobulator 可以簡化腳本並使冗餘程式碼成為過去。
Termux 作為 android shell 提供者應用程序,用於與主機設備建立 Dextop 介面。
Termux:X11 作為 android 原生顯示器伺服器供應商。
GNU/Bash 作為腳本運行的 shell 環境。
提交錯誤報告或功能請求
筆記:
所有設定對話方塊、提示、命令和二進位執行輸出均已設定為重定向至'${PREFIX}/var/log'
目錄,以將輸出訊息保持在最低限度。如果您懷疑有任何問題或錯誤,請在提交錯誤報告時提供這些文件的副本。
[ Dextop // 專案頁面 ] [ 版本 // 08-19-2024 ]