[Forward Content] 需要root,如何在安卓手机安装Linux
Tofloor
poster avatar
zizdong
deepin
Forum Operations
2023-05-26 19:43
Author

本文转载至:@老虎会游泳 虎绿林

前言

如果你只是想在电脑上体验UOS,没有必要使用我的方案,用电脑上的普通虚拟机(比如virtualbox、vmware)安装amd64(x64)版本就可以了,去这里下载:
https://www.chinauos.com/resource/download-professional

安装方法和用虚拟机安装其他Linux(比如Ubuntu、Deepin)一样。记得关闭虚拟机的UEFI安全启动功能(比如Hyper-V默认开着),否则安装镜像启动不了。

http://pan.uosfans.com/ 可以找到适用于x64(amd64)、arm64、mips的UOS安装镜像。

桌面效果展示

UOS V20 rc版,在小米10 pro上运行

h1.jpg

h2.jpg

h3.jpg

h4.jpg

h5.jpg

安装条件

1.手机是ARMv8芯片,运行的是64位安卓系统。(这两年出的手机基本上都符合要求。)
2.手机已root,并且有超过10GB的空闲空间。(没有root其实也有办法运行,只是很慢。我以后可能会发教程。)

安装方法

1.下载安装这两个apk:
Linux Deploy.apk(17.10 MB),用于运行UOS。
bVNC Free.apk(13.49 MB),用于连接UOS远程桌面。

2.下载安装这个压缩包,里面是适用于 Linux Deploy 的 UOS v20 rc arm64 系统,下载完成后,把文件移动到存储卡根目录。
http://file.hu60.cn/uos/uos-20-arm64.tar.gz (2.42GB,解压后6GB)

也可以通过百度网盘下载:
链接: https://pan.baidu.com/s/1h07SAodPPxO-5wOaRnHBzA 提取码: 4stj

3.打开 Linux Deploy,展开左上角的菜单,点击“配置文件”。

h6.jpg

4.点击加号,新建一个配置文件。

h7.jpg

5.输入配置文件名称,可以随便输入,比如图中是“uos”。

h8.jpg

6.选择这个配置文件。

h9.jpg

7.返回主界面,点击右下角的菜单按钮,打开操作系统设置菜单。

h10.jpg

8.按如下设置(没提到的设置保持默认):
发行版 GNU/Linux:rootfs.tar
源地址:​{EXTERNAL_STORAGE}/uos-20-arm64.tar.gz(就是压缩包的位置,{EXTERNAL_STORAGE}代表手机内置存储,注意虽然名字是“外部存储”的意思,但是确实是代表内部存储,这是安卓的历史遗留命名。)
安装类型:目录
安装路径:/data/linux/uos(注意开头的斜杠必须有)
用户名:hu60
密码:12345678
本地化:zh_CN.UTF-8
初始化:启用(重要,否则无法加载桌面)
初始化系统:sysv(重要,否则无法加载桌面)
初始化设置:点击进入,然后将初始化级别改为5(重要,否则无法加载桌面)
SSH:启用

h11.jpg

h12.jpg

9.返回主界面,展开右上角的菜单,选择“安装”。

h13.jpg

10.等出现<<< deploy字样,说明安装完成。再点击左下角的“启动”。

h14.jpg

11.等出现<<< start字样,说明启动成功。

h15.jpg

12.打开“bVNC Free”,输入VNC连接信息:
Connection Type(连接类型):Basic VNC(普通VNC)
VNC Connection Settings(VNC连接设置):
地址:127.0.0.1 端口:5900
用户名:hu60
密码:12345678

h16.jpg

关于密码的说明

用户hu60的默认SSH登录密码和默认VNC登录密码都是12345678,但两者是互相独立的。
修改SSH登录密码需要使用命令passwd,VNC登录密码不会同时被修改。
修改VNC登录密码需要使用命令vncpasswd,SSH登录密码也不会同时被修改。

13.触摸“bVNC Free”右侧的浮动工具条,点击三个点的按钮,可以弹出菜单。如果想切换到触屏操作,可以选择“Input Mode(输入模式)”,然后选择“Direct, Swipe Pan”。如果想切换到模拟触控板,可以选择“Simulated Touchpad”。

h17.jpg

h18.jpg

14.如果要连接SSH,使用ssh [email protected]即可(即用户名hu60,主机127.0.0.1,端口22,密码12345678)。

15.sudo命令不需要输入密码。

16.可以使用以下方法来使用UOS官方源。注意不要更新系统,否则桌面肯定会坏。只用官方源安装你需要的软件包即可。

