【合作原创】使用Termux搭建可以使用的生产力环境(九)
前言
在上一篇【合作原创】使用Termux搭建可以使用的生产力环境(八)-CSDN博客中我们讲到了如何安装IDEA社区版,并在Termux中安装VNC服务器,在proot-distro的Debian中启动xfce桌面,并通过这个方式解决了IDEA社区版中无法使用拼音输入法的问题。在这篇我将介绍Debian中启动xfce在Termux中使用Termux-X11来展示桌面环境
组合介绍
该组合可以看本系列的第三篇【合作原创】使用Termux搭建可以使用的生产力环境(三)_termux sftp-CSDN博客,其中的组合e,这也是Termux中常用的组合之一。即在proot-distro的Debian中启动xfce桌面,使用Termux-X11这个APP来展示xfce桌面。
安装Termux-X11 APP
该组合的核心就是Termux-X11这款APP,它可以在Github的termux-x11项目的Releases页面下载到,地址为:Release Nightly Release 20250107 · termux/termux-x11 · GitHub
Android手机下载app-arm64-v8a-debug.apk,这个包,上传到手机后安装即可
安装完成
安装完成后的APP长这样:
打开后是一个未连接状态的界面
Termux中安装并启动termux-x11
为了区分Termux-X11 APP,这里采用的小写
安装
为了与Termux-X11这个APP适配上,在Termux中也需要安装一个程序,在Termux中执行以下命令:
pkg i -y termux-x11-nightly
启动termux-x11
执行下面命令即可启动termux-x11:
termux-x11 :3 >/dev/null &
其中termux-x11就是程序名。:3为显示编号,为了防止与之前的教程中的显示编号冲突,这里采用3号显示。>/dev/null是重定向输出,将日志全部丢弃。&则告诉系统不要阻塞当前终端会话,让termux-x11这个程序在后台执行。
启动完成后会显示一个进程号,如果想要关闭termux-x11,只需要kill掉该进程号即可
如果我们此时打开Termux-X11 APP,我们会看到未连接画面已经没有了,取而代之的是带有底部软键盘的黑屏界面,这就说明termux-x11已经连接上了。
启动xfce桌面
启动命令
执行以下命令启动:
proot-distro login debian --shared-tmp -- /bin/bash -c 'export GTK_IM_MODULE=fcitx && export QT_IM_MODULE=fcitx && export XMODIFIERS=@im=fcitx && export PULSE_SERVER=127.0.0.1 && export XDG_RUNTIME_DIR=${TMPDIR} && export DISPLAY=:3 && startxfce4'
解释一下这个命令:
proot-distro login debian:用过很多次了,就是用于登录到Debian系统
--shared-tmp:将termux中的临时目录模拟出来给Debian使用,方便Debian和termux之间临时进行数据交互操作
-- /bin/bash -c:使用Debian环境去执行后续命令,后续命令通过单引号囊括
export GTK_IM_MODULE=fcitx && export QT_IM_MODULE=fcitx && export XMODIFIERS=@im=fcitx:用于指定输入法为fcitx,防止输入法出现问题
export PULSE_SERVER=127.0.0.1:使用本地音频服务,防止音频出现问题
export XDG_RUNTIME_DIR=${TMPDIR}:在基于 XDG(X Desktop Group)基本目录规范的 Linux 系统中使用。它主要用于指定用户运行时(runtime)文件和套接字(sockets)的基本目录,指定为TMPDIR,反正配置了不会错
export DISPLAY=:3:设置显示编号为3,需要和termux-x11指定的编号一致才行,不然会无法显示的
startxfce4:这个不用多说了,就是启动xfce桌面环境
打开Termux-X11 APP
打开后Termux-X11 APP就能显示出桌面了
修改Termux-X11 APP设置
进入设置页
点击右下角的齿轮按钮,即可打开设置。
或者在长按APP,会弹出一个Preference(偏好),也就是APP的设置,都能进入Termux-X11的设置页面
进入设置页面
修改Output
其中有几个设置最好改一下,点击第一行的Output。
取消勾选Reseed screen while soft keyboard is open,这个是点击右下角的键盘可以弹出手机的输入法,如果通过OTG外接键盘后建议取消勾选,如果没有的话,还是建议打开状态。
Fullscreen勾选上,这样APP就能全屏显示了,顶部状态栏没了。
Screen orientation(屏幕方向),我建议是改为landscape,也就是横屏显示,这样方向就定死了,不会随屏幕方向而改变了。
修改Pointer
抱歉,这个页面没有内容需要修改哦。唯一要说明一下的就是第一个Touchscreen input mode,它有三个选项
Trackpad:触摸板模式,整个手机屏幕当成类似于电脑的触摸板使用,操作习惯也和触摸板一致,比如滑动触摸板就是移动鼠标光标。单指单击就是鼠标左键单机。两指单击,就是单击鼠标右键。两指滑动就是滚轮键滚动。
Simulated touchscreen:模拟触控屏,点哪里就是哪里,非常生硬,大家试了就知道了,反正我认为是不好用,我甚至不知道如何执行拖动操作
Direct touch:直触模式,点哪里就是哪里,可以用于直接拖动,但是也不好用,如果通过OTG外接了鼠标,可以使用这个模式
修改Keyboard
这里修改的就是底部的黑色软键盘了
需要修改这几项设置
点击Show additional keyboard右边的齿轮。(我不建议将这个软键盘彻底关闭,除非使用OTG连接了物理键盘)
将Opacity of extra keys bar的100%改为30%,这里这个软键盘就是透明的了,不再是漆黑一片,挡住底部的任务栏
Prefer scancodes when possible:使用OTG连接物理键盘的时候建议打开,这样能保证键位映射不会出现问题(使用Termux-X11+物理键盘玩我的世界的时候必须打开,否则键位映射有问题,这是后话了,我可能会出Termux-X11玩我的世界的教程)
目前写到这已经2700多字了,我打算余下内容放到下一篇中,哈哈!
完成这些设置后,当前显示的内容如下:
APP下载地址
怕大家下载不到Termux-X11 APP,我这里放一下下载地址:
termux-x11-app-arm64-v8a-debug-2025-1-7.apk官方版下载丨最新版下载丨绿色版下载丨APP下载-123云盘
结语
本篇带大家初识了Termux-X11这款APP,并将Debian中的xfce4桌面显示在这个APP中了,并对Termux-X11进行了简单的设置,让它能够更好的使用。在下一篇中我还会继续向大家介绍Termux-X11这款APP,并真正通过手机来编写代码,作为代码生产力工具,而不是借助另一台电脑。
最后和之前一样,有问题大家可以在评论区指出,另外想要和作者吹水可以来群170618278,另外给up:qwe5283的Termux视频多多三连,谢谢各位!
相关文章:

