安装
文档编写中
部分内容可能尚不完整。
ThinkTerm 为 macOS、Linux 和 Windows 发布,下载都在 发布页。在 macOS 和 Linux 上,安装脚本就是安装它的方式,也是唯一一种之后能让 ThinkTerm 自己更新自己的方式。iOS 和 Android 应用仍在开发中,尚未发布。
系统要求
| 系统 | 需要 |
|---|---|
| macOS | macOS 14 或更新,Apple 芯片或 Intel |
| Linux | x86_64 或 arm64,glibc 2.35 或更新 —— Ubuntu 22.04、Debian 12、RHEL 10 或更新 |
| Windows | Windows 10 1809 或更新,x64 |
Linux 构建链接的是 glibc,所以 Alpine 这类 musl 系统根本跑不起来。glibc 太旧则会以一种不那么明显的方式失败 —— 在加载时报一个关于符号版本的错误,而不是真正的原因 —— 所以安装脚本会先检查版本,并直接说明。两种情况的出路都是从源码构建。
安装脚本
curl -fsSL https://raw.githubusercontent.com/RoversX/thinkterm/main/install.sh | sh脚本会为这台机器挑出对应的发布文件,下载下来,并与 GitHub 在文件上传时记录的 SHA-256 摘要比对。对不上的下载会被拒绝,什么都不会安装。如果 GitHub 没有这个文件的摘要,或者机器上既没有 sha256sum 也没有 shasum,脚本会直说这次下载没有校验,而不是一声不吭。
它只为当前用户安装,不需要 root,也不需要包管理器:
- Linux —— 程序放进
~/.local/bin,桌面版还会在~/.local/share下加一个启动器条目和图标。 - macOS —— 已签名的
ThinkTerm.app放进/Applications,你对/Applications没有写权限时放进~/Applications;命令行工具以链接的形式放进~/.local/bin。这些链接指向应用内部而不是把文件复制出来,所以仍在应用签名的覆盖之下。
bash、zsh 和 fish 的补全也装在 ~/.local/share 下。旁边还会留一份安装记录,之后 thinkterm update 和 设置 › 软件更新 正是靠它知道自己可以替换这些文件。
你的 shell 启动文件不会被改动。~/.local/bin 不在 PATH 里时,脚本会打印需要添加的那一行 —— 在 Debian 和 Ubuntu 上,它要到下次登录才会进入 PATH,而且前提是那时这个目录已经存在 —— 它还会打印开启 shell 集成的那一行(可选),shell 集成提供提示符标记,并让 ThinkTerm 能跟上 shell 的当前目录。
两种变体都会在 thinkterm 旁边放一个 wezterm 命令,给那些在 TERM_PROGRAM 显示 WezTerm 时会去找它的工具用。如果机器上同时装了 WezTerm 本身,运行的是哪个 wezterm,取决于 PATH 里哪个目录排在前面。
桌面版还是服务器版
| 变体 | 包含 |
|---|---|
--desktop | 应用、命令行工具、TUI 和会话 server |
--server | 除应用以外的全部。在 Linux 上连图形库都不需要 |
脚本从不根据机器去猜:一台无界面的机器也许仍然想要 TUI,一台桌面机也可能是别人的 SSH 目标。在终端里运行且两个参数都没给时,它会询问;在完全没有终端的环境里运行(比如配置脚本),则必须给出参数。
两者互斥。装其中一个会删掉另一个的文件,所以把一台机器从服务器版换成桌面版,就是加上 --desktop 再跑一遍同一条命令 —— 会加上应用、其余保持不变;反过来则会删掉应用和它的启动器。
选项
| 选项 | 作用 |
|---|---|
--desktop、--server | 选择变体 |
--version X | 安装发布版 X 而不是最新版 |
--prefix DIR | 装到 DIR 下而不是 ~/.local,程序放在 DIR/bin |
--app-dir DIR | 仅 macOS:把 ThinkTerm.app 放到 DIR |
--from FILE | 安装一个已经下载好的归档,不再联网获取 |
--dry-run | 说明将要做什么,在动磁盘之前停下 |
选项通过 sh -s -- 传给脚本:
curl -fsSL https://raw.githubusercontent.com/RoversX/thinkterm/main/install.sh | sh -s -- --server如果设置了 GITHUB_TOKEN,脚本发出的请求会带上它,以解除 GitHub 对匿名请求的限流。ThinkTerm 自己在后台做的更新检查从不读取它,见 更新。
升级与卸载
再跑一遍脚本就是升级。它不比较版本 —— 拿到哪个发布版,就装哪个,覆盖已有的 —— 所以配合 --version 也能把机器退回到旧版本。thinkterm update 和设置里的 安装更新 替你跑的就是这个脚本,细节见 更新。
文件是原地替换的,所以已经在运行的东西继续用它启动时的版本。如果安装前就在运行的会话 server 还开着,脚本会提醒你:在它重启之前,新版的应用或命令行工具可能拒绝与它通信。在 macOS 上,ThinkTerm 正开着时它也会提一句,因为新版本要等你下次打开时才启动。
没有卸载程序。脚本结束时会列出它装的每一个文件,卸载就是把它们删掉。
Linux 上缺少的库
包管理器会把应用需要的库一并装上,压缩包做不到。对桌面版,脚本会问系统应用还缺哪些库,并为每一个给出 apt、dnf 和 zypper 下提供它的包名。它只警告不终止:命令行工具和会话 server 不需要这些库,库装好之后应用就能启动。
一个发布版里有什么
macOS
每种架构一个 zip,arm64 和 x86_64,里面是已签名并经过公证的 ThinkTerm.app。安装脚本的两种变体用的都是这个 zip。
你也可以自己解压,把应用拖进"应用程序"。手动放置的副本 ThinkTerm 仍然可以更新:安装更新 会在原位置替换它,并把命令行工具放到 ~/.local/bin,此后它就和脚本安装的一样管理。
Linux
| 下载 | 是什么 |
|---|---|
thinkterm-<version>-linux-<arch>.tar.gz | 桌面版,安装脚本装的就是它 |
thinkterm-server-<version>-linux-<arch>.tar.gz | 服务器版 |
.deb | thinkterm 和 thinkterm-server 两个包,在 Ubuntu 22.04 上构建 |
.rpm | thinkterm 和 thinkterm-server 两个包,在 Fedora 上构建 |
.AppImage | 单个文件的桌面应用,在 Ubuntu 22.04 上构建 |
每一种都有 x86_64 和 arm64 两个版本。
.deb 和 .rpm 包不能与 WezTerm 的包同时安装,因为两者都提供 wezterm 命令;桌面包和服务器包之间也互斥。包通过包管理器更新,AppImage 通过 AppImageUpdate 更新;ThinkTerm 会把你指向它们,而不是替换它们的文件。
Windows
Windows 没有安装脚本。发布版里有两种下载,都是 x64。
安装器 ThinkTerm-<version>-setup.exe 会请求管理员权限,安装到 Program Files。它把 ThinkTerm 的目录加入系统 PATH,在资源管理器里为文件夹、文件夹空白处和驱动器加上 Open ThinkTerm here 菜单项,并可选创建桌面快捷方式。在 ThinkTerm 里更新时,会下载下一版安装器并运行它。
zip ThinkTerm-windows-<version>.zip 解压到哪里就在哪里运行,不会往 PATH 或资源管理器里加任何东西。可执行文件旁边的 thinkterm.lua 优先于你用户目录里的配置,所以一份副本可以随身带着自己的设置,见 配置。但跟着走的只有配置:Space、主机以及 ThinkTerm 的其余数据,仍然保存在你的用户目录里。更新时,把新的 zip 解压到原处即可。
在服务器上安装
一台通过 SSH 访问的机器,只有在使用 ThinkTerm Connect 时才需要装 ThinkTerm —— 那是让会话在主机上持续运行的常驻连接。服务器版就够了:
curl -fsSL https://raw.githubusercontent.com/RoversX/thinkterm/main/install.sh | sh -s -- --server在 macOS 上,服务器版把应用包放在 ~/.local/libexec,不进"应用程序"也不进启动台 —— 需要的是里面的程序,而不是一个程序坞图标。在 Linux 上,如果你更愿意用 apt 或 dnf 管理这台机器,thinkterm-server 包起的是同样的作用。
会话 server 不需要 root,也不需要服务文件。怎样启动它、怎样让它在你登出后继续运行,以及每种连接方式对主机有什么要求,见 远程。
第一次打开
应用第一次打开时会显示一个页面 欢迎使用 ThinkTerm,上面有两个选择:语言 和 外观(跟随系统、浅色 或 深色)。每一项选中即生效,所以你能先看到效果再决定。开始使用 保留这些选择;跳过 则恢复这个页面打开时 ThinkTerm 原本的设置。无论哪种,这个页面都不会再出现。
两项之后都可以在 设置 › 通用 › 语言 和 设置 › 外观 里修改。
新安装还会从一开始就把本地终端放在后台会话 server 里,所以退出 ThinkTerm 不会结束它们。这个设置是什么、怎样关掉,见 远程。
