Skip to content

安装 ​

文档编写中

部分内容可能尚不完整。

ThinkTerm 为 macOS、Linux 和 Windows 发布,下载都在 发布页。在 macOS 和 Linux 上,安装脚本就是安装它的方式,也是唯一一种之后能让 ThinkTerm 自己更新自己的方式。iOS 和 Android 应用仍在开发中,尚未发布。

系统要求 ​

系统需要
macOSmacOS 14 或更新,Apple 芯片或 Intel
Linuxx86_64 或 arm64,glibc 2.35 或更新 —— Ubuntu 22.04、Debian 12、RHEL 10 或更新
WindowsWindows 10 1809 或更新,x64

Linux 构建链接的是 glibc,所以 Alpine 这类 musl 系统根本跑不起来。glibc 太旧则会以一种不那么明显的方式失败 —— 在加载时报一个关于符号版本的错误,而不是真正的原因 —— 所以安装脚本会先检查版本,并直接说明。两种情况的出路都是从源码构建。

安装脚本 ​

bash
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 -- 传给脚本:

bash
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服务器版
.debthinkterm 和 thinkterm-server 两个包,在 Ubuntu 22.04 上构建
.rpmthinkterm 和 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 —— 那是让会话在主机上持续运行的常驻连接。服务器版就够了:

bash
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 不会结束它们。这个设置是什么、怎样关掉,见 远程。

相关 ​

  • 更新 —— 已安装的副本如何保持最新
  • 远程 —— 为 SSH、Mosh 和 ThinkTerm Connect 准备主机
  • 配置 —— 各个系统上配置和数据放在哪里
  • 隐私与安全 —— ThinkTerm 会发送什么、保存什么