当前位置: 首页 > news >正文

【合作原创】使用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.摘要 摘要:本文介绍了邯郸地标美食导游平台的设计与实现。该平台旨在为游客提供邯郸地标美食的详细信息和导航服务,帮助游客更好地了解和品尝邯郸的特色美食。文章首先介绍了项目的背景和目的&#xff0c…...

滑动窗口限流算法:基于Redis有序集合的实现与优化

滑动窗口限流算法是一种基于时间窗口的流量控制策略,它将时间划分为固定大小的窗口,并在每个窗口内记录请求次数。通过动态滑动窗口,算法能够灵活调整限流速率,以应对流量的波动。 算法核心步骤 统计窗口内的请求数量&#xff1…...

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是一种现代编程语言,结合了面向对象编程和函数式编程的特性,非常适合用于大规模软件的开发。本文将介…...

掌握Blender 3MF插件:5大核心场景的全流程解决方案

掌握Blender 3MF插件:5大核心场景的全流程解决方案 【免费下载链接】Blender3mfFormat Blender add-on to import/export 3MF files 项目地址: https://gitcode.com/gh_mirrors/bl/Blender3mfFormat Blender 3MF插件作为连接3D建模与3D打印的关键桥梁&#x…...

OpenClaw资源监控方案:Qwen3-14B镜像运行时显存优化技巧

OpenClaw资源监控方案:Qwen3-14B镜像运行时显存优化技巧 1. 问题背景与挑战 去年在尝试用OpenClaw对接本地部署的Qwen3-14B模型时,我遇到了一个典型问题:当连续处理多个复杂任务时,显存占用会逐渐累积,最终导致OOM崩…...

C++的std--ranges视图转换函数异常安全与资源清理在惰性求值中的处理

C的std::ranges视图转换函数异常安全与资源清理在惰性求值中的处理 现代C引入的std::ranges库为序列操作提供了声明式编程支持,其中视图转换函数(如transform、filter等)通过惰性求值优化性能。惰性求值机制与异常安全、资源清理的交互可能引…...

Composite(组合)模式

意图:将对象组合成树形结构以表示“部分-整体”的层次结构。Composite使得用户对单个对象和组合对象的使用具有一致性 结构: 适用性:表示对象的部分-整体层欠结构,使得用户忽略组合对象与单个对象的不同,方便软件开发者统一地使用组合结构中的所有对象。…...

从Rocky Linux迁移到openEuler:我的K8s集群部署体验与配置差异全记录

从Rocky Linux迁移到openEuler:我的K8s集群部署体验与配置差异全记录 当企业级用户开始考虑从CentOS/RHEL生态转向国产化操作系统时,openEuler往往成为首选。作为一个长期使用Rocky Linux部署Kubernetes集群的运维工程师,最近我完成了从Rock…...

贾子智慧定理(Kucius Wisdom Theorem):悟空·洞察·永续——东西方智慧融合的三大定律体系

贾子智慧定理(Kucius Wisdom Theorem):悟空洞察永续——东西方智慧融合的三大定律体系摘要贾子智慧定理(Kucius Wisdom Theorem)由Kucius Teng于2025年3月提出,2026年4月正式发布,融合东西方文化…...

Redis RDB Tools错误排查终极指南:10个常见问题与解决方案清单

Redis RDB Tools错误排查终极指南:10个常见问题与解决方案清单 【免费下载链接】redis-rdb-tools Parse Redis dump.rdb files, Analyze Memory, and Export Data to JSON 项目地址: https://gitcode.com/gh_mirrors/re/redis-rdb-tools Redis RDB Tools是解…...

告别CMake配置地狱:用vcpkg工具链文件一键集成第三方库的保姆级教程

告别CMake配置地狱:用vcpkg工具链文件一键集成第三方库的保姆级教程 每次新建一个C项目,最让你头疼的是什么?是反复修改CMakeLists.txt只为了让编译器找到正确的头文件路径?还是手动添加几十个库文件路径后依然报"找不到符号…...

RVC与So-VITS-SVC对比:轻量级vs高保真,选型决策指南

RVC与So-VITS-SVC对比:轻量级vs高保真,选型决策指南 想用AI给自己的声音换个风格,或者让喜欢的歌手“唱”一首新歌,却发现工具太多,不知道选哪个好?RVC和So-VITS-SVC是目前最火的两个开源语音转换模型&…...

告别模型臃肿:手把手教你用vLLM部署NVFP4量化的DeepSeek模型(附完整配置)

实战指南:NVFP4量化DeepSeek模型在vLLM中的高效部署 当你在深夜调试一个70B参数的模型时,服务器内存占用突然从480GB骤降到120GB——这不是魔法,而是NVFP4量化带来的真实效果。作为Blackwell架构引入的革命性4-bit格式,NVFP4正在…...