【合作原创】使用Termux搭建可以使用的生产力环境(九)
前言 在上一篇【合作原创】使用Termux搭建可以使用的生产力环境(八)-CSDN博客中我们讲到了如何安装IDEA社区版,并在Termux中安装VNC服务器,在proot-distro的Debian中启动xfce桌面,并通过这个方式解决了IDEA社区版中无…...
使用Supervisor在Ubuntu中实现后台自启动服务
在Ubuntu系统中,Supervisor是一个非常实用的进程管理工具,它可以让你的应用程序在后台运行,并且在系统启动时自动启动这些应用程序。下面,我将详细介绍如何在Ubuntu中使用Supervisor来实现后台自启动服务,并以一个具体…...

AIDD-人工智能药物设计-人工智能驱动的罕见病药物发现
JCIM | 人工智能驱动的罕见病药物发现 **罕见病(Rare Diseases,RDs)**是全球公共卫生领域的重大挑战,其特点是疾病种类繁多、症状复杂且诊断困难。尽管过去几十年出台了如《孤儿药法案》等法规推动研发,但超过90%的罕…...

安卓硬件加速hwui
安卓硬件加速 本文基于安卓11。 从 Android 3.0 (API 级别 11) 开始,Android 2D 渲染管道支持硬件加速,这意味着在 View 的画布上执行的所有绘图操作都使用 GPU。由于启用硬件加速所需的资源增加,你的应用程序将消耗更多内存。 软件绘制&am…...

