通过Termux和VNC实现以手机为服务器的桌面办公

本文介绍了如何通过在Android手机上安装Termux和Ubuntu,并利用VNC实现远程桌面办公。详细步骤包括安装Termux、设置ssh和sshd服务、安装Ubuntu及图形界面、配置VNC服务,最终实现稳定且实用的移动办公解决方案。

引子

最近疫情影响,周末闲暇也出不去,在家折腾手机和电脑玩。笔记本显示屏比较小就外接了一个显示器,办公起来非常方便。这里记录我为什么这么做的一些思路和步骤。

手机上安装Termux

前段时间刚买了红米K40的手机,已经算是大众化的配置了12G+256G和高通870,单纯从数字上看,已经比我的笔记本高出很多了。以前就喜欢在笔记本上用ubuntu系统,也喜欢玩树莓派,看到Termux在Android上已经很成熟了,就在手机上下来来安装了一个Termux试试,感觉做的很不错,顺手安装了一个Python。原来的计划是利用碎片时间在手机上Python编程学习。
用了一段时间,Termux可以看做是一个Headless的Linux服务器+命令行界面,刚好可以用来复习快要忘掉的linux bash和Python知识。众所周知,Android就是一个基于linux内核魔改的图形化操作系统,撇去Android后来发展的高度发达的操作系统不说,其linux内核就是一个很有价值的可利用的东西。Termux并不能算是一个虚拟机,我觉得接近事实的描述是利用Android操作系统本身现成的linux内核桥接出来给人能直接使用的linux终端。这个终端是以一个APP的形式,整个终端的环境和文件被局限在整个APP内,保障了Android系统本身的安全和隔离(从Termux获取Android资源需要Android系统的批准),卸载系统就是直接卸载这个APP这么简单(当然这也就难免会容易发生误删整个Termux系统的风险)。但是,对于只是想玩一下linux终端,随时随地偶尔做些小代码的的需求是可以满足的。

安装Termux终端

去F-Droid网站下载Termux
浏览器登陆网页https://f-droid.org/
请添加图片描述

在右侧“搜索应用”框内搜索“Termux”
选这个:Termux 带有软件包的终端模拟器
注意:该版本需要 Android 7.0 及以上版本。(快点给你淘汰的旧手机升级系统后安装这个试试吧,先确认Android版本在7.0以上才行哦)
打开的网页中“下载APK”就可以了,APP不是很大,也就不到100M.
想办法把apk安装包拷贝到手机上安装。

打开
一个linux系统终端就安装好了

还可以通过apt install python3来安装Python
ssh和sshd是加密的通道传输协议,安装了以后就可以通过网络和密码登陆服务器的命令行,真正的实现手机黑屏条件下远程连进来干活儿。sshd是服务器用来提供连进来服务的,ssh是客户端用来连出去的。
这里建议在Termux里面安装ssh和sshd服务,因为到ubuntu系统里面安装sshd服务的话我这边没有成功,可能是ubuntu还是把系统当成一个真的机器硬件来安装的,用到的随机数生成的部分没法连接,所以失败了,还好可以在Termux里安装ssh和sshd.
安装:

apt install openssh

启动只需键入

sshd

记得设置密码,不然远端无法登入:

passwd

安装ubuntu和图形界面

现在安装ubuntu,我是通过proot-distro来安装的

apt install proot-distro

然后键入proot-distro list来显示可安装包,这个方法不但可以方便的安装ubuntu可以看到你还可以用它来安装其它linux的发行版。
这里我们安装ubuntu

proot-distro install ubuntu

这时候会从外网下载几十M的大文件(没听错几十兆而已,但很慢),有时候网络不好,多试几次。
显示安装成功后就可以登入了

proot-distro login ubuntu

当然你也可以把这条命令加入到自启动项里面,每次就可以自动登陆了。

连接VNC图形化操作

进入ubuntu后先更新软件源

apt update

然后安装需要用到的图形化服务软件

apt install xfce4 xfce4-goodies

会安装xfc4轻量级图形界面服务,这一步大概会消耗1G的空间,当然也可以试着去安装其他的图形界面服务如gnome
安装xfc4参考:https://blog.youkuaiyun.com/cunchi4221/article/details/107471665
然后安装tigervnc。tigervnc感觉比tightvnc要配置简单一些

apt install tigervnc-standalone-server tigervnc-common

然后做一下简单的配置
运行

vncserver

来设置密码
然后创建启动脚本:

nano .vnc/xstartup

如上命令就是用文本编辑器nano(当然你可以用其他文本编辑器)编辑用户文件夹下的.vnc文件夹下的xstartup文件(如果没有就创建一个)内容如下:

#!/usr/bin/bash
xfce4-session

注意xfce4-session后面不要跟&号,不然会在运行vncserver时提示过早退出,然后记得给它加执行的权限。

chmod +x .vnc/xstartup

首次设置VNC时,它将在端口5901上启动默认服务器实例。
如下是一个启动vnc服务器的例子:

vncserver :1 -localhost no -geometry 1920x1080

然后就可以通过vnc的客户端登陆了,为了能够远端登陆不仅仅是本机登陆,设置-localhost no 是必要的。由于VNC是不加密的,会在登陆时提示如下,当然也可以自行百度实现在此基础上的外加SSH通道的加密。
请添加图片描述
输入刚才设置的密码就可以登陆了
请添加图片描述
之后就是熟悉的ubuntu界面了,可以自由安装自己喜欢的程序了
请添加图片描述VNC视图
请添加图片描述
插上外接显示器,桌面办公真的是很爽。
在这里插入图片描述
既不影响Android的使用,日常微信呀、刷单车呀、点外卖呀都不影响,也不影响Windows10的使用,对于普罗大众的我们日常搬砖win10还是离不了的。
在这里插入图片描述
这个ubuntu算是在现在手机日益富余的硬件资源下开辟的一块净土、一块试验田吧。
请添加图片描述
基本上在我这个红米K40上12G内存的版本,除了画面受WIFI速度限制略有卡顿,程序运行起来速度感觉完全可以媲美轻薄笔记本的水平了。打开GIMP的速度完虐我固态硬盘的WIN10笔记本上的速度。

关于系统的稳定性

安装了一个火狐浏览器,测试打开5个网页也都还好,但是感觉网页打开速度慢于直接在Android的浏览器里面打开的速度,可能是火狐浏览器或者ubuntu对于网络的模块没有在Aarch64平台上进行深度优化过吧。直到打开一个带视频的网页,看了大概1分钟以后vncserver崩了。
其它情况下,不要狂虐它,正常使用还可以不太会崩。有一次把手机装进口袋人出门了,忘记断开vnc连接,自然wifi也随着离开家断开了,靠局域网vnc的服务当然理应续不上才对,可是人回来以后坐到电脑前,随着wifi的自动连接,vnc的服务居然也续上了,之前的事情接着做没问题。
另外也在淘汰的旧手机,一个4G内存的魅族5pro上,先升级到flyme8使得Android版本大于7然后一样安装了Termux和ubuntu以及vncserver,在用笔记本连的时候,哪怕是分辨率开到1024x768也是vncserver很容易就崩(打开一个文件管理器就崩),猜想可能是魅族5pro这个老机器配置比较低,特别是显卡性能和内存过低所致。

评论 12
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值