Skip to content

Latest commit

 

History

History
174 lines (115 loc) · 7.54 KB

README_CN.md

File metadata and controls

174 lines (115 loc) · 7.54 KB

[中文|EN]

关于 lemoe

lemoelemon moe (🍋萌) 的缩写。

该项目的灵感来源于 tmoe

但与 tmoe 不同的是:

  • 该项目旨在提供一个易于使用的命令行工具,在 termux 中用一条命令 构建部署 Linux 发行版。
  • 该项目提供了集成应用程序的接口,以便在 构建 过程中自动集成你的应用程序,然后你可以轻松地重新分发镜像。

特性:

  • Lemoe 通过一条命令 bash lemoe.sh 即可部署并启动 Linux 发行版,并提供 X11 图形界面支持。
  • Lemoe 使用 termux:x11 来获得比 VNC 更好的图形性能。
  • Lemoe 注重生产力工具,预装了 chromium、vscode、fcitx5 等。
  • Lemoe 可以轻松 备份/恢复 发行版镜像和用户配置文件。

快速开始

  1. 从你喜爱的应用商店安装 TermuxZeroTermux 应用。

  2. 官方发布页安装最新 termux-x11 应用。

  3. 克隆代码库

可以将代码库克隆到设备的Download目录下。第5步将以此为基础。

git clone https://github.com/lesca/lemoe.git
  1. 下载发行版镜像

你可以下载 base 镜像,并将其放入 lemoe/backups 文件夹。

另外,你也可以自行构建镜像,命令为 lemoe.sh build

  1. 首次运行
termux-change-repo && pkg install termux-am && termux-setup-storage && ln -sf storage/downloads/lemoe && bash lemoe/lemoe.sh

Tip

提示: Documents 和 Download 目录已挂载在 /media 目录下,以方便使用。

使用方法

命令指南

命令 描述 默认设置
lemoe.sh 启动X11。 默认启动debian,并以Lemoe用户登录。您可以通过lemoe.sh config更改。
lemoe.sh config distro <distro> 配置发行版。 默认为debian。配置文件为.lemoe
lemoe.sh config user <user> 配置发行版用户。 默认用户为Lemoe。配置文件为.lemoe
lemoe.sh config dpi <num> 通过指定数字配置发行版DPI。对于2.5~3K显示器,建议使用200。 默认为200。
lemoe.sh build 构建自定义镜像。 默认发行版为debian。您可以通过lemoe.sh config更改。
lemoe.sh reset 从安装位置删除配置的发行版。您可以稍后restorebuild 默认情况下,它会移除在.lemoe中配置的发行版。
lemoe.sh backup 分别备份发行版基础镜像、发行版配置文件和termux配置文件。更多信息,请参考备份页面。 默认情况下,备份保存如下:
发行版镜像:backups/$DISTRO-base-yyyyMMdd-hhmmss.tar.gz
发行版配置文件:backups/$DISTRO-profile-yyyyMMdd-hhmmss.tar.gz
termux配置文件:backups/termux-profile-yyyyMMdd-hhmmss.tar.gz
lemoe.sh restore 分别恢复发行版基础镜像和发行版配置文件。更多信息,请参考备份页面。 默认情况下,它查找以下文件:
发行版镜像:backups/$DISTRO-base.tar.gz
发行版配置文件:backups/$DISTRO-profile.tar.gz
lemoe.sh login [user_name] 以命令行(bash)模式登录配置的发行版,以root用户身份。 默认登录用户为root
lemoe.sh lazypack 立即对当前项目打包成懒人包,保存为 zip 文件。 默认包的名称格式为 lemoe-$DISTRO-yyyyMMdd-hhmmss.zip
默认的包目录为 ../lazy-packs-lemoe

构建你自己的镜像

确保你的设备能够顺畅访问 github,然后运行以下命令:

bash lemoe.sh build

默认的发行版是 Debian,用户名是 Lemoe。如果你想用其他设置,需要先 config 之后再 build

配置发行版:

bash lemoe.sh config distro <archlinux|debian>

配置用户名:

bash lemoe.sh config user <your_name>

配置会被保存在 .lemoe 文件中,供下次运行使用。

开发指南

添加一个新应用

主要步骤

你可以将自己的应用添加到相应的发行版文件夹中,例如 debian 或 archlinux。

要添加一个新应用,请按照以下步骤操作:

  1. 创建一个名为 xx_app.sh 的脚本文件,其中 xx 是一个两位数数字,数字越小,优先级越高;app 表示应用名称。
  2. 在脚本中的 install_app() 函数中定义安装步骤。
  3. (可选)在脚本中的 setup_user_app() 函数中定义应用的用户配置。

示例

以下是 ime 应用的示例。它定义在文件 lemoe/debian/02_ime.sh 中。

  • install_ime() 是用于安装该应用的函数。它以 root 身份运行。
    • 你需要将 ime 替换为自己的应用名称。
    • 你可以通过运行 lemoe.sh install_ime 进行测试。
    • build 过程中,会自动调用该函数安装应用。
  • setup_user_ime() 用于在用户创建过程中设置应用的函数。它以发行版用户身份运行,默认情况下是 Lemoe
    • 你需要将 ime 替换为自己的应用名称。
    • 你可以通过运行 lemoe.sh setup_user_ime 进行测试。
    • 在用户创建过程中,会自动调用该函数配置用户应用。
# install software
install_ime() {
    PKGS="fcitx5 fcitx5-chinese-addons fcitx5-material-color"
    $DISTRO_LOGIN -- apt install -y $PKGS

    # export to environment
    if ! grep -q "XMODIFIERS" $DISTRO_ROOTFS/etc/environment; then
        echo "GTK_IM_MODULE=fcitx" >> $DISTRO_ROOTFS/etc/environment
        echo "QT_IM_MODULE=fcitx" >> $DISTRO_ROOTFS/etc/environment
        echo "XMODIFIERS=@im=fcitx" >> $DISTRO_ROOTFS/etc/environment
    fi
}

# post user setup after installation
setup_user_ime() {
    # auto start
    $DISTRO_LOGIN --user $DISTRO_USER -- bash -c "mkdir -p ~/.config/autostart && cp /usr/share/applications/org.fcitx.Fcitx5.desktop ~/.config/autostart"
}

故障排除

没有声音

尝试以下操作:

  1. 完全关闭 termux 并重新启动

  2. 如果你正在使用蓝牙耳机,请关闭蓝牙并再次尝试。

已知问题:如果蓝牙音频设备连接且处于空闲状态,播放将不工作。

  1. 如果仍然不工作,请运行以下命令:
bash lemoe.sh fix_audio

这将 pulseaudio 模块从 load-module module-sles-sink 更改为 load-module module-aaudio-sink

这适用于华为设备,并且会在你首次运行时自动应用。

对于其他设备,这也值得一试。

Note

注意:记得完全关闭 termux 并重新开始。

Process completed (singal 9)

adb shell 中运行以下命令以解除进程数量限制:

device_config set_sync_disabled_for_tests persistent
device_config put activity_manager max_phantom_processes 2147483647