TDv2:一种用于离线数学表达式识别的新型树形结构解码器
TDv2:一种用于离线数学表达式识别的新型树形结构解码器 本文提出了一种针对手写数学表达式识别(HMER)任务的新型树形解码器(TDv2) ,旨在充分利用数学表达式的树结构标签进行更有效的建模和预测。相较于传统的LaTeX字符串解码器,该模型通过采用一个节点分类模块和一个分…...
Golang学习笔记_23——error补充
Golang学习笔记_20——error Golang学习笔记_21——Reader Golang学习笔记_22——Reader示例 文章目录 error补充1. 基本错误处理2. 自定义错误3. 错误类型判断3.1 类型断言3.2 类型选择 4. panic && recover 源码 error补充 1. 基本错误处理 在Go中,函数…...
邯郸地标美食导游平台的设计与实现
标题:邯郸地标美食导游平台的设计与实现 内容:1.摘要 摘要:本文介绍了邯郸地标美食导游平台的设计与实现。该平台旨在为游客提供邯郸地标美食的详细信息和导航服务,帮助游客更好地了解和品尝邯郸的特色美食。文章首先介绍了项目的背景和目的,…...
滑动窗口限流算法:基于Redis有序集合的实现与优化
滑动窗口限流算法是一种基于时间窗口的流量控制策略,它将时间划分为固定大小的窗口,并在每个窗口内记录请求次数。通过动态滑动窗口,算法能够灵活调整限流速率,以应对流量的波动。 算法核心步骤 统计窗口内的请求数量࿱…...
Angular 最新版本和 Vue 对比完整指南
1. Angular 最新版本 当前 Angular 最新稳定版本是 Angular 17(2024年初) 2. 主要区别对比表 特性 | Angular | Vue 框架类型 | 完整框架 | 渐进式框架 默认语言 | TypeScript | JavaScript/TypeScript 数据处理 | RxJS | Promise/async/await 架构特点 | 依赖注入,…...

DAY39|动态规划Part07|LeetCode:198.打家劫舍、213.打家劫舍II、337.打家劫舍III
目录 LeetCode:198.打家劫舍 基本思路 C代码 LeetCode:213.打家劫舍II 基本思路 C代码 LeetCode:337.打家劫舍III 基本思路 C代码 LeetCode:198.打家劫舍 力扣题目链接 文字讲解:LeetCode:198.打家劫舍 视频讲解:动态规划,偷不偷这个…...

MYSQL----------------sql 优化
优化 SQL 语句的一般步骤 1. 了解 SQL 的执行频率 SHOW STATUS LIKE Com_%;代码解释: SHOW STATUS LIKE Com_%;:此命令可以查看各种 SQL 语句的执行频率,例如 Com_select 表示 SELECT 语句的执行次数,Com_insert 表示 INSERT 语…...
深度学习中的正则化方法
最近看到了正则化的内容,发现自己对正则化的理解已经忘得差不多了,这里在整理一下,方便以后查阅。 深度学习中的正则化方法 1. L2 正则化(L2 Regularization)2. L1 正则化(L1 Regularization)3.…...

前端报告 2024:全新数据,深度解析未来趋势
温馨提示: 此报告为国际版全球报告,其中所涉及的技术应用、工具偏好、开发者习惯等情况反映的是全球前端开发领域的综合态势。由于国内外技术发展环境、行业生态以及企业需求等存在差异,可能有些内容并不完全契合国内的实际情况,请大家理性阅读,批判性地吸收其中的观点与信…...
计算机网络之---子网划分与IP地址
子网划分与IP地址的关系 在计算机网络中,子网划分(Subnetworking)是将一个网络划分为多个子网络的过程。通过子网划分,可以有效地管理和利用IP地址空间,提高网络的性能、安全性和管理效率。 子网划分的基本目的是通过…...

计算机网络 (31)运输层协议概念
一、概述 从通信和信息处理的角度看,运输层向它上面的应用层提供通信服务,它属于面向通信部分的最高层,同时也是用户功能中的最低层。运输层的一个核心功能是提供从源端主机到目的端主机的可靠的、与实际使用的网络无关的信息传输。它向高层用…...

