前言
在上一篇【合作原创】使用Termux搭建可以使用的生产力环境(三)-优快云博客,我们讲到了修改proot-distro内的Debian修改镜像源,并安装xfce4(后面简称xfce)桌面,在这一章中我们将继续向我们的目标前进。
解决声音问题
目前Termux中是没有安装声音驱动的,这会导致进入xfce桌面后完全没有声音,xfce还会报找不到音频的错,这里提前先解决一下。
进入Termux(如果还在Debian系统内的可以输入exit退出)
pkg i pulseaudio -y
启动音频组件
pulseaudio --start --load="module-native-protocol-tcp auth-ip-acl=127.0.0.1 auth-anonymous=1" --exit-idle-time=-1
加入自启
nano .bashrc
pulseaudio --start --load="module-native-protocol-tcp auth-ip-acl=127.0.0.1 auth-anonymous=1" --exit-idle-time=-1
直接将上面的命令贴进去就行了,按Ctrl+o保存,按enter同意,最后按Ctrl+x退出
安装附加组件
补充安装一下xfce4-goodies和xfce4-terminal。xfce4-goodies是一组为 Xfce 桌面环境设计的增强工具和插件集合。xfce4-terminal是 Xfce 桌面环境的官方终端模拟器。如果没有在Debian系统内,需要执行第一行命令,如果已经在了则直接执行第二行即可。xfce4-power-manager这个是属于xfce4-goodies里的,用不着还会经常报错,建议直接删了
proot-distro login debian
apt install -y xfce4-goodies xfce4-terminal
apt remove xfce4-power-manager
备份proot-distro内的系统
大家先别急着进入xfce系统,万一急吼吼的进去把系统搞坏了又没法还原,这就有点得不偿失了,先把系统备份,后面再怎么折腾也不怕坏。
如果大家正在Debian系统内,可以通过
exit
退出Debian,回到Termux中,为了保险起见,建议手动将Termux彻底结束进程后(直接划掉这个APP),再次进入Termux后进行备份,防止有proot进程残余,导致备份不全。
通过以下命令可以备份你目前的Debian系统
proot-distro backup debian --output debian-backup-2024.12.7.bak
其中proot-distro是程序名,backup是备份指令,debian则是你的系统名称,--output [path],则是你的要备份文件的路径,像我这里就是备份到Termux的用户根目录,并创建一个叫“debian-backup-2024.12.7.bak”的文件,将系统备份(打包)到这个文件内。其实这个命令就是把/data/data/com.termux/files/usr/var/lib/proot-distro/installed-rootfs/debian,这个目录和一个自动生成的Shell脚本打成一个tar包而已。
执行完成后就像这样:
将包备份到电脑
恕我直言,手机是个很不靠谱的存储方式,有很多种情况会导致手机内数据丢失,比如说手机进水损坏,主板损坏,被盗,意外遗失,甚至是我们主动刷机等等都有可能导致手机内的数据丢失,因此我是建议大家平时将手机内的数据备份到电脑,以免出现意外情况。
这一步可以参考:
【合作原创】使用Termux搭建可以使用的生产力环境(二)-优快云博客
中的第四步的第三点,通过Filezilla Client连接手机SFTP服务器,右键下载这个bak包即可
大家可以用7zip打开刚才备份好的bak包
installed-rootfs中的就是你的Debian系统,proot-distro中的是描述这个Debian系统的Shell脚本
还原备份的系统
备份完后可以通过这行命令进行还原
proot-distro restore debian-backup-2024.12.7.bak
还原结果如下:
进入xfce桌面系统
终于进入正题了,终于能进入心心念念的xfce桌面了,首先还是先进入Debian系统
proot-distro login debian
开启vnc服务器
然后执行以下命令
export DISPLAY=:1
vncserver -xstartup /usr/bin/startxfce4 -localhost no
解释一下上面的命令,第一行指定显示编号,同时也间接指定了vnc服务器的端口号,如果:1就是5901端口,如果是:2就是5902端口,依此类推。
第二行是启动vnc服务器,外加启动xfce4桌面,-localhost no指的是非本机模式,也就是整个局域网都能连接这个vnc服务器。
这里需要设置vnc服务器的登录密码,建议不需要太复杂,需要输入两遍。
Would you like to enter a view-only password (y/n)?你是否需要一个仅限查看用的密码,这里输入n后按回车即可。
全部执行完后会回到root的命令输入界面,这样就完成了。上面有说明用户信息
连接vnc服务器
请打开第一章中让大家安装的VNC客户端,这里采用的是RealVNC Viewer,如果没有安装的请回到第一章找到该软件的安装包,本文不再赘述。
打开该软件后,在左上角的File中新建一个连接
在General标签中输入你手机的IP地址外加端口号,以及服务器的别名,我这里以手机型号外加系统名称命名,这里大家最好记录得详细一点
在Options标签中,将画质改为高,局域网中带宽足够,没必要选择低画质
最后点击OK即可保存连接。双击这个电脑一样的图标,即可连接该VNC服务器
这里的警告只是没有加密的连接,这个不用管它,直接勾上“Don't warn me about this again.”即可
这里需要输入密码,就是你刚才设置的VNC服务器的密码
一个小插曲……
从这里开始后面教程全部使用小米13完成,具体原因我会在后面说,IP目前改成192.168.0.153了,后面大家发现IP不对就是因为这个原因。
进入xfce桌面
通过RealVNC服务器进入的默认桌面长这个样子:
正常情况右上角的喇叭应该不是一个×,而是有音量信息的
我对生产力环境的看法
目前对我来说能做到可以变成的生产力环境,首先需要充足的软件作为支撑,而对于ARM64(aarch64)+Linux环境来说软件生态可以说是相当匮乏,能够使用的大部分是跨平台软件,比如跨平台著称的java,java写的软件在这里基本都能执行。还有就是浏览器,网页APP也是以跨平台著称的,有了浏览器基本能做绝大部分事了。但是作为中国人,最重要的反而是平平无奇的输入法,而在这个环境中输入法可以说是一个大坑!对于中国人来说系统自带输入法再正常不过,而目前xfce桌面是没有输入法的,需要后续安装,在没有输入法的情况下,办公、编程甚至是网页搜索都可以说是寸步难行!
因此我对于一个系统是否可用,首先就看两点:浏览器和输入法,有了这两样系统就能达到可用这个级别,其中一个不满足,都是无法使用的系统。
常见问题
1、VNC服务器连不上,查看一下你的DISPLAY=:后面的数字和你连接的端口号是否匹配,如果出现占用的情况它可是会自动向后去找新的端口的,比如5901被占用了,则会自动跑5902去。
2、如何解决VNC被占用的情况,这里分两种,一种是要重启VNC Server,第二种是因为意外关闭导致的占用情况。
关闭VNC
这个命令用于关闭VNC服务器,冒号后面的就是对应的显示序号。这种关闭属于符合流程的正常关闭VNC服务器,锁文件也会一并自动删除
vncserver -kill :1
解除VNC锁
如果你的VNC服务器没有按照正常流程关闭,而是通过kill,或者划掉Termux APP或者出现了signal 9导致的意外关闭,则需要删除对应的VNC锁才行,不然5901就被占用了,会自动延续到5902等等
rm -rf /tmp/.X1-lock
rm -rf /tmp/.X11-unix/X1
X1-lock、X1对应的是5901
X2-lock、X2对应的是5902,依此类推,删除之后再启动VNC服务器就能通过5901启动了,而不是往后的端口号
3、启动xfce失败,这里有个小插曲,实测小米11无法启动xfce桌面系统,原因我猜是子进程限制不给关闭,原因可能是火龙888太热了,怕烧WIFI,系统不给解除子进程,导致xfce桌面启动失败,我试了好多种办法都不行,因为这台小米11也没root,我对它是一点办法没有,我后面使用小米13了,通过备份的包还原后继续写的教程。
结语
在这一期中,我们先解决了一些之前遗留的问题,比如音频问题,少的组件等等,并使用VNC Client连接到了xfce桌面了,大家可以在这个桌面里探索一番,即使搞坏了也不要紧,直接用备份的包还原即可。
在下一章,我打算教大家安装浏览器和输入法,这一章目测会很坑,估计要等一段时间才会更新了。我本来想在这一章就开始写安装浏览器的,结果Chromium这个坑货,在更新后用不了了……简直让人头秃。
最后和之前一样,有问题大家可以在评论区指出,另外想要和作者吹水可以来群170618278,另外给up:qwe5283的Termux视频多多三连,谢谢各位!!