https://hu60.cn/q.php/bbs.topic.96747.html?floor=5#5

常见问题

1.如果VNC连不上,可以试试重启手机然后再启动UOS。如果还是连不上,看38楼。
2.连不上网,可以尝试运行sudo add_android_permission命令,然后重启UOS。如果还是不管用,尝试编辑UOS内的/etc/resolv.conf,换个DNS服务器。

已知问题

1.不要安装讯飞输入法,讯飞输入法非常卡,不知道是什么原因。如果你安装后发现确实非常卡,请及时卸载。
如果是从应用商店安装的,用sudo apt purge com.iflytek.iflyime卸载,也可以去应用商店“我的应用”里面卸载。
如果是通过sudo apt install iflyime安装的,用sudo apt purge iflyime卸载。
默认安装了谷歌输入法,一点也不卡。不过遗憾的是,搜狗拼音没有arm64版,软件源里的fcitx-sogoupinyin-uk并不是搜狗拼音本身。

2.不要开桌面特效,因为没有显卡驱动,只能通过CPU运算OpenGL,开了之后非常卡。

3.因为没开桌面特效,任务栏上的虚拟桌面切换按钮无法使用,不过可以用快捷键切换虚拟桌面。如果需要使用,可以在“设置>键盘和语言”里查看相应快捷键。快捷键列表中的Super键就是Win键。

4.显示缩放设置成1.25倍没有用,下次启动还是1倍,正在考虑怎么解决。

5.无法注销、重启、关机。请直接在Linux Deploy app里点停止。

6.因为UOS官方源无法使用(需要帐号),所以混合使用了Deepin 15.5的软件源和Debian 10的软件源。问题在于,Deepin 15.5里的软件版本全面落后于UOS(不使用deepin 15.10的原因是它没有arm64的软件源),而Debian 10的某些软件版本号和UOS的不同,所以安装某些软件时会遇到依赖不满足的问题。此时,请通过sudo aptitude install 软件包名称来手动安装,不要使用apt、apt-get或应用商店。aptitude会提供多个解决方案,通常第一个解决方案是不安装,此时应该选择n,而第二个解决方案是降级某些软件包,这通常可以接受,选择y来继续安装。注意,如果看到解决方案要删除某些软件包,请格外小心,不要轻易选择y,否则系统可能会损坏。

7.没有声音。普通VNC软件不支持声音,而支持声音的RealVNC软件是付费的,并且不知道它有没有arm64版。

8.xrdp软件包无法正常使用,因为Xorg程序会段错误崩溃。同理,任何需要借助UOS内Xorg程序运行的远程桌面软件也无法使用。

9.tightvncserver软件包无法正常使用,因为startdde命令会报错:extension "XInputExtension" missing。所以我选择了支持XInputExtension扩展的tigervnc-standalone-server。

10.如果你要自己启动VNC服务,请注意TigerVNC提供的vncserver命令也无法直接在本系统内运行,请运行vncserver-fix命令(位于/usr/local/bin/vncserver-fix)代替。
具体请看 https://github.com/TigerVNC/tigervnc/issues/800#issuecomment-565669421

使用技巧

1.文件管理器中右击图中位置,选择“编辑地址”,再输入“/”,可以进入根目录。文件管理器之所以不直接显示根目录,是因为检测不到物理磁盘。

h19.jpg

2.点击任务栏右侧的键盘图标可以弹出屏幕键盘。点击屏幕键盘上的“键盘”按钮可以切换输入法。在终端里运行onboard-settings可以打开屏幕键盘设置,然后运行killall onboard再重新打开屏幕键盘以应用更改。

3.应用商店首次打开可能很慢,请耐心等待。如果你觉得某个软件就是打不开,有问题,可以直接在终端里运行它,这样可以显示软件的启动日志。比如应用商店的命令是deepin-app-store。

4.如果VNC远程桌面出问题,可以通过SSH登录系统查看情况。

5.VNC服务也允许通过其他电脑连接,你可以在Linux Deployapp顶部看到本机IP,其他电脑输入这个IP,以及端口5900,就能连接上了。Windows可以使用 https://www.realvnc.com/en/connect/download/viewer/
不过如果WiFi比较慢,远程VNC就会非常卡,甚至图像质量也会非常渣。推荐使用5GHz WiFi,也可以使用USB网络共享。2.4GHz WiFi亲测一团糟。
如果用VNC Viewer画质很渣,远比不上安卓上的显示效果,说明它检测到网络很慢,自动启用了低画质模式。你可以右击连接,选择“Properties(属性)”,切换到“Options(选项)”,然后修改“General(通用)”里的“Picture quality(图像质量)”,可以改为“Medium(中等)”。

