Skip to content

Terminal v1.0.7

Choose a tag to compare

@FPS1024 FPS1024 released this 20 Sep 16:45
· 4 commits to main since this release

越狱 iOS 设备的终端 App,最低支持 iOS 12.0。终端仿真核心(VT100/xterm、UTF-8、中文与 emoji 列宽、256 色与真彩色、回滚与 reflow)为纯 C,界面层是 Objective-C + UIKit。

这一版把「装完自动 respring」彻底改成「装完由 Sileo 给出重启按钮,你自己按」。

安装

rootless 越狱(Dopamine / Palera1n 等)— 推荐

  • 文件:Terminal_1.0.7_iphoneos-arm64.deb
  • 包名:terminal
  • 安装位置:/var/jb/Applications/Terminal.app
  • 方式:Sileo / Zebra 里直接升级,或 dpkg -i Terminal_1.0.7_iphoneos-arm64.deb

包名从 1.0.5 起是 terminal(更早是 com.malacaihongpi.terminal),新包用
Replaces: / Conflicts: 把老包顶掉,Sileo 里照提示走就行。

本版修复

  • 装完之后让 Sileo 给出「重启 SpringBoard」按钮 —— 3475cdf

    1.0.6 只是把 postinst 里的 killall -HUP SpringBoard 删掉,结果 Sileo 记的是
    finish:return,安装完只显示「完成」,并没有重启按钮 —— 光删是不够的。

    Sileo 的机制在它自己的源码里(Sileo/Backend/APT Wrapper/APTWrapper.swift):

    • 起 apt 时给它传 SILEO=6 1 与 CYDIA=6 1(配合 apt 的 Keep-Fds,fd 6 会留给
      dpkg 与维护者脚本),然后从 fd 6 上读 finish: 开头的行
    • finish:return → 「完成」,finish:reopen → 重启 Sileo,finish:restart /
      finish:reload → 「重启 SpringBoard」,finish:reboot / finish:usreboot → 重启设备
    • 点下去之后是 Sileo 自己执行 sbreload(DownloadsTableViewController.swift)

    所以 postinst / postrm 现在往那个 fd 写一行 finish:reload:装完由 Sileo 给出按钮,
    按下才重启。环境变量的值是 "6 1"(fd + 级别),只取前一段;fd 没开(比如手动
    dpkg -i)就安静跳过,不会往 stderr 吐 Bad file descriptor。

同时包含 1.0.6 的变更

  • postinst / postrm 删掉 killall -HUP SpringBoard —— 34bb75e

同时包含 1.0.5 的变更

  • deb 包名从 bundle id 改成 terminal —— f3c4b44

同时包含 1.0.4 的修复

  • -- 被 iOS 改写成别的字符(智能标点) —— cbf86fd

同时包含 1.0.3 的修复

  • zsh 里键入中文回显成乱码(<00ad> 之类) —— 61170e0

校验

文件 SHA256
Terminal_1.0.7_iphoneos-arm64.deb 386a4eedd4ae4aad29927679dbcbd277da6421ffd8f868222193b6742501da12

make test 173 项断言全过。

App 图标提取自 macOS 内置的 Terminal.app,属 Apple 的美术资源,不在本项目 MIT 许可的授权范围内;源代码许可见 LICENSE。