ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

玩转手机中的linux系统termux并搭建java开发环境

2021-02-20 11:00:39  阅读:1272  来源: 互联网

标签:插件 java zsh termux proot SpaceVim vim linux 安装


文章目录

目标

春节在家,偶尔要出门在外。出门在外的时候,没有电脑可以写代码。那么代码瘾上来了怎么办呢?我在想能不能在手机上写代码呢?

手机远程电脑是一种方式,但是远程开发这种方式,它的要求比较高,首先你要有台可以远程开发的电脑(24小时),而且你的手机网络环境要不卡。
在这里插入图片描述

然后你的流量还不缺。
因为我经常出入地铁,地下室等网络条件不稳定的地方,所以远程开发这种方式有局限性。

在这里插入图片描述
那么能不能直接在手机上搭建开发环境呢?今天它来了。以java为例,其他语言理论上也是可以的。
在这里插入图片描述

SSH远程管理

为了操作方法,我建议使用电脑ssh连接手机中的 termux来操作,连接方法见:
安装openssh

apt update
apt install openssh

启动sshd服务

sshd

这样手机上就安装好了 ssh并启动了服务。

哇,竟然真可以!这样直可以把安卓手机当Linux用啦!我在继续研究一下。
设置自动启动ssh服务

echo "sshd" >> ~/.bashrc

手机查看当前用户名

whoami

我的显示结果为:

u0_a131

手机查看当前ip

ifconfig -a

我的手机当前的ip为 :192.168.101.156
修改密码

passwd

pc连接ssh

ssh -p 8022 u0_a131@192.168.101.156

输入我新设置的密码 123456,成功进来啦!!!

Touch Keyboard

在这里插入图片描述

默认的只有一行,没有⬅️ ➡️ 按键使用起来不太方便,我自定义了按钮。
详细说明:https://wiki.termux.com/wiki/Touch_Keyboard

简洁教程:
编辑 ~/.termux/termux.properties文件,文件中写入以下内容:

extra-keys = [['ESC','/','-','HOME','UP','END','PGUP'],['TAB','CTRL','ALT','LEFT','DOWN','RIGHT','PGDN']]

在Termux中编辑这个文件哈,如果已经进入了Linux发行版本,要用exit暂时退出到termux;

使用配置立马生效:

termux-reload-settings

安装Linux发行版

我想在Termux 安装jdk11试了几种方式没有安装成功,安装jdk8到是可以成功。所以想安装个发行版本试试,看看能否成功。
Termux提供了一个proot-distro软件包,用于管理Termux内部的Linux发行版。据说几乎没有性能损失。

您可以通过执行以下命令安装该实用程序
安装proot-distro

pkg install proot-distro

目前,它支持以下发行版:

Alpine Linux(别名:alpine)-最小的可用发行版。
Arch Linux(别名:archlinux)
Debian 10 Buster(别名:debian-buster)
Kali Nethunter(别名:nethunter)-当前只有最小的构建。
Ubuntu 18.04 / 20.04(别名:ubuntu-18.04 / ubuntu-20.04)
要安装发行版,只需运行以下命令(假设已安装proot-distro):

proot-distro install <alias>

我安装的 是ubuntu-20.04,如下命令:

proot-distro install ubuntu-20.04

我的执行结果如下:

$ proot-distro install ubuntu-20.04
[*] Installing Ubuntu 20.04...
[*] Creating directory '/data/data/com.termux/files/usr/var/lib/proot-distro/installed-rootfs/ubuntu-20.04'...
[*] Creating directory '/data/data/com.termux/files/usr/var/lib/proot-distro/dlcache'...
[*] Downloading rootfs tarball...

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   663  100   663    0     0    352      0  0:00:01  0:00:01 --:--:--   352
100 25.0M  100 25.0M    0     0  1235k      0  0:00:20  0:00:20 --:--:-- 1442k

[*] Checking integrity, please wait...
[*] Extracting rootfs, please wait...
[*] Writing '/data/data/com.termux/files/usr/var/lib/proot-distro/installed-rootfs/ubuntu-20.04/etc/profile.d/termux-proot.sh'...
[*] Writing resolv.conf file (NS 1.1.1.1/1.0.0.1)...
[*] Writing hosts file...
[*] Registering Android-specific UIDs and GIDs...
[*] Running distro-specific configuration steps...
[*] Installation finished.

Now run 'proot-distro login ubuntu-20.04' to log in.

安装非常快,我都在怀疑是否真的安装成功了。

安装以后,proot-distro login <alias>用来登录。我的登录命令如下:

$ proot-distro login ubuntu-20.04
root@localhost:~# ls
root@localhost:~# pwd
/root

发现登录后就直接是root权限了,有点懵!ubuntu 就 25MB吗?

查询系统版本:

root@localhost:~# cat /etc/issue
Ubuntu 20.04.1 LTS \n \l

发现现在的版本确实是ubuntu 20.04版本了,我想这个可能是精简版本的吧。