6.如果安装的新软件或者新建的用户出现无法联网、端口监听失败等问题,请在Linux Deploy中停止系统再重新启动,应该可以修复问题。如果还是无法解决,尝试运行sudo add_android_permission命令。
出现这种问题的原因是,安卓对能够联网的用户进行了限制,只有属于aid_inet用户组的用户才能联网或者监听端口,如果不属于aid_inet用户组,即使root用户也不能联网。所以系统在启动时执行的/etc/init.d/mount-dev-shm start启动项会自动执行add_android_permission命令,把当前存在的所有用户加入aid_inet组。
具体原理可以cat /usr/local/bin/add_android_permission查看。

7.如果应用商店、浏览器、Code - OSS(VSCode)都打不开,请运行sudo service mount-dev-shm start。
出现这种问题的原因是,安卓的/dev/shm(共享内存文件夹)只能被root用户写入。mount-dev-shm服务会挂载一个新的可供任何用户写入的/dev/shm。
注意:mount-dev-shm服务本来应该在系统启动过程中自动启动,如果没有,可能说明你忘记开启sysv初始化系统,请重新阅读“安装方法”的第8步。

8.如果VNC连接不上,sudo service vnc status得到:: vnc ... stopped,可以用sudo service vnc start启动它。
注意:vnc服务本来应该在系统启动过程中自动启动,如果没有,可能说明你忘记把sysv初始化级别改为5,请重新阅读“安装方法”的第8步。

使用XServer XSDL应用代替VNC

对于熟悉 XServer XSDL的用户,可以在系统启动后登录SSH,执行以下命令停止VNC(如果不停止,XServer XSDL无法启动):

sudo service vnc stop

然后打开 XServer XSDL 应用,再回到SSH继续执行以下命令,以在 XServer XSDL 上显示桌面:

xforward

不推荐使用 XServer XSDL,所以我这里也不提供下载。不过,XServer XSDL 支持播放音频。

对于熟悉 XServer XSDL的用户,可以在系统启动后登录SSH,执行以下命令停止VNC(如果不停止,XServer XSDL无法启动):

sudo service vnc stop

然后打开 XServer XSDL 应用,再回到SSH继续执行以下命令,以在 XServer XSDL 上显示桌面:

xforward

不推荐使用 XServer XSDL,所以我这里也不提供下载。不过,XServer XSDL 支持播放音频。

XServer XSDL 的已知问题

  1. 随机出现的显示残缺、色彩混杂。(VNC没有这问题)
  2. 如果开启桌面特效,窗口的边框外围会有杂乱条纹,因为 XServer XSDL 完全不支持 3D 加速。(VNC没有这问题,只是比较慢。)
  3. 虽然 XServer XSDL 也支持触控模式,但无法在桌面运行过程中切换成触摸板模式(而且设置方法比较奇葩,得自己找一下)。并且它也不支持显示缩放。(VNC没有这问题,bVNC Free可以缩放,可以随时切换触控模式和触摸板模式。)

发现一个更好用的VNC客户端,支持竖屏全屏模式。
Remote Desktop Manager.apk(87.76 MB)

h20.jpg

Reply Favorite View the author
All Replies
阿尼樱奈奈
Moderator
2023-05-26 19:48
#1

like

Reply View the author
trutheeker
deepin
2023-05-26 20:16
#2

下载地址用不了

Reply View the author
sshnuke
deepin
2023-05-26 20:30
#3

事实上不需要root

只要用termux+anlinux之类辅助软件就可以安装完整版linux了

Reply View the author
神末shenmo
deepin
Spark-App
2023-05-26 21:08
#4

下载地址用不了

这个镜像似乎是违反了UOS的优菈,被要求下线了

不知道有没有人补档

Reply View the author
sshnuke
deepin
2023-05-26 21:16
#5
神末shenmo

下载地址用不了

这个镜像似乎是违反了UOS的优菈,被要求下线了

不知道有没有人补档

如果是明确侵犯统信尤拉的还是别补档了 法律法规还是要遵守的 但是深度是社区版啊 不如提供深度的

Reply View the author
zizdong
deepin
Forum Operations
2023-05-26 21:31
#6
It has been deleted!
zizdong
deepin
Forum Operations
2023-05-26 22:24
#7

链接已更新applaud

Reply View the author
vivian_me
deepin testing team
2023-05-26 23:53
#8

点赞点赞

Reply View the author
蘑菇蘑菇
deepin
2023-05-31 22:54
#9

applaud

Reply View the author