mirror of
https://github.com/Cateners/tiny_computer.git
synced 2026-05-21 00:45:49 +08:00
Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ee230f91dd | ||
|
|
b5cbda42cb | ||
|
|
fd535f0e20 |
Binary file not shown.
@@ -5,7 +5,7 @@
|
|||||||
|
|
||||||
因为我不会,所以只能用自然语言记录一下制作步骤。
|
因为我不会,所以只能用自然语言记录一下制作步骤。
|
||||||
|
|
||||||
## 制作步骤
|
## 制作步骤(xfce和lxqt)
|
||||||
|
|
||||||
### 安装Debian容器
|
### 安装Debian容器
|
||||||
|
|
||||||
@@ -164,18 +164,27 @@ tmoe还会安装gnome-keyring,由于之前我做xfce包时会造成VSCode反
|
|||||||
|
|
||||||
#### WPS
|
#### WPS
|
||||||
|
|
||||||
|
**(20241112)注意,新版wps不再需要将整合模式改为多组件模式也能正常使用,所以可以跳过软件设置修改的步骤**
|
||||||
|
|
||||||
- 软件设置修改
|
- 软件设置修改
|
||||||
- 从官网下载WPS linux arm64 deb安装包,直接在图形界面点开用gdebi安装(正好测试一下gdebi是否能用)
|
- 从官网下载WPS linux arm64 deb安装包,直接在图形界面点开用gdebi安装(正好测试一下gdebi是否能用)
|
||||||
- 打开WPS-右上角设置-其他-切换窗口管理模式-整合模式改为多组件模式(否则一些设备在新建文档等操作时卡死,目前原因不明)
|
- 打开WPS-右上角设置-其他-切换窗口管理模式-整合模式改为多组件模式(否则一些设备在新建文档等操作时卡死,目前原因不明)
|
||||||
- 使用gdebi(或自行)卸载WPS
|
- 使用gdebi(或自行)卸载WPS
|
||||||
- 字体修补
|
|
||||||
- 在你的Windows电脑里的C:\Windows\Fonts文件夹找到symbol.ttf、webdings.ttf、wingding.ttf、WINGDNG2.TTF、WINGDNG3.TTF、MTEXTRA.TTF字体并放到容器/usr/share/fonts的某个文件夹下(我新建了extra文件夹并把这些字体放到里面)
|
|
||||||
- libtiff.so.5库修补
|
- libtiff.so.5库修补
|
||||||
- 切换到/lib/aarch64-linux-gnu文件夹,创建软链把libtiff.so.6链接到libtiff.so.5
|
- 切换到/lib/aarch64-linux-gnu文件夹,创建软链把libtiff.so.6链接到libtiff.so.5
|
||||||
- 或者找libtiff.so.5的包并安装,这样可能更好一些
|
- 或者找libtiff.so.5的包并安装,这样可能更好一些
|
||||||
- 预装ttf-mscorefonts-installer
|
- 预装ttf-mscorefonts-installer
|
||||||
- 这个包是WPS的依赖,会在sourceforge下载字体,可能会非常慢,所以提前apt装好
|
- 这个包是WPS的依赖,会在sourceforge下载字体,可能会非常慢,所以提前apt装好
|
||||||
|
|
||||||
|
|
||||||
|
### 额外步骤
|
||||||
|
|
||||||
|
- 修复系统更新时变英文(v1.0.19):把/etc/locale.gen文件里包含zh_CN.UTF-8的那行代码解除注释
|
||||||
|
- 修复了xfce使用Termux:X11时占用过高(v1.0.19):把底部面板的电量管理插件移除(右键-面板-面板首选项-项目)
|
||||||
|
- 不弹出终端窗口(v1.0.18):把/etc/X11/xinit/Xsession文件倒数第二行open_terminal删掉
|
||||||
|
- 关闭垂直同步以使用Turnip+Zink(v1.0.17):把文件~/.config/xfce4/xfconf/xfce-perchannel-xml/xfwm4.xml内vblank_mode值从auto改为off
|
||||||
|
- xfce版本安装了图片查看器ristretto和压缩文件管理器xarchiver(v1.0.16)
|
||||||
|
|
||||||
### 打包
|
### 打包
|
||||||
|
|
||||||
- 首先退出容器,在容器挂载选项里取消对sd和termux的挂载,之后进入容器删除termux软连接
|
- 首先退出容器,在容器挂载选项里取消对sd和termux的挂载,之后进入容器删除termux软连接
|
||||||
@@ -196,3 +205,67 @@ tmoe还会安装gnome-keyring,由于之前我做xfce包时会造成VSCode反
|
|||||||
- 等等
|
- 等等
|
||||||
- 切换到root用户,切换到根目录,`/busybox tar -Jcpvf /debian.tar.xz --exclude=debian.tar.xz --exclude=dev --exclude=proc --exclude=system --exclude=storage --exclude=apex --exclude=sys --exclude=media/sd --exclude=busybox --exclude=".l2s.*" /`
|
- 切换到root用户,切换到根目录,`/busybox tar -Jcpvf /debian.tar.xz --exclude=debian.tar.xz --exclude=dev --exclude=proc --exclude=system --exclude=storage --exclude=apex --exclude=sys --exclude=media/sd --exclude=busybox --exclude=".l2s.*" /`
|
||||||
|
|
||||||
|
|
||||||
|
## 制作步骤(GXDE OS)
|
||||||
|
|
||||||
|
### 咕咕咕
|
||||||
|
|
||||||
|
其实流程和前面差不多。基本上就是 装图形界面->修复中文->修复tmoe->修non-free-firmware->(随便看看空间占用,略)->修wps->准备busybox以便打包->添加Xsession文件以便启动
|
||||||
|
|
||||||
|
请看VCR:
|
||||||
|
```
|
||||||
|
1 exit
|
||||||
|
2 sudo apt install sd/Download/gxde-source_1.0.1_all.deb
|
||||||
|
3 sudo apt install ./sd/Download/gxde-source_1.0.1_all.deb
|
||||||
|
4 sudo apt update
|
||||||
|
5 sudo apt install gxde-testing-source
|
||||||
|
6 sudo apt update
|
||||||
|
7 sudo apt install gxde-desktop-android --no-install-recommends
|
||||||
|
8 nano /etc/locale.gen
|
||||||
|
9 cd /usr/local/etc/tmoe-linux/git/share
|
||||||
|
10 nano replace.sh
|
||||||
|
11 ./replace.sh old-version
|
||||||
|
12 chmod +x replace.sh
|
||||||
|
13 ./replace.sh old-version
|
||||||
|
14 rm replace.sh
|
||||||
|
15 cd
|
||||||
|
16 tmoe
|
||||||
|
17 nano /etc/apt/sources.list
|
||||||
|
18 sudo apt update
|
||||||
|
19 nano /etc/apt/sources.list
|
||||||
|
20 sudo apt update
|
||||||
|
21 cd /var/log
|
||||||
|
22 ls -l
|
||||||
|
23 du -h --max-depth=1 | sort -h
|
||||||
|
24 cd ..
|
||||||
|
25 du -h --max-depth=1 | sort -h
|
||||||
|
26 cd cache/
|
||||||
|
27 ls -l
|
||||||
|
28 sudo apt update ttf-mscorefonts-installer
|
||||||
|
29 sudo apt install ttf-mscorefonts-installer
|
||||||
|
30 cd /usr/lib/aarch64-linux-gnu/
|
||||||
|
31 ln -s libtiff.so.6 libtiff.so.5
|
||||||
|
32 history
|
||||||
|
33 cd /
|
||||||
|
34 cp home/tiny/termux/home/.local/share/tmoe-linux/containers/proot/debian-bookworm_arm64/busybox .
|
||||||
|
35 cd /etc/X11/xinit/
|
||||||
|
36 ls
|
||||||
|
37 cp ~/termux/home/.local/share/tmoe-linux/containers/proot/debian-bookworm_arm64/etc/X11/xinit/Xsession .
|
||||||
|
38 ls -l Xsession
|
||||||
|
39 cd /
|
||||||
|
40 ls -l busybox
|
||||||
|
41 exit
|
||||||
|
42 sudo apt clean;sudo apt autoclean;sudo apt autoremove --purge || sudo apt autoremove
|
||||||
|
43 history
|
||||||
|
44 history > /sd/history.txt
|
||||||
|
```
|
||||||
|
|
||||||
|
关于Xsession文件:
|
||||||
|
|
||||||
|
因为当前小小电脑代码写死了启动X11图形界面就通过执行/etc/X11/xinit/Xsession,如果通过tmoe安装图形界面这个文件是自带的,但安装GXDE没有通过tmoe,所以随便写了个:
|
||||||
|
```
|
||||||
|
rm -rf /run/dbus/pid
|
||||||
|
sudo dbus-daemon --system
|
||||||
|
export $(dbus-launch)
|
||||||
|
startgxde_android
|
||||||
|
```
|
||||||
@@ -25,18 +25,22 @@ linux在需要数据时,使用socket通知位于安卓的getifaddrs_bridge_ser
|
|||||||
|
|
||||||
源码和编译信息在getifaddrs_bridge文件夹查看。
|
源码和编译信息在getifaddrs_bridge文件夹查看。
|
||||||
|
|
||||||
#### extra/install-box, extra/install-wine:
|
#### extra/install-hangover, extra/install-hangover-stable:
|
||||||
|
|
||||||
这些是用于跨架构/跨系统支持的box86/box64和wine安装脚本。
|
这些是用于Windows应用支持的Hangover安装脚本。
|
||||||
|
|
||||||
#### extra/chn_fonts.reg, extra/XiaolaiMonoSC-Regular.ttf:
|
#### extra/chn_fonts.reg:
|
||||||
|
|
||||||
修复wine显示方块字的注册表文件和[小赖字体](https://github.com/lxgw/kose-font)。
|
修复wine显示方块字的注册表文件。
|
||||||
|
|
||||||
#### extra/libvulkan_freedreno.so, extra/freedreno_icd.aarch64.json:
|
#### extra/libvulkan_freedreno.so, extra/freedreno_icd.aarch64.json:
|
||||||
|
|
||||||
Turnip驱动。根据[这里](https://github.com/xDoge26/proot-setup/issues/26#issuecomment-1712404849)和[这里](https://github.com/MastaG/mesa-turnip-ppa)编译
|
Turnip驱动。根据[这里](https://github.com/xDoge26/proot-setup/issues/26#issuecomment-1712404849)和[这里](https://github.com/MastaG/mesa-turnip-ppa)编译
|
||||||
|
|
||||||
|
#### extra/cmatrix
|
||||||
|
|
||||||
|
快捷指令的彩蛋。原本放在容器里,但显然放这里更为合适
|
||||||
|
|
||||||
#### caj, edraw
|
#### caj, edraw
|
||||||
|
|
||||||
这些分别是cajviewer,亿图图示的补丁
|
这些分别是cajviewer,亿图图示的补丁
|
||||||
@@ -49,3 +53,8 @@ Turnip驱动。根据[这里](https://github.com/xDoge26/proot-setup/issues/26#i
|
|||||||
微信的补丁。license, uos-lsb和uos-release来自星火的微信包或arch的wechat-uos打包(嗯,我忘记到底是哪的了。不过都差不多)。
|
微信的补丁。license, uos-lsb和uos-release来自星火的微信包或arch的wechat-uos打包(嗯,我忘记到底是哪的了。不过都差不多)。
|
||||||
|
|
||||||
libssl1.1来自debian官方源。deepin-elf-verifier是我打的空包。
|
libssl1.1来自debian官方源。deepin-elf-verifier是我打的空包。
|
||||||
|
|
||||||
|
#### font
|
||||||
|
|
||||||
|
[小赖字体](https://github.com/lxgw/kose-font)用于修复wine的方块字
|
||||||
|
其他字体用于避免wps报字体缺失的错误
|
||||||
@@ -594,7 +594,7 @@ Virgl可为使用OpenGL ES的应用提供加速。"""),
|
|||||||
或者寻找该Windows软件官方是否提供Linux arm64版本。"""),
|
或者寻找该Windows软件官方是否提供Linux arm64版本。"""),
|
||||||
const SizedBox.square(dimension: 8),
|
const SizedBox.square(dimension: 8),
|
||||||
Wrap(alignment: WrapAlignment.center, spacing: 4.0, runSpacing: 4.0, children: [
|
Wrap(alignment: WrapAlignment.center, spacing: 4.0, runSpacing: 4.0, children: [
|
||||||
OutlinedButton(style: D.commandButtonStyle, child: const Text("安装Hangover稳定版(9.20)"), onPressed: () async {
|
OutlinedButton(style: D.commandButtonStyle, child: const Text("安装Hangover稳定版(9.22)"), onPressed: () async {
|
||||||
Util.termWrite("bash ~/.local/share/tiny/extra/install-hangover-stable");
|
Util.termWrite("bash ~/.local/share/tiny/extra/install-hangover-stable");
|
||||||
G.pageIndex.value = 0;
|
G.pageIndex.value = 0;
|
||||||
}),
|
}),
|
||||||
|
|||||||
@@ -394,7 +394,7 @@ VSCode、输入法
|
|||||||
{"name":"安装科学计算软件Octave", "command":"sudo apt update && sudo apt install -y octave"},
|
{"name":"安装科学计算软件Octave", "command":"sudo apt update && sudo apt install -y octave"},
|
||||||
{"name":"卸载Octave", "command":"sudo apt autoremove --purge -y octave"},
|
{"name":"卸载Octave", "command":"sudo apt autoremove --purge -y octave"},
|
||||||
{"name":"安装WPS", "command":r"""cat << 'EOF' | sh && sudo dpkg --configure -a && sudo apt update && sudo apt install -y /tmp/wps.deb
|
{"name":"安装WPS", "command":r"""cat << 'EOF' | sh && sudo dpkg --configure -a && sudo apt update && sudo apt install -y /tmp/wps.deb
|
||||||
wget https://mirrors.sdu.edu.cn/spark-store-repository/aarch64-store/office/wps-office/wps-office_11.1.0.11720-fix1_arm64.deb -O /tmp/wps.deb
|
wget https://mirrors.sdu.edu.cn/spark-store-repository/aarch64-store/office/wps-office/wps-office_11.1.0.11720-fix2_arm64.deb -O /tmp/wps.deb
|
||||||
EOF
|
EOF
|
||||||
rm /tmp/wps.deb"""},
|
rm /tmp/wps.deb"""},
|
||||||
{"name":"卸载WPS", "command":"sudo apt autoremove --purge -y wps-office"},
|
{"name":"卸载WPS", "command":"sudo apt autoremove --purge -y wps-office"},
|
||||||
@@ -771,7 +771,8 @@ ${G.dataPath}/bin/virgl_test_server ${Util.getGlobal("defaultVirglCommand")}""")
|
|||||||
if (Util.getGlobal("isJpEnabled")) {
|
if (Util.getGlobal("isJpEnabled")) {
|
||||||
extraOpt += "LANG=ja_JP.UTF-8 ";
|
extraOpt += "LANG=ja_JP.UTF-8 ";
|
||||||
}
|
}
|
||||||
extraMount += "--mount=\$DATA_DIR/tiny/extra/XiaolaiMonoSC-Regular.ttf:/usr/share/fonts/truetype/XiaolaiMonoSC-Regular.ttf ";
|
extraMount += "--mount=\$DATA_DIR/tiny/font:/usr/share/fonts/tiny ";
|
||||||
|
extraMount += "--mount=\$DATA_DIR/tiny/extra/cmatrix:/home/tiny/.local/bin/cmatrix ";
|
||||||
Util.termWrite(
|
Util.termWrite(
|
||||||
"""
|
"""
|
||||||
export DATA_DIR=${G.dataPath}
|
export DATA_DIR=${G.dataPath}
|
||||||
|
|||||||
28
pubspec.lock
28
pubspec.lock
@@ -101,10 +101,10 @@ packages:
|
|||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: equatable
|
name: equatable
|
||||||
sha256: c2b87cb7756efdf69892005af546c56c0b5037f54d2a88269b4f347a505e3ca2
|
sha256: "567c64b3cb4cf82397aac55f4f0cbd3ca20d77c6c03bedbc4ceaddc08904aef7"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.0.5"
|
version: "2.0.7"
|
||||||
fake_async:
|
fake_async:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
@@ -316,10 +316,10 @@ packages:
|
|||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: path_provider_android
|
name: path_provider_android
|
||||||
sha256: c464428172cb986b758c6d1724c603097febb8fb855aa265aeecc9280c294d4a
|
sha256: "8c4967f8b7cb46dc914e178daa29813d83ae502e0529d7b0478330616a691ef7"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.2.12"
|
version: "2.2.14"
|
||||||
path_provider_foundation:
|
path_provider_foundation:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
@@ -380,10 +380,10 @@ packages:
|
|||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: permission_handler_html
|
name: permission_handler_html
|
||||||
sha256: af26edbbb1f2674af65a8f4b56e1a6f526156bc273d0e65dd8075fab51c78851
|
sha256: "38f000e83355abb3392140f6bc3030660cfaef189e1f87824facb76300b4ff24"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.1.3+2"
|
version: "0.1.3+5"
|
||||||
permission_handler_platform_interface:
|
permission_handler_platform_interface:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
@@ -585,10 +585,10 @@ packages:
|
|||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: url_launcher_linux
|
name: url_launcher_linux
|
||||||
sha256: e2b9622b4007f97f504cd64c0128309dfb978ae66adbe944125ed9e1750f06af
|
sha256: "4e9ba368772369e3e08f231d2301b4ef72b9ff87c31192ef471b380ef29a4935"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "3.2.0"
|
version: "3.2.1"
|
||||||
url_launcher_macos:
|
url_launcher_macos:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
@@ -673,10 +673,10 @@ packages:
|
|||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: webview_flutter_android
|
name: webview_flutter_android
|
||||||
sha256: dec83a8da0a2dcd8a25418534cc59348dbc2855fa1dd0cc929c62b6029fde392
|
sha256: "285cedfd9441267f6cca8843458620b5fda1af75b04f5818d0441acda5d7df19"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "4.0.1"
|
version: "4.1.0"
|
||||||
webview_flutter_platform_interface:
|
webview_flutter_platform_interface:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
@@ -689,18 +689,18 @@ packages:
|
|||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: webview_flutter_wkwebview
|
name: webview_flutter_wkwebview
|
||||||
sha256: f14ee08021772fed913da8daebcfdeb46be457081e521e93e9918fe6cd1ce9e8
|
sha256: b7e92f129482460951d96ef9a46b49db34bd2e1621685de26e9eaafd9674e7eb
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "3.16.1"
|
version: "3.16.3"
|
||||||
win32:
|
win32:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: win32
|
name: win32
|
||||||
sha256: "84ba388638ed7a8cb3445a320c8273136ab2631cd5f2c57888335504ddab1bc2"
|
sha256: "8b338d4486ab3fbc0ba0db9f9b4f5239b6697fcee427939a40e720cbb9ee0a69"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "5.8.0"
|
version: "5.9.0"
|
||||||
win32_registry:
|
win32_registry:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev
|
|||||||
# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
|
# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
|
||||||
# In Windows, build-name is used as the major, minor, and patch parts
|
# In Windows, build-name is used as the major, minor, and patch parts
|
||||||
# of the product and file versions while build-number is used as the build suffix.
|
# of the product and file versions while build-number is used as the build suffix.
|
||||||
version: 1.0.19+15
|
version: 1.0.20+16
|
||||||
|
|
||||||
environment:
|
environment:
|
||||||
sdk: '>=3.1.0 <4.0.0'
|
sdk: '>=3.1.0 <4.0.0'
|
||||||
|
|||||||
Reference in New Issue
Block a user