├── README-old.md └── README.md /README-old.md: -------------------------------------------------------------------------------- 1 | # 莉莉丝的王座安卓手机运行教程(施工中) 2 | ### 前言 3 | 由于莉莉丝的王座是使用JAVA进行开发的游戏,并不能方便的移植到移动端基于安卓的设备上。因此本文将通过使用termux安装proot linux容器的方式来曲线实现在安卓手机上游玩莉莉丝的王座。 4 | 5 | ### 警告 6 | 因为我们需要在手机上额外跑一个近乎完整的linux桌面环境,因此需要有至少6GB的系统内存和至少10GB的储存空间才能完成这一教程。同时,因为本教程采用无需root的proot容器方案,会对linux容器的运行造成一定的性能损失,以及无法使用大部分的图形加速能力。 7 | 8 | ### 安装应用程序 9 | 为了安装proot容器和linux桌面环境并实现一键启动,我们需要安装以下app:[termux](https://github.com/termux/termux-app),[termux-x11](https://github.com/termux/termux-x11),[termux-api](https://github.com/termux/termux-api),[termux-widget](https://github.com/termux/termux-widget)。点击链接进入对应github页面之后下载releases中最新发布版本,对于termux,选择后缀带有universal的安装包,对于termux-x11,进入github页面后点击Actions页面选择最新build下载带有universal后缀的压缩包解压得到安装包。 10 | 11 | ## 初步设置 12 | 打开termux之后,下滑通知栏,点击termux通知中的`ACQUIRE WAKELOCK`按钮使termux可以在后台运行。之后在termux中输入`termux-change-repo`命令对termux的默认软件源进行替换。输入命令后会进入一个伪图形界面,第一步直接按回车跳过,第二部用termux工具栏提供的方向键向下移动到mirrors of china选项后按空格选择,按回车继续。随后输入以下命令执行以安装后续所需的软件包和更新系统。 13 | ![Screenshot_2023-10-14-22-28-09-475_com termux](https://github.com/Agreous/liliths-throne-on-android/assets/46571579/03f97e48-89f9-43ce-b89d-32cdf1bbc508) 14 | 15 | ![Screenshot_2023-10-14-22-28-15-439_com termux](https://github.com/Agreous/liliths-throne-on-android/assets/46571579/09ecd443-7fdc-4e3d-a4d2-93252caaa08f) 16 | 17 | 18 | ``` 19 | pkg upgrade 20 | pkg install x11-repo root-repo tur-repo 21 | pkg install proot-distro pulseaudio vim virglrenderer-android termux-x11-nightly 22 | ``` 23 | ### 安装linux容器 24 | 输入以下命令安装一个arch linux的proot容器,你可以使用`proot-distro list`命令来查看所有可用的发行版,但是本文只会以arch linux作为教程基础。 25 | (在进行这一步的时候可能需要挂梯子) 26 | 27 | ``` 28 | proot-distro install archlinux 29 | ``` 30 | 31 | 安装后使用以下命令登入容器,--user参数表示登录指定帐户,在初始状态下仅有root。--shared-tmp则是將Termux的tmp目录挂载到proot內部以共享X服务器资源(之后会用到,这里可以不加)。 32 | 33 | ``` 34 | proot-distro login archlinux --user root --shared-tmp 35 | ``` 36 | 37 | ### 切换软件源,更新系统并进行linux基本设置 38 | #### 切换软件源 39 | 在进入linux系统之后,我们要做的第一件事就是将系统软件源更换为国内镜像源以方便后续软件安装,用系统自带的vim对`/etc/pacman.d/mirrorlist`进行编辑。 40 | 41 | ``` 42 | vim /etc/pacman.d/mirrorlist 43 | ``` 44 | 45 | 找到唯一一个没有被#注释的Server=行,按i进入编辑模式,将其替换为 46 | 47 | ``` 48 | Server = https://mirrors.tuna.tsinghua.edu.cn/archlinuxarm/$arch/$repo 49 | ``` 50 | 然后按esc退出编辑模式,输入:wq保存退出,最后输入`pacman -Syy`刷新软件源完成工作。 51 | 52 | #### 更新系统并进行linux基本设置 53 | 输入`pacman -Syu`更新系统,完成后开始对linux系统进行基本设置: 54 | 55 | 1.为root用户设置密码 56 | ``` 57 | passwd 58 | ``` 59 | 2.增加普通用户,并为普通用户设置用户组,并设置密码 60 | ``` 61 | pacman -S sudo vim 62 | useradd -m -g users -G wheel,audio,video,storage -s /bin/bash user 63 | passwd user 64 | ``` 65 | 在linux中root用户拥有着系统的最高权限,因此我们不能时刻用root账户进行登录,同时我们要为之后安装桌面环境对用户组进行设置,其中的`user`可以替换为你想要的用户名。 66 | 67 | 3.赋予普通用户使用root权限的能力,编辑`/etc/sudoers` 68 | 69 | ``` 70 | vim /etc/sudoers 71 | 72 | 在root ALL=(ALL) ALL的下一行加入以下內容: 73 | 74 | user ALL=(ALL) ALL 75 | ``` 76 | 最后就可以切换到普通用户账号了,之后都是用这个普通用户账号进行操作。 77 | 78 | ``` 79 | su user 80 | ``` 81 | 82 | ### 安装所需工具与桌面环境 83 | 1.安装中文字体,SSH,输入法与一些工具 84 | 85 | ``` 86 | sudo pacman -S networkmanager xorg xorg-server pulseaudio noto-fonts git openssh fakeroot base-devel fcitx5-config-qt fcitx5-qt fcitx5-gtk fcitx5-chinese-addons libpinyin noto-color-emoji p7zip unrar firefox 87 | ``` 88 | 89 | 2.(可选)安装AUR助手yay 90 | 91 | AUR是arch linux的用户软件源,可以从里面搞到很多有用的软件,不过我们运行莉莉丝的王座不需要用到它,因此是可选的。 92 | 93 | ``` 94 | sudo pacman -S --needed git base-devel && git clone https://aur.archlinux.org/yay.git && cd yay && makepkg -si 95 | ``` 96 | 97 | 3.设定系统时区与语言,输入法 98 | 99 | 输入以下命令将系统时区设置为上海(GMT+8) 100 | 101 | ``` 102 | sudo ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime 103 | ``` 104 | 然后编辑`/etc/locale.gen`文件,找到其中被注释的`#zh_CN.UTF-8`,取消注释。 105 | 106 | 输入以下命令生成语言设定 107 | ``` 108 | sudo locale-gen 109 | sudo echo "LANG=zh_CN.UTF-8" >> /etc/locale.conf 110 | ``` 111 | 最后编辑`/.profile`,在文件尾添加以下内容 112 | ``` 113 | fcitx5 & 114 | GTK_IM_MODULE=fcitx 115 | QT_IM_MODULE=fcitx 116 | XMODIFIERS=@im=fcitx 117 | SDL_IM_MODULE=fcitx 118 | GLFW_IM_MODULE=ibus 119 | ``` 120 | 121 | 4.安装桌面环境 122 | 123 | 由于proot容器缺少systemd,gnome无法启动,因此我们可选的常用桌面环境仅剩下KDE和xfce,KDE美观性更好,但是更吃资源,并且动画在软件渲染下表现不佳。因此也可选用更轻量的xfce。下面会给出两种桌面环境的安装命令,按需选择。 124 | 125 | 安装KDE 126 | ``` 127 | sudo pacman -S plasma sddm dolphin ark konsole kate dolphin-plugins elisa gwenview 128 | ``` 129 | 130 | 安装xfce 131 | ``` 132 | sudo pacman -S xfce4 xfce4-goodies lightdm 133 | ``` 134 | 135 | ## 设置一键启动 136 | 首先需要确保[termux-api](https://github.com/termux/termux-api)和[termux-widget](https://github.com/termux/)都已被安装,随后赋予termux允许显示在其他应用上层权限。然后在termux程序内(注意,不是proot容器内,如果你在proot容器内,输入exit命令退出proot容器)输入以下命令创建用于一键启动的脚本 137 | ``` 138 | mkdir .shortcuts 139 | vim .shortcuts/startproot.sh 140 | ``` 141 | 随后根据前面选择安装的桌面环境选择下面两个内容之一填入脚本当中 142 | 143 | 使用KDE 144 | ``` 145 | #!/bin/bash 146 | 147 | 148 | killall -9 termux-x11 Xwayland pulseaudio virgl_test_server_android termux-wake-lock 149 | 150 | 151 | termux-toast "Starting X11" 152 | am start --user 0 -n com.termux.x11/com.termux.x11.MainActivity 153 | XDG_RUNTIME_DIR=${TMPDIR} 154 | termux-x11 :0 -ac & 155 | sleep 3 156 | 157 | 158 | pulseaudio --start --load="module-native-protocol-tcp auth-ip-acl=127.0.0.1 auth-anonymous=1" --exit-idle-time=-1 159 | pacmd load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1 auth-anonymous=1 160 | 161 | 162 | virgl_test_server_android & 163 | 164 | 165 | proot-distro login archlinux --user user --shared-tmp -- bash -c "export DISPLAY=:0 PULSE_SERVER=tcp:127.0.0.1; dbus-launch --exit-with-session startplasma-x11" 166 | ``` 167 | 168 | 使用xfce 169 | ``` 170 | #!/bin/bash 171 | 172 | 173 | killall -9 termux-x11 Xwayland pulseaudio virgl_test_server_android termux-wake-lock 174 | 175 | 176 | termux-toast "Starting X11" 177 | am start --user 0 -n com.termux.x11/com.termux.x11.MainActivity 178 | XDG_RUNTIME_DIR=${TMPDIR} 179 | termux-x11 :0 -ac & 180 | sleep 3 181 | 182 | 183 | pulseaudio --start --load="module-native-protocol-tcp auth-ip-acl=127.0.0.1 auth-anonymous=1" --exit-idle-time=-1 184 | pacmd load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1 auth-anonymous=1 185 | 186 | 187 | virgl_test_server_android & 188 | 189 | 190 | proot-distro login archlinux --user user --shared-tmp -- bash -c "export DISPLAY=:0 PULSE_SERVER=tcp:127.0.0.1; dbus-launch --exit-with-session startxfce4" 191 | ``` 192 | 然后给脚本赋予执行权限 193 | ``` 194 | chmod +x .shortcuts/startproot.sh 195 | ``` 196 | 最后在手机桌面添加Termux Widget提供的小部件,点击一下小部件右上角的刷新按钮就可以使用一键启动脚本了。 197 | 198 | ## 安装JAVA环境 199 | 我们在之前的步骤里面已经安装好了linux容器的桌面环境,之后就可以全程在linux容器中进行操作。 200 | 201 | 1.下载JAVA 202 | 203 | 由于arch并没有在软件源中提供arm版本的java以供安装,所以我们需要手动下载并设置JAVA环境,打开[微软打包版本的openjdk](https://learn.microsoft.com/zh-cn/java/openjdk/download),找到提供的最新版本中的linux aarch64版本,下载类型为tar.gz的文件,下载完成后将其解压,并放在一个合适的位置。 204 | 205 | 2.设置JAVA环境变量 206 | 207 | 打开`/etc/profile` 208 | ``` 209 | vim /etc/profile 210 | ``` 211 | 在文件末尾添加以下内容 212 | ``` 213 | export JAVA_HOME=这里替换成你存放刚才解压的JAVA的路径 214 | export JRE_HOME=${JAVA_HOMR}/jre 215 | export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib 216 | export PATH=${JAVA_HOME}/bin:$PATH 217 | ``` 218 | 保存退出后输入`source /etc/profile`重载文件以应用环境变量。随后输入`java --version`以确认环境变量是否起效。 219 | ![Screenshot_2023-10-15-15-54-51-417_com termux](https://github.com/Agreous/liliths-throne-on-android/assets/46571579/f4da0945-b718-401c-a19a-80dc1b1253a1) 220 | 成功时的显示如图所示 221 | 222 | 223 | ## 关于游戏启动 224 | 启动游戏的方法很简单,在游戏根目录打开终端,输入`java -jar 游戏主文件.jar`就可以启动游戏,但需要注意的是`java -jar`这一命令对文件名有着较为严格的要求,在使用前需要将游戏主文件文件名内的空格和特殊字符删除。 225 | 226 | ## 如何在手机与proot容器之间共享文件 227 | 下载并安装[MT管理器](https://mt2.cn/download/),在termux程序下输入`termux-setup-storage`,对给出的任何提示无脑按y,之后打开MT管理器,点击程序主界面左上角的三条横线就可以看到Termux Home选项卡了。我们安装的proot容器文件位于该文件夹内的/installed-rootfs/archlinux文件夹当中。 228 | 229 | ## 最终效果 230 | ![Screenshot_2023-10-13-13-50-11-539_com termux x11](https://github.com/Agreous/liliths-throne-on-android/assets/46571579/46424a9c-b26c-42f1-b61b-c6c195bb7726) 231 | 232 | #### 那么,该从哪里获取aarch64版本的游戏呢 233 | [sir,this way](https://github.com/CKRainbow/liliths-throne-localization/tags) 234 | 235 | 或者你也可以自己编译,但那就是另一段故事了 236 | 237 | #### 我看作者提供的jar版本游戏是全平台通用的啊,为什么到你这里就需要分平台了呢 238 | 因为作者提供的jar版本游戏不包含任何依赖库文件,而依赖之一javafx在很多平台的高版本openjdk中并不包含,就算是提供了openjfx(一个东西)包的平台通常也因为分包安装导致java无法直接调用需要的库文件,导致运行作者给出的jar文件通常会报错。为游戏打包依赖库文件可以解决这个问题,但是就需要根据目标平台来打包所需的依赖库文件了。因此就失去了平台通用性。 239 | 240 | 241 | ## 参考资料 242 | [ivon's blog](https://ivonblog.com/posts/termux-proot-distro-archlinux/#5-%E5%AE%89%E8%A3%9D%E6%A1%8C%E9%9D%A2%E7%92%B0%E5%A2%83%E5%92%8C%E5%B8%B8%E7%94%A8%E5%B7%A5%E5%85%B7) 243 | 244 | [参考安装视频](https://www.bilibili.com/video/BV1we4y1p73H) 245 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # 莉莉丝的王座安卓手机运行教程(施工中) 2 | 如果你不会,就先看看[这个视频](https://www.bilibili.com/video/BV1we4y1p73H) 3 | 4 | ### 前言 5 | 由于莉莉丝的王座是使用JAVA进行开发的游戏,并不能方便的移植到移动端基于安卓的设备上。因此本文将通过使用termux安装proot linux容器的方式来曲线实现在安卓手机上游玩莉莉丝的王座。 6 | 7 | ### 警告 8 | 因为我们需要在手机上额外跑一个近乎完整的linux桌面环境,因此需要有至少6GB的系统内存和至少10GB的储存空间才能完成这一教程。同时,因为本教程采用无需root的proot容器方案,会对linux容器的运行造成一定的性能损失,以及无法使用大部分的硬件图形加速能力。 9 | 10 | ### 安装应用程序 11 | 为了安装proot容器和linux桌面环境并实现一键启动,我们需要安装以下app:[termux](https://github.com/termux/termux-app),[termux-x11](https://github.com/termux/termux-x11),[termux-api](https://github.com/termux/termux-api),[termux-widget](https://github.com/termux/termux-widget)。点击链接进入对应github页面之后下载releases中最新发布版本,对于termux,选择后缀带有universal的安装包,对于termux-x11,进入github页面后点击Actions页面选择最新build下载带有universal后缀的压缩包解压得到安装包。 12 | 13 | ## 初步设置 14 | 打开termux之后,下滑通知栏,点击termux通知中的`ACQUIRE WAKELOCK`按钮使termux可以在后台运行。 15 | ![Screenshot_20231110-153646_Termux](https://github.com/Agreous/liliths-throne-on-android/assets/46571579/dffd57db-6d3d-4fc2-90e4-bff5baa46053) 16 | 17 | 之后在termux中输入`termux-change-repo`命令对termux的默认软件源进行替换。输入命令后会进入一个伪图形界面,第一步直接按回车跳过,第二部用termux工具栏提供的方向键向下移动到需要的镜像源后按空格选择,按回车继续。随后输入`pkg install x11-repo root-repo tur-repo`安装需要的软件源。 18 | ![Screenshot_20231110-153716_Termux](https://github.com/Agreous/liliths-throne-on-android/assets/46571579/337d9b84-2c3b-4192-a5d2-6f7a9c0d2daa) 19 | ![Screenshot_20231110-165021_Termux](https://github.com/Agreous/liliths-throne-on-android/assets/46571579/a8a49d85-5f39-4183-a5f2-f8682691407e) 20 | 21 | 22 | 安装好软件源之后先输入`pkg upgrade`进行软件升级。再输入`termux-change-repo`命令对新安装的软件源进行换源,如图所示 23 | ![Screenshot_20231110-154006_Termux](https://github.com/Agreous/liliths-throne-on-android/assets/46571579/e6f16bda-e6a6-4678-88f2-c4ec9748e54b) 24 | ![Screenshot_20231110-154023_Termux](https://github.com/Agreous/liliths-throne-on-android/assets/46571579/f9a37419-07ed-4196-bd35-3562caea9b19) 25 | 26 | 27 | 28 | 29 | 最后输入`pkg install proot-distro pulseaudio vim virglrenderer-android termux-x11-nightly`安装所需的termux软件包。 30 | 31 | ### 安装linux容器 32 | 输入以下命令安装一个arch linux的proot容器,你可以使用`proot-distro list`命令来查看所有可用的发行版,但是本文只会以debian作为教程基础。 33 | (在进行这一步的时候可能需要挂梯子) 34 | 35 | ``` 36 | proot-distro install debian 37 | ``` 38 | 39 | 安装后使用以下命令登入容器,--user参数表示登录指定帐户,在初始状态下仅有root。--shared-tmp则是將Termux的tmp目录挂载到proot內部以共享X服务器资源(之后会用到,这里可以不加)。 40 | 41 | ``` 42 | proot-distro login debian --user root --shared-tmp 43 | ``` 44 | 45 | ### 切换软件源,更新系统并进行linux基本设置 46 | #### 切换软件源 47 | 在进入linux系统之后,我们要做的第一件事就是将系统软件源更换为国内镜像源以方便后续软件安装,用系统自带的vim对`/etc/apt/sources.list`进行编辑。 48 | 49 | ``` 50 | vim /etc/apt/sources.list 51 | ``` 52 | 53 | 按i进入编辑模式,将所有内容删除,替换为 54 | 55 | ``` 56 | deb http://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm main contrib non-free non-free-firmware 57 | # deb-src http://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm main contrib non-free non-free-firmware 58 | 59 | deb http://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-updates main contrib non-free non-free-firmware 60 | # deb-src http://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-updates main contrib non-free non-free-firmware 61 | 62 | deb http://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-backports main contrib non-free non-free-firmware 63 | # deb-src http://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-backports main contrib non-free non-free-firmware 64 | 65 | deb http://mirrors.tuna.tsinghua.edu.cn/debian-security bookworm-security main contrib non-free non-free-firmware 66 | # deb-src http://mirrors.tuna.tsinghua.edu.cn/debian-security bookworm-security main contrib non-free non-free-firmware 67 | ``` 68 | 然后按esc退出编辑模式,输入:wq保存退出,最后输入`apt update`刷新软件源完成工作。 69 | 具体软件源设置参考[清华大学源](https://mirrors.tuna.tsinghua.edu.cn/help/debian/)的帮助 70 | 71 | #### 更新系统并进行linux基本设置 72 | 输入`apt upgrade`更新系统,完成后开始对linux系统进行基本设置: 73 | 74 | 1.为root用户设置密码 75 | ``` 76 | passwd 77 | ``` 78 | 2.增加普通用户,并为普通用户设置用户组,并设置密码 79 | ``` 80 | apt install sudo vim 81 | groupadd storage 82 | groupadd wheel 83 | groupadd video 84 | useradd -m -g users -G wheel,audio,video,storage -s /bin/bash user 85 | passwd user 86 | ``` 87 | 在linux中root用户拥有着系统的最高权限,因此我们不能时刻用root账户进行登录,同时我们要为之后安装桌面环境对用户组进行设置,其中的`user`可以替换为你想要的用户名。 88 | 89 | 3.赋予普通用户使用root权限的能力,编辑`/etc/sudoers` 90 | 91 | ``` 92 | vim /etc/sudoers 93 | 94 | 在root ALL=(ALL) ALL的下一行加入以下內容: 95 | 96 | user ALL=(ALL) ALL 97 | ``` 98 | 最后就可以切换到普通用户账号了,之后都是用这个普通用户账号进行操作。 99 | 100 | ``` 101 | su user 102 | ``` 103 | 注意,此处以及下文中的所有user都可以替换为你自己的用户名。 104 | ### 安装所需工具与桌面环境 105 | 1.安装中文字体,输入法与一些工具 106 | 107 | ``` 108 | sudo apt install network-manager pulseaudio fonts-noto-cjk git fcitx5* locales 109 | ``` 110 | 111 | 2.设定系统时区与语言,输入法 112 | 113 | 输入以下命令将系统时区设置为上海(GMT+8) 114 | 115 | ``` 116 | sudo ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime 117 | ``` 118 | 然后编辑`/etc/locale.gen`文件,找到其中被注释的`#zh_CN.UTF-8`,取消注释。 119 | 120 | 输入以下命令生成语言设定 121 | ``` 122 | sudo locale-gen 123 | sudo echo "LANG=zh_CN.UTF-8" >> /etc/locale.conf 124 | ``` 125 | 如果此步完成后语言仍未设置成中文,则输入`source /etc/locale.conf`,可以用`apt`命令的输出作为参考。 126 | 最后编辑`/.profile`,在文件尾添加以下内容 127 | ``` 128 | fcitx5 & 129 | GTK_IM_MODULE=fcitx 130 | QT_IM_MODULE=fcitx 131 | XMODIFIERS=@im=fcitx 132 | SDL_IM_MODULE=fcitx 133 | GLFW_IM_MODULE=ibus 134 | ``` 135 | 136 | 4.安装桌面环境 137 | 138 | 由于proot容器缺少systemd,gnome无法启动,因此我们可选的常用桌面环境仅剩下KDE和xfce,KDE美观性更好,但是更吃资源,并且动画在软件渲染下表现不佳。因此也可选用更轻量的xfce。下面会给出两种桌面环境的安装命令,按需选择。 139 | 140 | 安装KDE 141 | ``` 142 | sudo apt install kde-standard 143 | ``` 144 | 145 | 安装xfce 146 | ``` 147 | sudo apt install xfce4 xfce4-goodies 148 | ``` 149 | 150 | ## 设置一键启动 151 | 首先需要确保[termux-api](https://github.com/termux/termux-api)和[termux-widget](https://github.com/termux/termux-widget)都已被安装,随后赋予termux允许显示在其他应用上层权限。然后在termux程序内(注意,不是proot容器内,如果你在proot容器内,输入exit命令退出proot容器)输入以下命令创建用于一键启动的脚本 152 | ``` 153 | mkdir .shortcuts 154 | vim .shortcuts/startproot.sh 155 | ``` 156 | 随后根据前面选择安装的桌面环境选择下面两个内容之一填入脚本当中 157 | 158 | 使用KDE 159 | ``` 160 | #!/bin/bash 161 | 162 | 163 | killall -9 termux-x11 Xwayland pulseaudio virgl_test_server_android termux-wake-lock 164 | 165 | 166 | termux-toast "Starting X11" 167 | am start --user 0 -n com.termux.x11/com.termux.x11.MainActivity 168 | XDG_RUNTIME_DIR=${TMPDIR} 169 | termux-x11 :0 -ac & 170 | sleep 3 171 | 172 | 173 | pulseaudio --start --load="module-native-protocol-tcp auth-ip-acl=127.0.0.1 auth-anonymous=1" --exit-idle-time=-1 174 | pacmd load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1 auth-anonymous=1 175 | 176 | 177 | virgl_test_server_android & 178 | 179 | 180 | proot-distro login debian --user user --shared-tmp -- bash -c "export DISPLAY=:0 PULSE_SERVER=tcp:127.0.0.1; dbus-launch --exit-with-session startplasma-x11" 181 | ``` 182 | 183 | 使用xfce 184 | ``` 185 | #!/bin/bash 186 | 187 | 188 | killall -9 termux-x11 Xwayland pulseaudio virgl_test_server_android termux-wake-lock 189 | 190 | 191 | termux-toast "Starting X11" 192 | am start --user 0 -n com.termux.x11/com.termux.x11.MainActivity 193 | XDG_RUNTIME_DIR=${TMPDIR} 194 | termux-x11 :0 -ac & 195 | sleep 3 196 | 197 | 198 | pulseaudio --start --load="module-native-protocol-tcp auth-ip-acl=127.0.0.1 auth-anonymous=1" --exit-idle-time=-1 199 | pacmd load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1 auth-anonymous=1 200 | 201 | 202 | virgl_test_server_android & 203 | 204 | 205 | proot-distro login debian --user user --shared-tmp -- bash -c "export DISPLAY=:0 PULSE_SERVER=tcp:127.0.0.1; dbus-launch --exit-with-session xfce4-session" 206 | ``` 207 | 然后给脚本赋予执行权限 208 | ``` 209 | chmod +x .shortcuts/startproot.sh 210 | ``` 211 | 最后在手机桌面添加Termux Widget提供的小部件,点击一下小部件右上角的刷新按钮就可以使用一键启动脚本了。 212 | 213 | ## 手动启动桌面环境 214 | 在termux程序主界面右滑呼出菜单,选择NEW SESSION建立一个新的会话。在这个新会话当中输入`termux-x11 :1`启动X11服务器,然后切回第一个会话,登录容器,输入`export DISPLAY=:1`回车后按你安装的桌面环境输入`startplasma-x11`或`xfce4-session`。最后切出桌面启动termux-x11程序即可使用桌面环境。 215 | 216 | ## 安装JAVA环境 217 | debian的软件源中有openjdk,因此可以直接安装。 218 | 输入`sudo apt install openjdk-17-jdk`即可安装。 219 | 220 | 221 | ## 关于游戏启动 222 | 启动游戏的方法很简单,在游戏根目录打开终端,输入`java -jar 游戏主文件.jar`就可以启动游戏,但需要注意的是`java -jar`这一命令对文件名有着较为严格的要求,在使用前需要将游戏主文件文件名内的空格和特殊字符删除。 223 | 224 | ## 如何在手机与proot容器之间共享文件 225 | 下载并安装[MT管理器](https://mt2.cn/download/),在termux程序下输入`termux-setup-storage`,对给出的任何提示无脑按y,之后打开MT管理器,点击程序主界面左上角的三条横线就可以看到Termux Home选项卡了。我们安装的proot容器文件位于该文件夹内的/installed-rootfs/debian文件夹当中。 226 | 227 | ## 最终效果 228 | ![Screenshot_2023-10-13-13-50-11-539_com termux x11](https://github.com/Agreous/liliths-throne-on-android/assets/46571579/46424a9c-b26c-42f1-b61b-c6c195bb7726) 229 | 230 | ### FAQ 231 | 232 | #### 那么,该从哪里获取aarch64版本的游戏呢 233 | [sir,this way](https://github.com/chinese-liliths-throne/liliths-throne-chinese-localization/tags) 234 | 235 | 或者你也可以自己编译,但那就是另一段故事了 236 | 237 | #### 我看作者提供的jar版本游戏是全平台通用的啊,为什么到你这里就需要分平台了呢 238 | 因为作者提供的jar版本游戏不包含任何依赖库文件,而依赖之一javafx在很多平台的高版本openjdk中并不包含,就算是提供了openjfx(和javafx是一样的)包的平台通常也因为分包安装导致java无法直接调用需要的库文件,导致运行作者给出的jar文件通常会报错。为游戏打包依赖库文件可以解决这个问题,但是就需要根据目标平台来打包所需的依赖库文件了。因此就失去了平台通用性。 239 | 240 | #### 之前的教程是以arch linux为基础的,为什么要换成debian呢 241 | 因为大费周章安装一个linux容器就为了玩一个黄油实在是太浪费了,日后你还可以参照其他教程为这个容器安装box86/box64和wine来玩更多黄油,而arm版的arch linux是单架构发行版,不能提供32位的库文件,会对之后安装这些东西造成阻碍。因此我更换了教程所使用的发行版。 242 | 更新:wine9.0对wow64模式有了进一步的支持,理论上只需要64位库也能运行32位软件。 243 | 244 | ## 参考资料 245 | [ivon's blog](https://ivonblog.com/posts/termux-proot-distro-debian/) 246 | 247 | [参考安装视频](https://www.bilibili.com/video/BV1we4y1p73H) 248 | --------------------------------------------------------------------------------