[ 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 ]