【合作原创】使用Termux搭建可以使用的生产力环境(八)

前言

在上一篇【合作原创】使用Termux搭建可以使用的生产力环境(七)-CSDN博客中我们讲到了安装百度网盘、VS Code还有java,这篇我打算讲一下最后的编程,还有输入法相关问题解决。众所周知我的本职工作是Java程序猿,因此只有有了IDEA,并且能够正常使用,那么这个系统作为生产力环境是完全没有问题的🤣😎

安装IDEA Community Edition

下载IDEA社区版

众所周知IDEA算是目前最强的Java编程IDE了,而Java又是跨平台的,写出来的程序能在Linux ARM64这种软件资源匮乏的系统中运行,而且IDEA也是用Java写的,因此不出意外能在我们的Termux的Debian系统中正常运行。而这个社区版是免费的不用激活的,避免了侵权方面的问题。

进入IDEA的下载界面,找到下方的IntelliJ IDEA Community Edition

Download IntelliJ IDEA – The Leading Java and Kotlin IDE

找到这里的ARM64版本,然后点击下载,当前我下载的是社区版2024.3.1.1版本,这篇教程我就拿这个版本进行演示

上传到手机中

当然大家也可以在Debian中使用火狐浏览器下载后直接使用,不采用Windows下载然后上传到Termux中的方式。

老样子,使用Filezilla Client将下载完成的安装包上传到Debian中,作为软件我是建议上传到这个路径下:/data/data/com.termux/files/usr/var/lib/proot-distro/installed-rootfs/debian/opt

使用以下命令解压该压缩包

cd /opt
tar zxvf ideaIC-2024.3.1.1-aarch64.tar.gz

启动IDEA社区版

进入Debian后,进入/opt/idea-IC-243.22562.218/bin/目录,双击idea这个齿轮样子的图标即可启动IDEA

创建快捷方式

很明显这个启动方式实在是太麻烦了,而且很不优雅,这就需要我们在桌面创建一个快捷方式了。在桌面右键,点击“Create Launcher”

其中Name填IDEA,Command填:/opt/idea-IC-243.22562.218/bin/idea

在Icon右边点击“No icon”,再在右边的弹窗中点击“Select icon from”,选择Image Files

选择opt,双击打开IDEA的安装目录

进入其中的bin目录,双击选择idea.svg

然后桌面上就会出现IDEA图标的快捷方式了,双击即可启动IDEA

Hello World

在手机上写Java的第一步自然就是Hello World了,点击New Project

创建一个用Maven构建的项目,由于我们在上一章已经安装的JDK23,因此这里已经识别到了

直接点击绿色箭头即可执行这个自动生成的Hello World方法

输入法不生效

IDEA有个问题,就是中文输入法在IDEA中根本就不生效,什么中文都打不出来,即使怎么启动fcitx都不行

下一结我们就来讲如何解决这个问题

换一种启动方式

不知道大家是否还记得这个系列的第三篇【合作原创】使用Termux搭建可以使用的生产力环境(三)_termux sftp-CSDN博客

其中有一节讲的就是多种排列组合

我们之前讲的就是组合c,这个组合是最基础,也最能让新人接受的,但是这个组合有个非常致命的问题——输入法启动不正常。就像刚才的IDEA,它的输入法面板是无法显示的,更别说打中文字符了。能解决这个问题的组合是组合d,也就是说VNC Server在Termux中安装,xfce在Debian中安装。

回到Termux

让我们先关闭VNC Server,并回到Termux中

vncserver -kill :1
exit

安装x11-repo

首先安装x11-repo,如果不安装这个软件包仓库,VNC Server这个软件包是无法找到的。它提供了与X11相关的软件包。

pkg i -y x11-repo

安装tigervnc

如果没有安装x11-repo就去执行下面的命令,是无法找到tigervnc这个软件包的

pkg i -y tigervnc

安装 xorg-xhost

直接上AI解答,自己看吧

反正不安装这个xorg-xhost,即使是启动的VNC服务器,在Windows端使用RealVNC也无法连接上

pkg i -y xorg-xhost

在Termux中启动VNC服务器

注意下,这次我在Termux中启动VNC Server了,而不是在Debian中,启动命令如下:

export DISPLAY=:2
vncserver -kill :2
vncserver :2 -localhost no
xhost +

其中第一行命令:export DISPLAY=:2,用于指定显示序号,也就是5902端口。为了防止和之前的1号显示冲突,这里我选择2号。

第二行命令:vncserver -kill :2,用于关闭之前可能没有关闭的显示,冒号后面的就是显示序号,为了防止不测

第三行命令:vncserver :2 -localhost no,用于启动VNC服务器,并指定显示序号为2,且关闭仅对本地开放 ,也就是局域网中的客户端都能访问。

第四行命令:xhost +,用于禁用X身份验证,允许任何用户连接到X服务器

当然和之前一样,第一次启动VNC服务器会让你设置登录密码,按照你自己的想法设置密码即可。

