Files
tiny_computer/README.md
2023-10-09 06:47:57 +08:00

3.5 KiB
Raw Permalink Blame History

小小电脑

即开即用的类PC环境内置火狐浏览器和fcitx输入法等常用软件

Click-to-run debian bookworm xfce on android for Chinese users, with fcitx pinyin input method preinstalled. No termux required.

原理

使用proot运行debian环境

内置noVNC显示图形界面

初次启动由于解压的缘故要点时间 以后点开就能用

只支持arm64安卓

项目结构

assets的文件来源如下:

其中tar、busybox和pulseaudio相关文件都是直接用了二进制文件。

对debian容器进行了如下修改

  • 使用tmoe安装了xfce环境和全套VNC
  • 使用kali-undercover提供的Win10主题美化xfce
  • (使用tmoe)安装了fcitx输入法和云拼音组件。按<Ctrl+空格>切换输入法。
    • 强烈建议不要使用安卓中文输入法直接输入中文,而是使用英文键盘通过容器的输入法输入中文,避免丢字错字。
  • 对noVNC进行修改添加了scale factor滑块控制缩放(scale_factor分支)添加了上下左右shift等按键(arrow_key分支),添加了强制显示原系统光标的功能(force_cursor分支),添加了中文翻译(translation_zh_cn分支)
  • 在主目录下可以方便地访问手机存储(如果提供了存储权限的话)
  • 启动时会尝试挂载手机的一些字体目录(AppFiles/Fonts、Fonts和/system/fonts), 如果这些目录下有字体文件的话会一并加载到系统中,无需额外安装;
  • 最后采用tar.xz压缩用split命令分成了xa*等多个文件(低内存设备一次性拷贝大文件会导致软件闪退)。

数据包不再在assets中更新而是随releases提供主要是为了避免git越来越大

lib目录

  • main.dart文件页面布局老实说已经有点乱了
  • workflow.dart文件逻辑部分目前也还可以理解
    • Util 工具类
    • TermPty 一个终端
    • G 全局变量类
    • Workflow 从软件点开到容器启动的所有步骤

目前已知bug

多用户/分身情形无法sudo, 其它见issue

一些链接

这是我的第一个flutter软件感谢这些项目为我指路

Getting Started

This project is a starting point for a Flutter application.

A few resources to get you started if this is your first Flutter project:

For help getting started with Flutter development, view the online documentation, which offers tutorials, samples, guidance on mobile development, and a full API reference.