Compare commits
66 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
553e5862ca | ||
|
|
125791e44c | ||
|
|
587e93ca31 | ||
|
|
b2d45c95ac | ||
|
|
b6b9ac61c7 | ||
|
|
45da44d078 | ||
|
|
77fec49a75 | ||
|
|
8cde9b878a | ||
|
|
b15fe80e83 | ||
|
|
ae88dea9c5 | ||
|
|
6425e0443e | ||
|
|
010cf544ea | ||
|
|
a4a2898214 | ||
|
|
b2b642e7c0 | ||
|
|
23968eb1fc | ||
|
|
2aac0e57d7 | ||
|
|
ed1c4aa9b1 | ||
|
|
f2eb3e0491 | ||
|
|
d17e515981 | ||
|
|
10f481f976 | ||
|
|
c10d2b733f | ||
|
|
417cf7feef | ||
|
|
7b219facfe | ||
|
|
ed3ec63212 | ||
|
|
8f26ed77e7 | ||
|
|
db4431d4c7 | ||
|
|
0793f589f2 | ||
|
|
1f8b83ddb1 | ||
|
|
ceca9a1892 | ||
|
|
4cb8bfb01e | ||
|
|
645e60cf83 | ||
|
|
350f4e93ef | ||
|
|
ee22cbc1d9 | ||
|
|
51c67ac546 | ||
|
|
ba43ec7ad0 | ||
|
|
1203dcf737 | ||
|
|
d9c4c24adc | ||
|
|
3b84c7da2c | ||
|
|
3a6d22956f | ||
|
|
8b5013a479 | ||
|
|
6d924bded9 | ||
|
|
6ff16e3559 | ||
|
|
cd8fea5f98 | ||
|
|
83a544acda | ||
|
|
c80be46909 | ||
|
|
90be3dc9ee | ||
|
|
45d60d6519 | ||
|
|
d8b4390c03 | ||
|
|
0e186e93f7 | ||
|
|
b788cea689 | ||
|
|
affc3173ef | ||
|
|
6b67ddaf9a | ||
|
|
009cd4ebe2 | ||
|
|
7e685fae64 | ||
|
|
91688ec4ae | ||
|
|
ba62910793 | ||
|
|
e1f24796b2 | ||
|
|
23b7889fcc | ||
|
|
db0689a9bd | ||
|
|
9f294af413 | ||
|
|
304df8ca96 | ||
|
|
c0795474cf | ||
|
|
1f596424f2 | ||
|
|
e86fb4e3a9 | ||
|
|
ee230f91dd | ||
|
|
b5cbda42cb |
@@ -5,7 +5,7 @@
|
||||
给所有安卓 9 以上 arm64 设备的“PC 应用引擎”平替。你可以在小小电脑上安装 PC 级 WPS、CAJ Viewer、亿图图示等软件。
|
||||
|
||||
|
||||
Run Debian Bookworm with XFCE, LXQt, or other desktop environments on Android—just with one click. Originally developed for Chinese users to run applications like WPS Office, it comes preinstalled with tools such as the Fcitx Pinyin input method. Please note that this app does not require Termux.
|
||||
Run Debian Trixie with XFCE, LXQt, or other desktop environments on Android—just with one click. Originally developed for Chinese users to run applications like WPS Office, it comes preinstalled with tools such as the Fcitx Pinyin input method. Please note that this app does not require Termux.
|
||||
|
||||
To change the language inside the container, simply run the `tmoe` command, select “Manager” and navigate to the locale settings. The root filesystem was built using [tmoe](https://github.com/2moe/tmoe), so locale configuration is handled through it. You will also need to update the `LANG=zh_CN.UTF-8` environment variable in the startup command (go to Control → Advanced Settings → Startup Command) when switching to another language.
|
||||
|
||||
|
||||
|
Before Width: | Height: | Size: 53 KiB After Width: | Height: | Size: 39 KiB |
|
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 1.6 KiB |
|
Before Width: | Height: | Size: 5.2 KiB After Width: | Height: | Size: 2.9 KiB |
|
Before Width: | Height: | Size: 3.7 KiB After Width: | Height: | Size: 3.3 KiB |
|
Before Width: | Height: | Size: 1.0 KiB After Width: | Height: | Size: 954 B |
|
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 1.6 KiB |
|
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 2.0 KiB |
|
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 2.3 KiB |
|
Before Width: | Height: | Size: 8.2 KiB After Width: | Height: | Size: 4.6 KiB |
|
Before Width: | Height: | Size: 5.5 KiB After Width: | Height: | Size: 4.8 KiB |
|
Before Width: | Height: | Size: 4.7 KiB After Width: | Height: | Size: 3.7 KiB |
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 8.4 KiB |
|
Before Width: | Height: | Size: 9.3 KiB After Width: | Height: | Size: 8.1 KiB |
|
Before Width: | Height: | Size: 7.5 KiB After Width: | Height: | Size: 5.6 KiB |
|
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 12 KiB |
@@ -1,4 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<color name="ic_launcher_background">#F17FA5</color>
|
||||
<color name="ic_launcher_background">#D1BAFD</color>
|
||||
</resources>
|
||||
@@ -160,6 +160,8 @@ tmoe还会安装gnome-keyring,由于之前我做xfce包时会造成VSCode反
|
||||
|
||||
#### cmatrix
|
||||
|
||||
**(20241112)注意,这一步可以略过,因为cmatrix已被内置到patch.tar.gz**
|
||||
|
||||
这个是给快捷指令的彩蛋。下载cmatrix的包,并将cmatrix文件提取放到/home/tiny/.local/bin里即可,记得添加执行权限
|
||||
|
||||
#### WPS
|
||||
@@ -185,9 +187,10 @@ tmoe还会安装gnome-keyring,由于之前我做xfce包时会造成VSCode反
|
||||
- sudo apt update, sudo apt full-upgrade, sudo apt autoremove
|
||||
- 取消内存分配器的更改
|
||||
- xfce版本重新修补了libtiff.so.5库
|
||||
- 升级到GXDE 25:
|
||||
- 升级到GXDE 25(gxde,v1.1.0):
|
||||
- 更换内存分配器
|
||||
- 使用AI重写的升级脚本(gxde-25-upgrade.sh),以便在不启动图形界面的情况下升级
|
||||
- 禁用电源管理(lxqt,v1.1.0):`mkdir -p ~/.config/autostart;cp /etc/xdg/autostart/lxqt-powermanagement.desktop ~/.config/autostart/;echo "Hidden=true" >> ~/.config/autostart/lxqt-powermanagement.desktop`
|
||||
- 禁用MIT-SHM扩展(v1.1.0):/usr/local/bin/startvnc第372行添加set "${a}" "-extension" "MIT-SHM"
|
||||
- 将桌面壁纸的配置从monitorBuiltinDisplay改为monitorbuiltin(xfce,v1.0.99),疑似Termux:X11显示器名称改变导致壁纸失效
|
||||
- 修复用vscode打开文件时只打开了vscode本身(v1.0.25):去掉/usr/share/applications/code-no-sandbox.desktop的Exec的--unity-launch
|
||||
@@ -234,44 +237,43 @@ tmoe还会安装gnome-keyring,由于之前我做xfce包时会造成VSCode反
|
||||
5 sudo apt install gxde-testing-source
|
||||
6 sudo apt update
|
||||
7 sudo apt install gxde-desktop-android --no-install-recommends
|
||||
8 sudo apt install spark-store gxde-terminal
|
||||
9 nano /etc/locale.gen
|
||||
10 cd /usr/local/etc/tmoe-linux/git/share
|
||||
11 nano replace.sh
|
||||
12 ./replace.sh old-version
|
||||
13 chmod +x replace.sh
|
||||
14 ./replace.sh old-version
|
||||
15 rm replace.sh
|
||||
16 cd
|
||||
17 tmoe
|
||||
18 nano /etc/apt/sources.list
|
||||
19 sudo apt update
|
||||
20 nano /etc/apt/sources.list
|
||||
21 sudo apt update
|
||||
22 cd /var/log
|
||||
23 ls -l
|
||||
24 du -h --max-depth=1 | sort -h
|
||||
25 cd ..
|
||||
26 du -h --max-depth=1 | sort -h
|
||||
27 cd cache/
|
||||
28 ls -l
|
||||
29 sudo apt update ttf-mscorefonts-installer
|
||||
30 sudo apt install ttf-mscorefonts-installer
|
||||
31 cd /usr/lib/aarch64-linux-gnu/
|
||||
32 ln -s libtiff.so.6 libtiff.so.5
|
||||
33 history
|
||||
34 cd /
|
||||
35 cp home/tiny/termux/home/.local/share/tmoe-linux/containers/proot/debian-bookworm_arm64/busybox .
|
||||
36 cd /etc/X11/xinit/
|
||||
37 ls
|
||||
38 cp ~/termux/home/.local/share/tmoe-linux/containers/proot/debian-bookworm_arm64/etc/X11/xinit/Xsession .
|
||||
39 ls -l Xsession
|
||||
40 cd /
|
||||
41 ls -l busybox
|
||||
42 exit
|
||||
43 sudo apt clean;sudo apt autoclean;sudo apt autoremove --purge || sudo apt autoremove
|
||||
44 history
|
||||
45 history > /sd/history.txt
|
||||
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文件:
|
||||
@@ -282,4 +284,4 @@ rm -rf /run/dbus/pid
|
||||
sudo dbus-daemon --system
|
||||
export $(dbus-launch)
|
||||
startgxde_android
|
||||
```
|
||||
```
|
||||
@@ -52,7 +52,7 @@ done
|
||||
|
||||
echo "正在安装Hangover..."
|
||||
tar xvf hangover.tar
|
||||
sudo DEBIAN_FRONTEND=noninteractive apt install -y ./hangover*.deb
|
||||
sudo apt install -y ./hangover*.deb
|
||||
if [ $? -ne 0 ]; then
|
||||
cd /tmp
|
||||
rm -rf /tmp/hangover
|
||||
|
||||
@@ -38,7 +38,7 @@ done
|
||||
|
||||
echo "正在安装Hangover..."
|
||||
tar xvf hangover.tar
|
||||
sudo DEBIAN_FRONTEND=noninteractive apt install -y ./hangover*.deb
|
||||
sudo apt install -y ./hangover*.deb
|
||||
if [ $? -ne 0 ]; then
|
||||
cd /tmp
|
||||
rm -rf /tmp/hangover
|
||||
|
||||
BIN
images/icon.png
|
Before Width: | Height: | Size: 86 KiB After Width: | Height: | Size: 54 KiB |
@@ -618,12 +618,7 @@ sed -i -E "s@^(VNC_RESOLUTION)=.*@\\1=${w}x${h}@" \$(command -v startvnc)""");
|
||||
pactl load-module module-null-sink sink_name=AndroidSink sink_properties=device.description="Android_Audio_Stream"
|
||||
pactl load-module module-remap-source master=AndroidSink.monitor source_name=AndroidMic source_properties=device.description="Android_Virtual_Mic"
|
||||
pkill -f tiny_virtual_mic
|
||||
tiny_virtual_mic $path AndroidSink &
|
||||
sleep 0.5
|
||||
SINK_INPUT_ID=\$(LC_ALL=C pactl list sink-inputs | grep -B 20 "application.name = \\"AndroidStream\\"" | grep "Sink Input #" | awk '{print \$3}' | tr -d '#')
|
||||
if [ ! -z "\$SINK_INPUT_ID" ]; then
|
||||
pactl move-sink-input \$SINK_INPUT_ID AndroidSink
|
||||
fi""");
|
||||
tiny_virtual_mic $path AndroidSink &""");
|
||||
G.pageIndex.value = 0;
|
||||
}
|
||||
} else {
|
||||
|
||||
@@ -146,7 +146,7 @@ class Util {
|
||||
return m[key];
|
||||
}
|
||||
switch (key) {
|
||||
case "name" : return (value){addCurrentProp(key, value); return value;}("Debian Bookworm");
|
||||
case "name" : return (value){addCurrentProp(key, value); return value;}("Debian Trixie");
|
||||
case "boot" : return (value){addCurrentProp(key, value); return value;}(D.boot);
|
||||
case "vnc" : return (value){addCurrentProp(key, value); return value;}("startnovnc &");
|
||||
case "vncUrl" : return (value){addCurrentProp(key, value); return value;}("http://localhost:36082/vnc.html?host=localhost&port=36082&autoconnect=true&resize=remote&password=12345678");
|
||||
@@ -354,7 +354,7 @@ class D {
|
||||
|
||||
//默认快捷指令
|
||||
static const commands = [{"name":"检查更新并升级", "command":"sudo dpkg --configure -a && sudo apt update && sudo apt full-upgrade -y && sudo apt autoremove -y"},
|
||||
{"name":"查看系统信息", "command":"fastfetch --structure meow && fastfetch --logo none"},
|
||||
{"name":"查看系统信息", "command":"neofetch -L && neofetch --off"},
|
||||
{"name":"清屏", "command":"clear"},
|
||||
{"name":"中断任务", "command":"\x03"},
|
||||
{"name":"安装图形处理软件Krita", "command":"sudo apt update && sudo apt install -y krita krita-l10n"},
|
||||
@@ -363,8 +363,15 @@ class D {
|
||||
{"name":"卸载Kdenlive", "command":"sudo apt autoremove --purge -y kdenlive"},
|
||||
{"name":"安装科学计算软件Octave", "command":"sudo apt update && sudo apt install -y octave"},
|
||||
{"name":"卸载Octave", "command":"sudo apt autoremove --purge -y octave"},
|
||||
{"name":"安装旧版CAJViewer", "command":"wget https://download.cnki.net/net.cnki.cajviewer_1.3.20-1_arm64.deb -O /tmp/caj.deb && sudo apt update && sudo apt install -y /tmp/caj.deb && bash /home/tiny/.local/share/tiny/caj/postinst; rm /tmp/caj.deb"},
|
||||
{"name":"卸载CAJViewer", "command":"sudo apt autoremove --purge -y net.cnki.cajviewer && bash /home/tiny/.local/share/tiny/caj/postrm"},
|
||||
{"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/arm64-store/office/wps-office/wps-office_11.1.0.11720-fix3_arm64.deb -O /tmp/wps.deb
|
||||
EOF
|
||||
rm /tmp/wps.deb"""},
|
||||
{"name":"卸载WPS", "command":"sudo apt autoremove --purge -y wps-office"},
|
||||
{"name":"安装CAJViewer", "command":"wget https://download.cnki.net/cajPackage/tongxinUOS/signed_cajviewer_9.5.0-25268_arm64.deb -O /tmp/caj.deb && sudo apt update && sudo apt install -y /tmp/caj.deb; rm /tmp/caj.deb"},
|
||||
{"name":"卸载CAJViewer", "command":"sudo apt autoremove --purge -y cajviewer"},
|
||||
{"name":"安装亿图图示", "command":"wget https://cc-download.wondershare.cc/business/prd/edrawmax_13.1.0-1_arm64_binner.deb -O /tmp/edraw.deb && sudo apt update && sudo apt install -y /tmp/edraw.deb && bash /home/tiny/.local/share/tiny/edraw/postinst; rm /tmp/edraw.deb"},
|
||||
{"name":"卸载亿图图示", "command":"sudo apt autoremove --purge -y edrawmax libldap-2.4-2"},
|
||||
{"name":"安装QQ", "command":"""wget \$(curl -s https://cdn-go.cn/qq-web/im.qq.com_new/latest/rainbow/linuxConfig.js | grep -oP '"armDownloadUrl":{[^}]*"deb":"\\K[^"]+') -O /tmp/qq.deb && sudo apt update && sudo apt install -y /tmp/qq.deb && sed -i 's#Exec=/opt/QQ/qq %U#Exec=/opt/QQ/qq --no-sandbox %U#g' /usr/share/applications/qq.desktop; rm /tmp/qq.deb"""},
|
||||
{"name":"卸载QQ", "command":"sudo apt autoremove --purge -y linuxqq"},
|
||||
{"name":"安装微信", "command":"wget https://dldir1v6.qq.com/weixin/Universal/Linux/WeChatLinux_arm64.deb -O /tmp/wechat.deb && sudo apt update && sudo apt install -y /tmp/wechat.deb && echo '安装完成。如果你使用微信只是为了传输文件,那么可以考虑使用支持SAF的文件管理器(如:质感文件),直接访问小小电脑所有文件。'; rm /tmp/wechat.deb"},
|
||||
@@ -379,7 +386,7 @@ class D {
|
||||
|
||||
//默认快捷指令,英文版本
|
||||
static const commands4En = [{"name":"Update Packages", "command":"sudo dpkg --configure -a && sudo apt update && sudo apt full-upgrade -y && sudo apt autoremove -y"},
|
||||
{"name":"System Info", "command":"fastfetch --structure meow && fastfetch --logo none"},
|
||||
{"name":"System Info", "command":"neofetch -L && neofetch --off"},
|
||||
{"name":"Clear", "command":"clear"},
|
||||
{"name":"Interrupt", "command":"\x03"},
|
||||
{"name":"Install Painting Program Krita", "command":"sudo apt update && sudo apt install -y krita krita-l10n"},
|
||||
@@ -388,6 +395,13 @@ class D {
|
||||
{"name":"Uninstall Kdenlive", "command":"sudo apt autoremove --purge -y kdenlive"},
|
||||
{"name":"Install LibreOffice", "command":"sudo apt update && sudo apt install -y libreoffice"},
|
||||
{"name":"Uninstall LibreOffice", "command":"sudo apt autoremove --purge -y libreoffice"},
|
||||
{"name":"Install WPS", "command":r"""cat << 'EOF' | sh && sudo dpkg --configure -a && sudo apt update && sudo apt install -y /tmp/wps.deb
|
||||
wget https://github.com/tiny-computer/third-party-archives/releases/download/archives/wps-office_11.1.0.11720_arm64.deb -O /tmp/wps.deb
|
||||
EOF
|
||||
rm /tmp/wps.deb"""},
|
||||
{"name":"Uninstall WPS", "command":"sudo apt autoremove --purge -y wps-office"},
|
||||
{"name":"Install EdrawMax", "command":"""wget https://cc-download.wondershare.cc/business/prd/edrawmax_13.1.0-1_arm64_binner.deb -O /tmp/edraw.deb && sudo apt update && sudo apt install -y /tmp/edraw.deb && bash /home/tiny/.local/share/tiny/edraw/postinst && sudo sed -i 's/<Language V="cn"\\/>/<Language V="en"\\/>/g' /opt/apps/edrawmax/config/settings.xml; rm /tmp/edraw.deb"""},
|
||||
{"name":"Uninstall EdrawMax", "command":"sudo apt autoremove --purge -y edrawmax libldap-2.4-2"},
|
||||
{"name":"Enable Recycle Bin", "command":"sudo apt update && sudo apt install -y gvfs && echo 'Restart the app to use Recycle Bin.'"},
|
||||
{"name":"Clean Package Cache", "command":"sudo apt clean"},
|
||||
{"name":"Power Off", "command":"stopvnc\nexit\nexit"},
|
||||
@@ -644,7 +658,7 @@ ${Localizations.localeOf(G.homePageStateContext).languageCode == 'zh' ? "" : "ec
|
||||
//$DATA_DIR是数据文件夹, $CONTAINER_DIR是容器根目录
|
||||
//Termux:X11的启动命令并不在这里面,而是写死了。这下成💩山代码了:P
|
||||
await G.prefs.setStringList("containersInfo", ["""{
|
||||
"name":"GXDE OS",
|
||||
"name":"Debian Trixie",
|
||||
"boot":"${Localizations.localeOf(G.homePageStateContext).languageCode == 'zh' ? D.boot : D.boot.replaceFirst('LANG=zh_CN.UTF-8', 'LANG=en_US.UTF-8').replaceFirst('公共', 'Public').replaceFirst('图片', 'Pictures').replaceFirst('音乐', 'Music').replaceFirst('视频', 'Videos').replaceFirst('下载', 'Downloads').replaceFirst('文档', 'Documents').replaceFirst('照片', 'Photos')}",
|
||||
"vnc":"startnovnc &",
|
||||
"vncUrl":"http://localhost:36082/vnc.html?host=localhost&port=36082&autoconnect=true&resize=remote&password=12345678",
|
||||
|
||||