如果是第一次启动VNC服务器,xhost +,这行命令需要额外执行一下

启动Debian和xfce

这次启动采用一气呵成的方式启动Debian和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=:2 && startxfce4'

 

执行后会看见xfce4打印的日志,有ERROR也不用管,用RealVNC Client连接就行了,如果能连上说明就没有问题,注意这里的端口是5902了,而不是之前的5901!

还是一样进入桌面

再次运行IDEA

启动fcitx

首先需要在桌面右键Terminal,输入fcitx,运行输入法

启动IDEA Community Edition

在桌面双击IDEA的快捷方式,并打开我们之前创建的项目,输入的时候可以输入中文了。恕我直言,我也不知道为什么会这样,但是确实就是这样了,如果在Debian中运行xfce4和VNC Server输入法就有问题,而使用Debian运行xfce4在Termux运行VNC Server就没这个问题,如果有大佬知道原因可以告诉我一下,本人感激不尽!!

结语

本篇带大家完成了IDEA社区版的安装,以及在Termux中安装VNC Server并在Debian中启动xfce4,并让Debian中的xfce4连接到Termux的VNC Server,并成功让客户端连接,从而解决了在IDEA社区版中无法使用中文输入法的问题,离最终生产力环境更进一步了。

最后和之前一样,有问题大家可以在评论区指出,另外想要和作者吹水可以来群170618278,另外给up:qwe5283的Termux视频多多三连,谢谢各位!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/890778.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

VLMs之Gemma 2:PaliGemma 2的简介、安装和使用方法、案例应用之详细攻略

VLMs之Gemma 2:PaliGemma 2的简介、安装和使用方法、案例应用之详细攻略 导读:2024年12月4日,PaliGemma 2是一个基于Gemma 2系列语言模型的开源视觉语言模型 (VLM) 家族。PaliGemma 2 通过提供一个规模化、多功能且开源的VLM家族,…

24.12.26 SpringMVCDay01

SpringMVC 也被称为SpringWeb Spring提供的Web框架,是在Servlet基础上,构建的框架 SpringMVC看成是一个特殊的Servlet,由Spring来编写的Servlet 搭建 引入依赖 <dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc<…

国产 HighGo 数据库企业版安装与配置指南

国产 HighGo 数据库企业版安装与配置指南 1. 下载安装包 访问 HighGo 官方网站&#xff08;https://www.highgo.com/&#xff09;&#xff0c;选择并下载企业版安装包。 2. 上传安装包到服务器 将下载的安装包上传至服务器&#xff0c;并执行以下命令&#xff1a; [rootmas…

Java程序设计,使用属性的选项库,轻松实现商品检索的复杂查询(上)

一、背景 本文我们以某商城的商品检索为例,说一说如何使用属性及选项,实现复杂的逻辑表达式的查询。 先贴图,总结出业务需求。 可以通过一系列属性及选项的组合,过滤出用户想要的商品列表。 1、属性 上文中的品牌、分类、屏幕尺寸、CPU型号、运行内存、机身内存、屏幕材…

机器学习(二)-简单线性回归

文章目录 1. 简单线性回归理论2. python通过简单线性回归预测房价2.1 预测数据2.2导入标准库2.3 导入数据2.4 划分数据集2.5 导入线性回归模块2.6 对测试集进行预测2.7 计算均方误差 J2.8 计算参数 w0、w12.9 可视化训练集拟合结果2.10 可视化测试集拟合结果2.11 保存模型2.12 …

WHAT KAN I SAY?Kolmogorov-Arnold Network (KAN)网络结构介绍及实战(文末送书)

一、KAN网络介绍 1.1 Kolmogorov-Arnold Network (KAN)网络结构的提出 2024年4月&#xff0c;来自MIT、加州理工学院、东北大学等团队的研究&#xff0c;引爆了一整个科技圈&#xff1a;Yes We KAN&#xff01; 这种创新方法挑战了多层感知器(Multilayer Perceptron&#xff…

YOLO11改进-模块-引入星型运算Star Blocks

当前网络设计中&#xff0c;“星型运算”&#xff08;逐元素乘法&#xff09;的应用原理未被充分探究&#xff0c;潜力有待挖掘。为解决此问题&#xff0c;我们引入 Star Blocks&#xff0c;其内部由 DW - Conv、BN、ReLU 等模块经星型运算连接&#xff0c;各模块有特定参数。同…

3.银河麒麟V10 离线安装Nginx

1. 下载nginx离线安装包 前往官网下载离线压缩包 2. 下载3个依赖 openssl依赖&#xff0c;前往 官网下载 pcre2依赖下载&#xff0c;前往Git下载 zlib依赖下载&#xff0c;前往Git下载 下载完成后完整的包如下&#xff1a; 如果网速下载不到请使用网盘下载 通过网盘分享的文件…

【理解机器学习中的过拟合与欠拟合】

