Termux:X11
Downcodes小編:Termux:X11 是一個完整的X 伺服器,它使用Android NDK 建置並針對Termux 進行了最佳化。它允許您在Termux 中運行圖形應用程式。
關於
Downcodes小編:Termux:X11 是一款功能齊全的X 伺服器。它使用Android NDK 構建,並針對Termux 進行了最佳化。
子模組注意事項
Downcodes小編:此倉庫使用子模組。請使用以下指令克隆倉庫:
1. git clone --recurse-submodules https://github.com/termux/termux-x11
2. 或者
* git clone https://github.com/termux/termux-x11
* cd termux-x11
* git submodule update --init --recursive
工作原理
Downcodes小編:與其他X 伺服器的工作原理相同。
安裝說明
Downcodes小編:Termux:X11 需要Android 8 或更高版本。它包含一個Android 應用程式和一個配套的Termux 包,您需要安裝這兩個部分。
1. Android 應用程式:從該倉庫的nightly 發布標籤取得Android 應用程式。下載並安裝與您的裝置CPU 架構相符的app-$ARCHITECTURE-debug.apk 檔案。如果您不確定要選擇哪個架構,可以選擇app-universal-debug.apk,它將使用額外的儲存空間。
2. 配套Termux 套件:從Termux 圖形倉庫取得配套的Termux 套件。您可以確保它已啟用並使用pkg i x11-repo && pkg i termux-x11-nightly 命令安裝此套件。如果需要,您也可以從上面提到的nightly 發布標籤下載.deb 或*.tar.xz 檔案。
3. 桌面環境:大多數使用者希望在Termux:X11 上使用桌面環境。如果您不知道這意味著什麼或不知道該選擇哪一個,請執行pkg i xfce(也來自x11-repo)來安裝一個良好的桌面環境作為起點。以下說明將假定您的目標是執行XFCE 桌面,或者您可以根據自己的目標修改說明。
運行圖形應用程式
Downcodes小編:您可以使用以下命令啟動所需的圖形應用程式:
1. termux-x11 :1 -xstartup "dbus-launch --exit-with-session xfce4-session"
2. 或者
* termux-x11 :1 &
* env DISPLAY=:1 dbus-launch --exit-with-session xfce4-session
如果您使用的是除XFCE 之外的其他桌面環境,則可以將xfce4-session 替換為對應的命令。
對於某些使用者來說,dbus-launch 不起作用,您可以使用以下命令啟動會話:
termux-x11 :1 -xstartup "xfce4-session"
您也可以使用以下命令:
export TERMUXX11XSTARTUP="xfce4-session"
termux-x11 :1
在這種情況下,您可以將TERMUXX11XSTARTUP 變數儲存到.bashrc 或其他腳本中,這樣每次呼叫termux-x11 時就不需要手動輸入了。
退出Termux:X11
Downcodes小編:如果您已完成使用Termux:X11,只需透過通知抽屜退出即可。展開Termux:X11 通知,然後點選"退出" 按鈕。
但是,請注意,termux-x11 命令仍在運行,無法以這種方式結束。
解決常見問題
Downcodes小編:如果您遇到以下問題,請嘗試以下解決方案:
1. 黑屏:某些設備可能會顯示黑屏和遊標,而不是正常的輸出。在這種情況下,請傳遞-legacy-drawing 選項:
termux-x11 :1 -legacy-drawing -xstartup "xfce4-session"
2. 顏色交換:某些裝置可能會顯示顏色交換的螢幕。在這種情況下,請傳遞-force-bgra 選項:
termux-x11 :1 -force-bgra -xstartup "xfce4-session"
與proot 環境配合使用
Downcodes小編:如果您打算將Termux:X11 與proot 環境搭配使用,請注意,您需要使用--shared-tmp 選項啟動proot 或proot-distro。
如果您無法傳遞此選項,請將TMPDIR 環境變數設定為指向目標容器中對應於/tmp 的目錄。
如果您使用的是proot-distro,您應該知道可以在proot 容器內部啟動termux-x11 命令。
與chroot 環境配合使用
Downcodes小編:如果您打算將Termux:X11 與chroot 或unshare 環境搭配使用,您必須以root 身分執行它,並將TMPDIR 環境變數設定為指向目標容器中對應於/tmp 的目錄。
此目錄必須從啟動termux-x11 的shell 訪問,也就是說,它必須在相同的SELinux 上下文中,相同的掛載命名空間中,等等。
您還必須設定XKBCONFIGROOT 環境變量,使其指向容器的/usr/share/X11/xkb 目錄,否則您將遇到xkbcomp 相關的錯誤。
強制停止X 伺服器
Downcodes小編:termux-x11 的X 伺服器在名為"app_process" 的進程中執行,而不是"termux-x11"。您可以透過搜尋"com.termux.x11" 命令來結束它。
您可以使用以下命令結束X 伺服器:
pkill -f com.termux.x11
關閉Android 活動
Downcodes小編:您可以使用以下指令關閉Android 活動:
am broadcast -a com.termux.x11.ACTION_STOP -p com.termux.x11
紀錄
Downcodes小編:如果您需要取得com.termux.x11 應用程式的日誌,請將TERMUXX11DEBUG 環境變數設為1,例如:
TERMUXX11DEBUG=1 termux-x11 :0
透過這種方式獲得的日誌可能很長。最好立即將命令的輸出重定向到一個檔案。
通知
Downcodes小編:在Android 13 中,對後置通知進行了限制,因此您需要明確允許Termux:X11 顯示通知。
偏好設定
Downcodes小編:您可以透過以下三種方式存取偏好設定選單:
1. 切換鍵盤:只需按下"後退" 按鈕。
2. 觸控手勢:觸控板模擬模式。
在觸控板模擬模式下,您可以使用以下手勢:
* 模擬觸控螢幕模式
在模擬觸控螢幕模式下,您可以使用以下手勢:
3. 從命令列更改、轉儲和恢復偏好設定
可以使用termux-x11-preference 工具從命令列更改termux-x11 的偏好設定。 termux-x11-nightly 包含termux-x11-preference 工具,可使用下列指令:
* termux-x11-preference [list] {key:value} [{key2:value2}]...
使用termux-x11-preference 轉儲目前偏好設定。
使用termux-x11-preference > file 將目前偏好設定轉儲至檔案。
使用termux-x11-preferences < file 從檔案恢復偏好設定。
使用termux-x11-preferences "fullscreen"="false" "showAdditionalKbd"="true" 停用全螢幕並啟用額外的按鍵列。您可以使用termux-x11-preference list 指令查看可以修改的所有偏好設定。您可以在此指定一個或多個偏好設定。
* termux-x11-preference list
列出所有可用的偏好設定。
* termux-x11-preference "fullscreen"="false"
將"fullscreen" 偏好設定變更為"false"。
* termux-x11-preference "showAdditionalKbd"="true"
將"showAdditionalKbd" 偏好設定更改為"true"。
* termux-x11-preference > preferences.txt
將目前偏好設定轉儲到名為"preferences.txt" 的檔案。
* termux-x11-preference < preferences.txt
從名為"preferences.txt" 的檔案恢復偏好設定。
* termux-x11-preference "fullscreen"="false" "showAdditionalKbd"="true" > preferences.txt
將"fullscreen" 偏好設定變更為"false",將"showAdditionalKbd" 偏好設定變更為"true",並將結果儲存至名為"preferences.txt" 的檔案。
Termux:X11 活動應該在後台或前台可用,否則termux-x11-preferences 工具將無限期掛起。
如果存在"Store preferences for secondary displays separately" 偏好設置,則termux-x11-preference 工具將使用或修改目前開啟Termux:X11 活動的顯示器的偏好設定。
與第三方應用程式配合使用
Downcodes小編:可以使用Termux:X11 與第三方應用程式搭配使用。
請查看shell-loader/src/main/java/com/termux/x11/Loader.java 的工作原理。
許可證
Downcodes小編:依據GPLv3 許可證發布。