代码随想录算法训练营day28
代码随想录算法训练营 —day28 文章目录 代码随想录算法训练营前言一、122.买卖股票的最佳时机II二、55. 跳跃游戏三、跳跃游戏 II方法一方法二 1005. K 次取反后最大化的数组和总结 前言 今天是算法营的第28天,希望自己能够坚持下来! 今日任务&#x…...
建立时间和保持时间
建立时间 在时钟有效沿到来之前,数据必须维持一段时间保持不变,这段时间就是建立时间 Tsetup 1 基本概念 建立时间(Setup Time): 在 SystemVerilog 中,建立时间是指在时钟信号的有效边沿(例如…...

vue,router路由传值问题,引用官方推荐
参考贴https://blog.csdn.net/m0_57033755/article/details/129927829 根据官方文档的更新日志,建议使用state传值 官方文档更新日志 实际的console结果 传值 router.push({ name: KnowledgeDetail, state: { params } });接收值 const historyParams histor…...

AIDD-人工智能药物设计-AlphaFold系列:年终回顾,AlphaFold迄今为止的实际应用案例
AlphaFold系列:年终回顾,AlphaFold迄今为止的实际应用案例 01 引言 AlphaFold由 DeepMind 团队开发,最初在蛋白质结构预测竞赛 CASP 中惊艳亮相。随着 AlphaFold2 和后续版本的迭代进步,其精度和通用性不断提升,逐渐走…...
Scala语言的面向对象编程
Scala语言的面向对象编程 引言 在当今的软件开发中,面向对象编程(OOP)是一种非常强大且广泛使用的编程范式。Scala是一种现代编程语言,结合了面向对象编程和函数式编程的特性,非常适合用于大规模软件的开发。本文将介…...
MySQL 隔离级别:脏读、幻读及不可重复读的原理与示例
一、MySQL 隔离级别 MySQL 提供了四种隔离级别,用于控制事务之间的并发访问以及数据的可见性,不同隔离级别对脏读、幻读、不可重复读这几种并发数据问题有着不同的处理方式,具体如下: 隔离级别脏读不可重复读幻读性能特点及锁机制读未提交(READ UNCOMMITTED)允许出现允许…...

CMake基础:构建流程详解
目录 1.CMake构建过程的基本流程 2.CMake构建的具体步骤 2.1.创建构建目录 2.2.使用 CMake 生成构建文件 2.3.编译和构建 2.4.清理构建文件 2.5.重新配置和构建 3.跨平台构建示例 4.工具链与交叉编译 5.CMake构建后的项目结构解析 5.1.CMake构建后的目录结构 5.2.构…...
【ROS】Nav2源码之nav2_behavior_tree-行为树节点列表
1、行为树节点分类 在 Nav2(Navigation2)的行为树框架中,行为树节点插件按照功能分为 Action(动作节点)、Condition(条件节点)、Control(控制节点) 和 Decorator(装饰节点) 四类。 1.1 动作节点 Action 执行具体的机器人操作或任务,直接与硬件、传感器或外部系统…...

高等数学(下)题型笔记(八)空间解析几何与向量代数
目录 0 前言 1 向量的点乘 1.1 基本公式 1.2 例题 2 向量的叉乘 2.1 基础知识 2.2 例题 3 空间平面方程 3.1 基础知识 3.2 例题 4 空间直线方程 4.1 基础知识 4.2 例题 5 旋转曲面及其方程 5.1 基础知识 5.2 例题 6 空间曲面的法线与切平面 6.1 基础知识 6.2…...
Qt Http Server模块功能及架构
Qt Http Server 是 Qt 6.0 中引入的一个新模块,它提供了一个轻量级的 HTTP 服务器实现,主要用于构建基于 HTTP 的应用程序和服务。 功能介绍: 主要功能 HTTP服务器功能: 支持 HTTP/1.1 协议 简单的请求/响应处理模型 支持 GET…...
Nginx server_name 配置说明
Nginx 是一个高性能的反向代理和负载均衡服务器,其核心配置之一是 server 块中的 server_name 指令。server_name 决定了 Nginx 如何根据客户端请求的 Host 头匹配对应的虚拟主机(Virtual Host)。 1. 简介 Nginx 使用 server_name 指令来确定…...

Mac软件卸载指南,简单易懂!
刚和Adobe分手,它却总在Library里给你写"回忆录"?卸载的Final Cut Pro像电子幽灵般阴魂不散?总是会有残留文件,别慌!这份Mac软件卸载指南,将用最硬核的方式教你"数字分手术"࿰…...
高防服务器能够抵御哪些网络攻击呢?
高防服务器作为一种有着高度防御能力的服务器,可以帮助网站应对分布式拒绝服务攻击,有效识别和清理一些恶意的网络流量,为用户提供安全且稳定的网络环境,那么,高防服务器一般都可以抵御哪些网络攻击呢?下面…...
JS手写代码篇----使用Promise封装AJAX请求
15、使用Promise封装AJAX请求 promise就有reject和resolve了,就不必写成功和失败的回调函数了 const BASEURL ./手写ajax/test.jsonfunction promiseAjax() {return new Promise((resolve, reject) > {const xhr new XMLHttpRequest();xhr.open("get&quo…...

【C++进阶篇】智能指针
C内存管理终极指南:智能指针从入门到源码剖析 一. 智能指针1.1 auto_ptr1.2 unique_ptr1.3 shared_ptr1.4 make_shared 二. 原理三. shared_ptr循环引用问题三. 线程安全问题四. 内存泄漏4.1 什么是内存泄漏4.2 危害4.3 避免内存泄漏 五. 最后 一. 智能指针 智能指…...