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

HTML 列表、表格、表单

1 列表标签 作用:布局内容排列整齐的区域 列表分类:无序列表、有序列表、定义列表。 例如: 1.1 无序列表 标签:ul 嵌套 li,ul是无序列表,li是列表条目。 注意事项: ul 标签里面只能包裹 li…...

基于Uniapp开发HarmonyOS 5.0旅游应用技术实践

一、技术选型背景 1.跨平台优势 Uniapp采用Vue.js框架,支持"一次开发,多端部署",可同步生成HarmonyOS、iOS、Android等多平台应用。 2.鸿蒙特性融合 HarmonyOS 5.0的分布式能力与原子化服务,为旅游应用带来&#xf…...

376. Wiggle Subsequence

376. Wiggle Subsequence 代码 class Solution { public:int wiggleMaxLength(vector<int>& nums) {int n nums.size();int res 1;int prediff 0;int curdiff 0;for(int i 0;i < n-1;i){curdiff nums[i1] - nums[i];if( (prediff > 0 && curdif…...

Spring Boot面试题精选汇总

&#x1f91f;致敬读者 &#x1f7e9;感谢阅读&#x1f7e6;笑口常开&#x1f7ea;生日快乐⬛早点睡觉 &#x1f4d8;博主相关 &#x1f7e7;博主信息&#x1f7e8;博客首页&#x1f7eb;专栏推荐&#x1f7e5;活动信息 文章目录 Spring Boot面试题精选汇总⚙️ **一、核心概…...

JVM 内存结构 详解

内存结构 运行时数据区&#xff1a; Java虚拟机在运行Java程序过程中管理的内存区域。 程序计数器&#xff1a; ​ 线程私有&#xff0c;程序控制流的指示器&#xff0c;分支、循环、跳转、异常处理、线程恢复等基础功能都依赖这个计数器完成。 ​ 每个线程都有一个程序计数…...

iview框架主题色的应用

1.下载 less要使用3.0.0以下的版本 npm install less2.7.3 npm install less-loader4.0.52./src/config/theme.js文件 module.exports {yellow: {theme-color: #FDCE04},blue: {theme-color: #547CE7} }在sass中使用theme配置的颜色主题&#xff0c;无需引入&#xff0c;直接可…...

2.3 物理层设备

在这个视频中&#xff0c;我们要学习工作在物理层的两种网络设备&#xff0c;分别是中继器和集线器。首先来看中继器。在计算机网络中两个节点之间&#xff0c;需要通过物理传输媒体或者说物理传输介质进行连接。像同轴电缆、双绞线就是典型的传输介质&#xff0c;假设A节点要给…...

goreplay

1.github地址 https://github.com/buger/goreplay 2.简单介绍 GoReplay 是一个开源的网络监控工具&#xff0c;可以记录用户的实时流量并将其用于镜像、负载测试、监控和详细分析。 3.出现背景 随着应用程序的增长&#xff0c;测试它所需的工作量也会呈指数级增长。GoRepl…...

2025-05-08-deepseek本地化部署

title: 2025-05-08-deepseek 本地化部署 tags: 深度学习 程序开发 2025-05-08-deepseek 本地化部署 参考博客 本地部署 DeepSeek&#xff1a;小白也能轻松搞定&#xff01; 如何给本地部署的 DeepSeek 投喂数据&#xff0c;让他更懂你 [实验目的]&#xff1a;理解系统架构与原…...

Git 命令全流程总结

以下是从初始化到版本控制、查看记录、撤回操作的 Git 命令全流程总结&#xff0c;按操作场景分类整理&#xff1a; 一、初始化与基础操作 操作命令初始化仓库git init添加所有文件到暂存区git add .提交到本地仓库git commit -m "提交描述"首次提交需配置身份git c…...