这是可用的proot-distro功能的基本概述:

  • proot-distro list -显示受支持的发行版及其状态。
  • proot-distro install -安装发行版。
  • proot-distro login -启动分发的根外壳。
  • proot-distro remove -卸载发行版。
  • proot-distro reset -重新安装发行版。
    运行proot-distro help以获取内置的使用信息。请注意,每个命令(“ list”除外)都有自己的内置用法信息,可以通过提供“ --help”作为参数来查看它们。

设置自启动ubuntu-20.04
每次手动启动 ubuntu很麻烦,还是设置成自启动方便一些。

echo "proot-distro login ubuntu-20.04" >> ~/.bashrc

美化终端oh my zsh

安装zsh

自从使用了oh my zsh后,感觉就回不去啦,漂亮的颜色,实用的插件。必须配置一下。
更新一下apt-get

apt-get update

安装zsh

apt-get install zsh

查 zsh位置

which zsh

一般位置/usr/bin/zsh
切换到zsh,执行下面命令:

chsh -s /usr/bin/zsh

这个时候如果重启shell你可能会发现,一些常用命令无法使用了,比如之前可以正常使用的:vim。
所以把termux带的命令加到环境变量里,修改zsh的环境变量文件~/.zshrc

vim ~/.zshrc

增加以下内容:

#TERMUX
export TERMUX_HOME=/data/data/com.termux/files/usr
export PATH=$PATH:$TERMUX_HOME/bin:.

这样就可以正常使用之前在TERMUX中安装的一些命令了。
重启shell 就可以使用zsh了,下面我们来安装一下oh my zsh插件。

安装oh mhy zsh插件

如果访问github不卡,在线安装方法可以参考:
《Oh My ZSH让你的终端美如画》

如果访问github卡,可以使用离线安装方法:
《CentOS7安装Oh My ZSH解决raw.github.com访问不畅》

这里我使用的是离线版本安装方式,因为比较快也省的我安装插件了。

下载Oh My ZSH离线安装包
https://download.csdn.net/download/lxyoucan/15178337

解压oh_my_zsh_*.zip至用户目录

注意⚠️:如果用户目录中已经有.zshrc请先备份。

cp ~/.zshrc ~/.zshrc_bak

上传oh_my_zsh_*.zip到用户目录比如:/root,并使用zip命令解压,比如:

unzip oh_my_zsh_20210210离线安装包.zip
  • .zshrc.oh-my-zsh 文件是Oh My ZSH配置文件
  • .zshrc 是zsh默认配置文件,shell初始化时先加载它,环境变量一般在这里设置。

解压以后,重新进入shell就发现 Oh My ZSH已经可以正常使用了。

环境变量迁移
把你的环境变量信息,复制粘贴到 ~/.zshrc就可以了。

安装jdk11

下载解压

下载jdk11我下载的是解压版本的:jdk-11.0.10_linux-aarch64_bin.tar.gz
解压:

tar -zxvf jdk-11.0.10_linux-aarch64_bin.tar.gz

随便解压一个目录就可以了。
我解压的目录是:/data/data/com.termux/files/home/java/jdk-11.0.10/

修改环境变量配置vim ~/.zshrc,增加如下内容:

#JDK11
export JAVA_HOME=/data/data/com.termux/files/home/java/jdk-11.0.10
export PATH=$PATH:$JAVA_HOME/bin:.
export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:.

这样jdk就配置完成了。

root@localhost: ~ # java --version                  
java 11.0.10 2021-01-19 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.10+8-LTS-162)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.10+8-LTS-162, mixed mode)

Ubuntu安装设置中文

在我设置完成zsh后,我发现在编译java代码的时候会遇到中文乱码的问题。之前在用bash时是没有中文乱码的,我猜测是哪个地方的编码配置有问题导致的。然后我设置一下中文环境就解决了中文乱码的问题了,也许有更简单的解决办法。

查看当前语言环境

echo $LANG

查看当前系统是否有中文语言包

locale -a

执行结果如下:

localhost# locale -a
C
C.UTF-8
POSIX
zh_CN.utf8
zh_SG.utf8

如果没有中文则,安装中文语言包。

apt install language-pack-zh-hans

修改系统环境变量为中文

然后,修改/etc/environment(在文件的末尾追加):

LANG="zh_CN.UTF-8"
LANGUAGE="zh_CN:zh:en_US:en"

再修改/var/lib/locales/supported.d/local(没有这个文件就新建,同样在末尾追加):

en_US.UTF-8 UTF-8
zh_CN.UTF-8 UTF-8
zh_CN.GBK GBK
zh_CN GB2312

最后,执行命令:

$ sudo locale-gen

对于中文乱码是空格的情况,安装中文字体解决。理论上下面中文字体选一个就可以了。

$ sudo apt-get install fonts-droid-fallback ttf-wqy-zenhei ttf-wqy-microhei fonts-arphic-ukai fonts-arphic-uming

以上,问题解决,中文显示正常。

标签:插件,java,zsh,termux,proot,SpaceVim,vim,linux,安装
来源: https://blog.csdn.net/lxyoucan/article/details/113831014

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有