之前也写过如何在手机上安装Linux虚拟机环境,让旧手机发挥余热,但上一篇主要是作为内网环境中的Linux云服务器跑一些网站、服务用,本篇就接着上一篇继续讲如何安装桌面环境,安装常用软件、输入法,以及配置浏览器可以访问的VNC服务(noVNC)。

注意:由于手机毕竟不是为运行Linux发行版而生,一些操作步骤可能与正常的Linux环境有所不同,但只要参照本文步骤,将功能大致运行起来基本不成问题。

没有看过上一篇的可以点击下面的链接直达:

准备工作

本教程主要用到以下东西:

  1. 已root安卓手机一台
  2. Linux Deploy(点击下载GitHub下载ApkCombo下载APKPure下载)
  3. Termux(作为SSH工具,不是刚需,建议用电脑)(点击下载)

本教程基于已装好Linux环境编写,如未安装请参照上面文章先安装Linux环境,也可参照本文在安装前一并对Linux Deploy配置进行调整后再安装Linux环境。

文中使用的设备型号:

  1. Le X620 3+16G Android 6.0

Linux Deploy配置调整

打开Linux Deploy,点击右下角按钮进入设置页面,划到最下面找到图形界面,勾选允许使用图形环境,如图所示(感觉桌面环境MATE更好看一点,且安装MATE桌面环境后面可以少装一些包,比如dbuszenity等,本文基于LXDE桌面环境编写)

启用图形界面

点击图形界面设置,可根据自己需要调整以下选项:

  1. DPI:96(100%)、120(125%)、144(150%)、192(200%)
  2. 宽度:1920
  3. 高度:1080

调整如图所示:

图形界面设置

完成后返回至Linux Deploy主页面,点击右上角三个点,点击配置,在弹出窗口点击确认,并等待配置完成。

点击配置

配置完成后依次点击下方的停止启动重启Linux环境