在机器学习中&#xff0c;模型的表现很大程度上取决于我们如何平衡“过拟合”和“欠拟合”。本文通过理论介绍和代码演示&#xff0c;详细解析过拟合与欠拟合现象&#xff0c;并提出应对策略。主要内容如下&#xff1a; 什么是过拟合和欠拟合&#xff1f; 如何防止过拟合和欠拟…

【婚庆摄影小程序设计与实现】

摘 要 社会发展日新月异&#xff0c;用计算机应用实现数据管理功能已经算是很完善的了&#xff0c;但是随着移动互联网的到来&#xff0c;处理信息不再受制于地理位置的限制&#xff0c;处理信息及时高效&#xff0c;备受人们的喜爱。所以各大互联网厂商都瞄准移动互联网这个潮…

12.26 学习卷积神经网路(CNN)

完全是基于下面这个博客来进行学习的&#xff0c;感谢&#xff01; ​​【深度学习基础】详解Pytorch搭建CNN卷积神经网络LeNet-5实现手写数字识别_pytorch cnn-CSDN博客 基于深度神经网络DNN实现的手写数字识别&#xff0c;将灰度图像转换后的二维数组展平到一维&#xff0c;…

Unity URP多光源支持,多光源阴影投射,多光源阴影接收(优化版)

目录 前言&#xff1a; 一、属性 二、SubShader 三、ForwardLitPass 定义Tags 声明变体 声明变量 定义结构体 顶点Shader 片元Shader 四、全代码 四、添加官方的LitShader代码 五、全代码 六、效果图 七、结语 前言&#xff1a; 哈喽啊&#xff0c;我又来啦。这…

如何使用React,透传各类组件能力/属性?

在23年的时候&#xff0c;我主要使用的框架还是Vue&#xff0c;当时写了一篇“如何二次封装一个Vue3组件库&#xff1f;”的文章&#xff0c;里面涉及了一些如何使用Vue透传组件能力的方法。在我24年接触React之后&#xff0c;我发现这种扩展组件能力的方式有一个专门的术语&am…

109.【C语言】数据结构之求二叉树的高度

目录 1.知识回顾&#xff1a;高度&#xff08;也称深度&#xff09; 2.分析 设计代码框架 返回左右子树高度较大的那个的写法一:if语句 返回左右子树高度较大的那个的写法二:三目操作符 3.代码 4.反思 问题 出问题的代码 改进后的代码 执行结果 1.知识回顾&#xf…

分析排名靠前的一些自媒体平台,如何运用这些平台?

众所周知&#xff0c;现在做网站越来越难了&#xff0c;主要的原因还是因为流量红利时代过去了。并且搜索引擎都在给自己的平台做闭环改造。搜索引擎的流量扶持太低了。如百度投资知乎&#xff0c;给知乎带来很多流量扶持&#xff0c;也为自身内容不足做一个填补。 而我们站长…

2024大模型在软件开发中的具体应用有哪些?(附实践资料合集)

大模型在软件开发中的具体应用非常广泛&#xff0c;以下是一些主要的应用领域&#xff1a; 自动化代码生成与智能编程助手&#xff1a; AI大模型能够根据开发者的自然语言描述自动生成代码&#xff0c;减少手动编写代码的工作量。例如&#xff0c;GitHub Copilot工具就是利用AI…

Ubuntu网络配置(桥接模式, nat模式, host主机模式)

windows上安装了vmware虚拟机&#xff0c; vmware虚拟机上运行着ubuntu系统。windows与虚拟机可以通过三种方式进行通信。分别是桥接模式&#xff1b;nat模式&#xff1b;host模式 一、桥接模式 所谓桥接模式&#xff0c;也就是虚拟机与宿主机处于同一个网段&#xff0c; 宿主机…

3.系统学习-熵与决策树

熵与决策树 前言1.从数学开始信息量(Information Content / Shannon information)信息熵(Information Entropy)条件熵信息增益 决策树认识2.基于信息增益的ID3决策树3.C4.5决策树算法C4.5决策树算法的介绍决策树C4.5算法的不足与思考 4. CART 树基尼指数&#xff08;基尼不纯度…

SpringBoot + HttpSession 自定义生成sessionId

SpringBoot HttpSession 自定义生成sessionId 业务场景实现方案 业务场景 最近在做用户登录过程中&#xff0c;由于默认ID是通过UUID创建的&#xff0c;缺乏足够的安全性&#xff0c;决定要自定义生成 sessionId。 实现方案 正常的获取session方法如下&#xff1a; HttpSe…

破解海外业务困局:新加坡服务器托管与跨境组网策略

在当今全球化商业蓬勃发展的浪潮之下&#xff0c;众多企业将目光投向海外市场&#xff0c;力求拓展业务版图、抢占发展先机。而新加坡&#xff0c;凭借其卓越的地理位置、强劲的经济发展态势以及高度国际化的营商环境&#xff0c;已然成为企业海外布局的热门之选。此时&#xf…