鼠标写字好怪(

至此便完成了对Linux Deploy软件配置的调整。这一步的操作是安装VNC服务和VNC桌面,方面下一步安装noVNC。按理来讲现在只需使用VNC软件输入设备IP:5900即可连接VNC桌面了,但说到底还是不够方便,我们可以让远程桌面的便携性更进一步,即将远程桌面搬进浏览器。

Linux系统配置

使用SSH连接Linux,执行:

apt install -y novnc python3-websockify

安装过程可能需要一些时间,安装完成后执行:

websockify -D --web=/usr/share/novnc/ 端口号 localhost:5900

注:需要将命令中端口号替换成实际端口,这个端口将是后面网页连接远程桌面端口

我们可以在/root(即~)目录下创建一个noVNC.sh(或者其他你喜欢的名字),填入以下内容:

#!/bin/sh

websockify -D --web=/usr/share/novnc/ 端口号 localhost:5900

执行chmod +x使脚本可执行,下次重启时只需执行脚本就可以了,这样会方便一些。

如果安装时配置了初始化,则可以在/etc/rc.local中加上一行脚本的绝对路径,这样每次启动时noVNC就会自动启动了

创建脚本步骤图示

执行脚本后noVNC便已经运行起来了,我们可以使用浏览器访问设备IP:端口号/vnc.html登录远程桌面,默认密码是Linux的root密码,也可以执行vncpasswd进行修改

noVNC图示,输入root密码即可登录

登录后我们会发现这个远程桌面无法正常显示中文,如图:

无法显示中文图示

只需在SSH中执行:

apt install -y fonts-wqy-microhei fonts-wqy-zenhei xfonts-intl-chinese

安装一下中文字库,装好后在Linux Deploy中依次点击下方的停止启动重启Linux环境,此时再次连接可以发现中文已经可以正常显示了

中文图示,安装了中文字库后中文已经能够正常显示

附:LXDE 回收站位置:~/.local/share/Trash,清空回收站执行:

rm -rf ~/.local/share/Trash/*

常用软件安装

由于我对这个远程桌面的需求是能够远程回家中内网看设备的状态,偶尔挂个QQ,所以目前只装了IBus输入法、Chromium(即Google Chrome浏览器)、QQ和VSCode,下面将讲解如何安装这些软件,后面如果有其它用到的软件也会将安装过程更新在这里。

由于手机毕竟不是为运行Linux发行版而生,各个程序的安装和运行步骤可能与Linux环境不同,不过参照下面的安装过程,安装并能够运行基本不成问题。

IBus中文输入法

SSH连接Linux系统,执行:

apt install -y zenity ibus ibus-pinyin im-config

注:不装zenity无法打开im-config

装好后,在VNC中点击左下角菜单 – 首选项 – 输入法,在弹出窗口点击确定,如图

点击确定

在弹出窗口点击是,如图

点击是

在弹出窗口中选择IBus,点击确定,如图

选择ibus,点击确定

在弹出窗口中点击确定,如图

点击确定

然后需要对~/.bashrc进行修改,执行:

nano ~/.bashrc

在后面添加:

export GTK_IM_MODULE=ibus
export XMODIFIERS=@im=ibus
export QT_IM_MODULE=ibus

然后保存退出即可,不加的话输入中文时可能不弹候选框。

由于Linux Deploy搭建的Linux环境中缺少dbus-x11,导致IBus设置无法保存,具体报错信息如下:

(ibus-setup:12414): dconf-WARNING **: 13:45:45.359: failed to commit changes to dconf: Failed to execute child process “dbus-launch” (No such file or directory)

故还需安装dbus-x11,执行:

apt install -y dbus-x11

安装dbus-x11即可。

我们需要为输入法配置自启动,执行:

nano /etc/xdg/lxsession/LXDE/autostart

在最后一行添加:

@ibus-daemon &
图示,添加启动桌面时自动启动输入法进程

添加完成后保存退出,然后重启Linux系统,继续对输入法进行配置。点击左下角菜单 – 首选项 – IBus首选项

IBus首选项

进入IBus首选项页面,我们可以按需 修改输入法切换快捷键,(但似乎在noVNC中不起作用,或许直接用VNC连接有效?)

点击按钮修改快捷键

点击“输入法”切换到输入法菜单可以添加/修改/删除输入法(默认已包含中文拼音输入法),具体操作如图:

添加中文输入法步骤,顺便添加一个英文输入法

添加后可以点击右下角关闭按钮后再次打开查看设置是否成功保存,正常来讲安装好dbus-x11后设置应能正常保存,如发现不能正常保存也可关闭IBus首选项窗口,点击左下角菜单 – 系统工具 – LX 终端启动LXTerminal,执行ibus-setup,这样配置输入法过程中产生的警告/报错信息都会在终端中显示出来,方便排查问题。

使用终端启动IBus图示

注意:连接VNC后如果右下角没有输入法图标则需要点击左下角菜单 – 首选项 – IBus首选项启动输入法进程

浏览器

Chromium

SSH连接Linux系统(或在VNC中打开LXTerminal),执行:

apt install -y chromium

安装好后在VNC中点击左下角菜单 – 系统工具 – 文件管理器PCManFM

也可以点挨着菜单头一个快捷启动按钮

依次点击应用程序 – 互联网

操作顺序图示

会出现刚刚安装的Chromium浏览器的快捷方式,右键快捷方式 – 文件属性

操作顺序图示

点击桌面项,在命令框中的chromium后、%U前添加--no-sandbox,修改后的命令框中内容为:

/usr/bin/chromium --no-sandbox %U

完成后点击确定保存。可以复制一份快捷方式放在桌面方便使用。运行时如果弹出如下窗口:

弹窗图示

只需点击执行按钮即可。

图示,可以看到浏览器已经能够运行

Firefox

使用浏览器打开Firefox Nightly下载页面,点击下载Firefox浏览器

点击下载

下载后使用scp将浏览器文件上传至Linux系统,执行:

scp -P 自定义SSH端口号 浏览器文件位置 用户名@IP:目标位置

使用方法:假如我的IP地址为127.0.0.1,端口号为6666,用户名为local,浏览器文件位置在/home,下载的浏览器文件名为firefox-134.0a1.zh-CN.linux-aarch64.tar.bz2那么我将执行:

scp -P 6666 /home/firefox-134.0a1.zh-CN.linux-aarch64.tar.bz2 local@127.0.0.1:~/

如果信息填写正确,执行后应当提示输入密码,输入后会显示上传进度,如图所示:

scp上传文件图示

使用SSH连接Linux系统(或在VNC中打开LXTerminal),逐行执行:

apt install -y bzip2
tar xjf firefox-134.0a1.zh-CN.linux-aarch64.tar.bz2
解压过程可能需要一点时间

解压完成后将得到一个firefox的文件夹,执行:

mv firefox /opt

将解压的 Firefox 目录移到 /opt,继续执行:

ln -s /opt/firefox/firefox /usr/local/bin/firefox

创建一个指向 Firefox 可执行文件的 symlink,然后逐行执行:

mkdir /usr/local/share/applications/
nano /usr/local/share/applications/firefox.desktop

填入以下内容(原文件链接):

[Desktop Entry]
Version=1.0
Name=Firefox Web Browser
Comment=Browse the World Wide Web
GenericName=Web Browser
Keywords=Internet;WWW;Browser;Web;Explorer
Exec=firefox %u
Terminal=false
X-MultipleArgs=false
Type=Application
Icon=/opt/firefox/browser/chrome/icons/default/default128.png
Categories=GNOME;GTK;Network;WebBrowser;
MimeType=text/html;text/xml;application/xhtml+xml;application/xml;application/rss+xml;application/rdf+xml;image/gif;image/jpeg;image/png;x-scheme-handler/http;x-scheme-handler/https;x-scheme-handler/ftp;x-scheme-handler/chrome;video/webm;application/x-xpinstall;
StartupNotify=true

然后保存退出,重启Linux环境。可以在VNC中查看安装是否成功:点击左下角菜单 – 互联网,可以看到刚刚安装的Firefox浏览器,如图所示

安装成功图示
图示,可以看到Firefox已经能够运行

QQ

分两种情况:

  1. 有浏览器:打开Chrome浏览器,输入im.qq.com,到QQ官网下载QQ Linux arm64 deb版软件包
  2. 没有浏览器:在电脑上打开浏览器,输入im.qq.com,到QQ官网下载QQ Linux arm64 deb版软件包,然后使用scp传入Linux系统

教程以有浏览器为例,根据图示下载QQ软件包:

QQ官网图示1
QQ官网图示2

使用SSH连接Linux系统(或在VNC中打开LXTerminal),逐行执行:

cd Downloads/
apt install -y ./QQ_3.2.13_241023_arm64_01.deb

在安装的结尾可能会报错,忽略即可,如图:

报错图示

此时已经安装完成。我们继续对快捷方式进行处理。在VNC中点击左下角菜单 – 系统工具 – 文件管理器PCManFM

也可以点挨着菜单头一个快捷启动按钮

依次点击应用程序 – 互联网

操作顺序图示

会出现刚刚安装的QQ的快捷方式,右键快捷方式 – 文件属性

操作顺序图示

点击桌面项,在命令框中的qq后、%U前添加--no-sandbox,修改后的命令框中内容为:

/opt/QQ/qq --no-sandbox %U

完成后点击确定保存。可以复制一份快捷方式放在桌面方便使用。运行时如果弹出如下窗口:

弹窗图示

只需点击执行按钮即可。

图示,可以看到QQ已经能够运行

VSCode

分两种情况:

  1. 有浏览器:打开Chrome浏览器,输入code.visualstudio.com/Download,到VSCode官网下载VSCode Linux arm64 deb版软件包
  2. 没有浏览器:在电脑上打开浏览器,输入code.visualstudio.com/Download,到VSCode官网下载VSCode Linux arm64 deb版软件包,然后使用scp传入Linux系统

教程以有浏览器为例,根据图示下载VSCode软件包:

VSCode官网图示

此时虽然已经下载好VSCode安装包,但由于libxkbfile1版本太低,直接安装会报错,具体报错信息如下:

code : 依赖: libxkbfile1 (>= 1:1.1.0) 但是 1:1.0.9-2+b11 正要被安装

正常来讲应该能够自动安装,但由于镜像源中没有更高版本,故需要手动下载安装。下载地址:点击下载官网下载其他地区源。我们可以直接使用wget将软件包下载到Linux系统中。依次执行:

wget -O libxkbfile1.deb http://ftp.cn.debian.org/debian/pool/main/libx/libxkbfile/libxkbfile1_1.1.0-1+b2_arm64.deb
apt install -y ./libxkbfile1.deb

在安装的结尾可能会报错,忽略即可,如图:

报错图示

此时已经安装完成。我们再去安装VSCode,依次执行:

cd Downloads/
apt install -y ./code_1.95.1-1730354713_arm64.deb

在安装过程中会弹出这样的提示:

提示图示

点击回车即可。

在安装的结尾可能会报错,忽略即可,如图:

报错图示

此时已经安装完成。我们继续对快捷方式进行处理。在VNC中点击左下角菜单 – 系统工具 – 文件管理器PCManFM

也可以点挨着菜单头一个快捷启动按钮

依次点击应用程序 – 编程

操作顺序图示

会出现刚刚安装的VSCode的快捷方式,右键快捷方式 – 文件属性

操作顺序图示

点击桌面项,在命令框中的code后、%F前添加--no-sandbox,修改后的命令框中内容为:

/usr/share/code/code --no-sandbox %F

完成后点击确定保存。可以复制一份快捷方式放在桌面方便使用。运行时如果弹出如下窗口:

弹窗图示

只需点击执行按钮即可。

图示,可以看到VSCode已经能够运行

另:这样安装的VSCode的美化需要用到的workbench.desktop.main.css位置为:

/usr/share/code/resources/app/out/vs/workbench

Python

系统自带一个Python3.7(没有可以执行apt install -y python3),本教程为编译安装比较新的Python版本

分两种情况:

  1. 有浏览器:打开浏览器,输入python.org,到Python官网下载Python源码
  2. 没有浏览器:在电脑上打开浏览器,输入python.org,到Python官网下载Python源码,然后使用scp传入Linux系统

教程以有浏览器为例,根据图示下载Python源码:

官网下载源码图示

下载好后执行:

apt install -y xz-utils && tar -xJvf Python-3.13.0.tar.xz

进行解压,解压完成后使用cd命令进入Python文件夹:

cd Python-3.13.0/

执行配置:

./configure --enable-optimizations

如果出现报错:

configure: error: no acceptable C compiler found in $PATH

则需要先执行:

apt install -y build-essential pkg-config

安装编译工具后再执行配置

图示,可以看到已经不报错了

配置完成后,执行:

make -jN && make altinstall

注意:-jNN需要替换成核心数量,具体数量可以执行nproc查看

nproc图示

可能出现的报错内容及解决方法:

zipimport.ZipImportError: can't decompress data; zlib not available
执行apt install -y zlib1g-dev,然后从配置步骤重新执行

编译安装完成后,可以使用python3.13命令进入刚刚编译安装的Python3.13

如图,执行python3进入Python3.7,执行python3.13进入Python3.13
VSCode也能检测到新的Python版本

截图工具

SSH连接Linux系统(或在VNC中打开LXTerminal),执行:

apt install -y xfce4-screenshooter

使用时,只需在VNC中打开LXTerminal,执行:

xfce4-screenshooter
图示,可忽略警告,不影响功能

当然,也有消除警告的方法,只需执行:

apt install -y at-spi2-core
截图后可选择复制到剪切板或保存到指定位置

MySQL

(挺无语的,默认密码一开始进不去,以为默认密码不行,就研究强制改root密码,反复安装了十几次,索性就给安装和卸载弄成自动化了,然后后来又能用了)

注意:安装脚本仅在Debian arm64环境进行测试,不支持其它架构环境(没做,没有需求)

SSH连接Linux环境,执行:

apt install -y curl && bash <(curl -fsSL https://llyth.cn/api/sh/install_mysql.sh)

脚本执行过程中会自动安装依赖、自动下载MySQL压缩包,无需人工干预,只需在最后设置一个新的root密码就行了,然后根据提示执行source ~/.bashrc

不用了想要删除也很方便,执行:

apt install -y curl && bash <(curl -fsSL https://llyth.cn/api/sh/remove_mysql.sh)

就会自动删除MySQL。

Nginx 和 PHP

同样使用安装脚本进行安装。

注意:安装脚本仅在Debian arm64环境进行测试,理论来讲应该支持其它架构的Debian/Ubuntu,如需使用请自行测试

SSH连接Linux环境,执行:

apt install -y curl && bash <(curl -fsSL https://llyth.cn/api/sh/install_nginx.sh)

安装过程中可根据需要自行决定是否安装PHP

如果使用PHP,需要在安装完成后自行去/usr/local/nginx/conf/nginx.conf调整配置

安装成功图示
Debian 12安装成功图示

如需删除Nginx,只需执行:

apt install -y curl && bash <(curl -fsSL https://llyth.cn/api/sh/remove_nginx.sh)

安装的PHP也可以根据删除脚本后面的提示一并删除。

phpMyAdmin

同样使用安装脚本进行安装。

注意:请先使用Nginx安装脚本安装Nginx

SSH连接Linux环境,执行:

apt install -y curl && bash <(curl -fsSL https://llyth.cn/api/sh/install_phpmyadmin.sh)

附上卸载脚本:

apt install -y curl && bash <(curl -fsSL https://llyth.cn/api/sh/remove_phpmyadmin.sh)
phpMyAdmin图示

一种很新的玩法

随手记一下,不作为玩机指导

正常安装具有VNC的Linux环境后,执行两次:

bash <(curl -sSL https://raw.githubusercontent.com/wikihost-opensource/linux-toolkit/main/system-upgrade/debian.sh)

每次执行没有报错的情况重启,两次过后停止Linux环境,点击右上角配置,完成后启动Linux环境,此时会变成Debian 12:

Linux Deploy自己都没想到自己还能跑Debian 12

然后使用:

dpkg-reconfigure locales

配置zh_CN.UTF-8,完成后重连ssh

换源(可选)

nano /etc/apt/sources.list

里面内容全注释,新增:

# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm main contrib non-free non-free-firmware
deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm main contrib non-free non-free-firmware

deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-updates main contrib non-free non-free-firmware
deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-updates main contrib non-free non-free-firmware

deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-backports main contrib non-free non-free-firmware
deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-backports main contrib non-free non-free-firmware

# 以下安全更新软件源包含了官方源与镜像站配置,如有需要可自行修改注释切换
deb https://mirrors.tuna.tsinghua.edu.cn/debian-security bookworm-security main contrib non-free non-free-firmware
deb-src https://mirrors.tuna.tsinghua.edu.cn/debian-security bookworm-security main contrib non-free non-free-firmware

然后再安装上面的noVNC和其他软件,会减少许多问题,也能安装更高版本的软件(比如Chromium)。

说点什么
你是我一生只会遇见一次的惊喜...
支持Markdown语法
好耶,沙发还空着ヾ(≧▽≦*)o
Loading...