Tether 是一款在 Linux (Wayland) 桌面与 iPhone 之间建立桥梁的工具,旨在实现类似 Apple 生态中“连续互通”的功能。它支持剪贴板同步、文件传输,并能通过蓝牙实现信息(SMS/iMessage)和通知的镜像。

本教程将指导您在 Linux 系统上完成 Tether 的安装、配置与设备配对。


1. 准备工作

1.1 系统要求

  • Linux 发行版:支持 Wayland 显示协议(如 Fedora、Ubuntu 23.10+、Debian 13+、Arch Linux)。
  • Wayland 合成器:需支持 wlr-data-control 协议(例如 Hyprland、Sway、Fenriz 等)。这意味着在 X11 下可能无法使用剪贴板同步功能。
  • iPhone:iOS 设备,需安装配套的 Tether iOS 应用
  • 蓝牙 (可选,用于信息和通知):需要 BlueZ 5.86 或更高版本,并开启实验性 API。

1.2 安装依赖 (以 Debian/Ubuntu 和 Fedora 为例)

在开始前,您可能需要安装编译依赖(如果使用预编译包可跳过)。

Debian/Ubuntu:

1
2
3
4
sudo apt install build-essential cmake ninja-build pkg-config git \
libwayland-dev libavahi-client-dev libssl-dev \
libglib2.0-dev libgtk-3-dev libgtk-layer-shell-dev libnotify-dev \
npm zip

Fedora:

1
2
3
4
sudo dnf install gcc-c++ cmake ninja-build pkgconf-pkg-config git \
wayland-devel avahi-devel openssl-devel \
glib2-devel gtk3-devel gtk-layer-shell-devel libnotify-devel \
npm zip

2. 安装 Tether

Tether 提供了多种安装方式,您可以根据自己的系统和偏好选择。

2.1 Arch Linux (AUR)

如果您使用 Arch Linux,可以直接从 AUR 安装:

1
yay -S tether

2.2 使用 AppImage (通用)

这是最通用的方式,适用于大多数发行版,包括不可变系统。

  1. 从项目的 Releases 页面 下载 tether-<version>-x86_64.AppImage

  2. 赋予执行权限并运行:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    chmod +x tether-*-x86_64.AppImage

    # 启动图形界面
    ./tether-*-x86_64.AppImage

    # 运行蓝牙设置命令行工具 (仅需一次)
    ./tether-*-x86_64.AppImage --bt-setup

    # 安装浏览器/邮件扩展主机 (如使用扩展)
    ./tether-*-x86_64.AppImage --install-extension-host

2.3 使用 Flatpak

如果您偏好 Flatpak 打包格式,也可以使用:

  1. 下载 tether-<version>.flatpak 文件。

  2. 执行安装命令:

    1
    2
    flatpak install ./tether-*.flatpak
    flatpak run com.tether.desktop # 启动 GTK 应用

注意:Flatpak 版本可能因沙盒限制导致剪贴板同步无法工作。如需使用剪贴板同步,请优先选择 AppImage。

2.4 使用 Nix

如果您是 Nix 用户,可以通过 Flake 使用:

1
2
3
4
5
# 直接运行
nix run github:zackb/tether

# 或构建
nix build github:zackb/tether

2.5 从源码构建

如需最新开发版本或进行定制,可以自行编译。

1
2
3
4
5
6
7
8
git clone https://github.com/zackb/tether.git
cd tether

# 构建 release 版本
make release

# 安装到系统
sudo make install

3. 初始设置与配对

安装完成后,需要将您的 Linux 电脑和 iPhone 进行配对,以建立信任关系。

3.1 启动 Tether

在终端中启动 GTK 图形界面:

1
tether-gtk

或者,您也可以在应用程序菜单中找到 Tether 图标并启动。

3.2 WiFi 配对 (用于剪贴板同步、文件传输)

  1. 在 iPhone 上打开 Tether 应用。它会通过 Bonjour/mDNS 自动发现局域网内的电脑。
  2. 在 iPhone 上,您应该会看到电脑的名称。点击它发起配对请求。
  3. 此时,您的 Linux 电脑上会弹出一个配对确认对话框,显示一个指纹 (fingerprint)。
  4. 确认电脑和 iPhone 上显示的指纹一致后,在两端都点击“接受”或“配对”。
  5. 配对完成后,连接建立。

3.3 蓝牙配对 (用于信息、通知和通话)

  1. 一次性系统设置:在终端中执行以下命令,它会检查并指导您完成必要的系统配置(例如启用 BlueZ 实验性 API):

    1
    tether --bt-setup

    请仔细阅读命令输出的说明,并按提示操作(如修改 systemd 配置)。Tether 不会自动应用这些更改,需要您手动执行。

  2. 配对设备

    • 在 GTK 应用的 Devices 页面,找到 BLUETOOTH 部分,点击您 iPhone 旁边的 “Pair over Bluetooth” 按钮。如果未列出,可尝试点击刷新或使用命令行查找:
    1
    2
    tether --bt-devices   # 查找 iPhone 的蓝牙地址
    tether --bt-pair <iPhone的蓝牙地址>
    • 在 Linux 和 iPhone 上确认配对码,完成配对。
  3. 启用服务和权限

    • 配对后,在 iPhone 的 设置 > 蓝牙 中,点击此电脑名称旁的 (i) 图标。
    • 确保 “Show Message Notifications”“Sync Contacts” 都已开启。这些选项可能需等待几分钟才会出现。您也可以在 Tether GTK 应用中点击 “Show iPhone Permissions” 来重新提示 iPhone 显示这些设置。

4. 使用与功能验证

配对成功后,您就可以开始使用 Tether 的各项功能了。

4.1 剪贴板同步

  • 在 Linux 上复制文本,它应该会立即出现在 iPhone 的剪贴板中,反之亦然。如果此功能不工作,请检查您是否在 Wayland 下运行,并确认防火墙是否允许 5134/tcp 和 5353/udp 端口。

4.2 文件传输

  • 您可以在 GTK 应用中将文件或文件夹拖放到 iPhone 条目上以发送文件。从 iPhone 发送的文件会自动保存到您 Linux 的 ~/Downloads 目录。

4.3 信息与通知

  • 打开 GTK 应用的 Messages 标签页,您应该能看到 iPhone 上的短信和 iMessage 对话列表。您可以在此阅读和回复信息。
  • 手机上的任何应用通知也会镜像显示在桌面上。

4.4 浏览器/邮件扩展 (OTP 自动填充)

  1. 确保已安装 Tether 的浏览器扩展(Firefox/Chromium)和邮件扩展(Thunderbird)。
  2. 当您在网站上需要输入两步验证 (OTP) 码时,扩展可以自动从 Tether 守护进程或邮件中获取并填充,简化流程。

5. 故障排查

  • iPhone 能找到电脑但无法连接:这通常是防火墙问题。请确保在防火墙中放行了 5134/tcp 端口(用于连接)和 5353/udp 端口(用于 mDNS 发现)。

    1
    2
    sudo ufw allow 5134/tcp && sudo ufw allow 5353/udp   # UFW
    sudo firewall-cmd --permanent --add-port=5134/tcp --add-port=5353/udp; sudo firewall-cmd --reload # Firewalld
  • iPhone 完全找不到电脑avahi-daemon 服务未运行,导致 mDNS 发现失败。启动它:

    1
    sudo systemctl enable --now avahi-daemon
  • 剪贴板同步不工作

    1. 确认您运行在 Wayland 会话下。
    2. 检查防火墙端口是否开放。
    3. 如果您使用的是 Flatpak 版本,这是已知限制,请改用 AppImage。
  • 信息和通知不工作

    1. 确保您已成功完成蓝牙配对。
    2. 在 iPhone 的蓝牙设置中,确认已为此电脑开启“显示消息通知”和“同步通讯录”。
    3. 运行 tether --bt-connection 检查蓝牙连接状态。
  • 权限与报告:如果问题依旧,可以查看 tether-gtk 应用中的日志,或通过命令行运行 tetherd 来捕获调试输出。安全问题请通过 GitHub 的 Security Advisories 渠道私下报告。


总结

通过以上步骤,您可以在 Linux 系统上成功部署 Tether,从而让您的 iPhone 与 Linux 桌面实现紧密集成。Tether 填补了 Linux 平台在苹果生态体验上的空白,尤其是对于依赖 iMessage 的用户来说,这是一个非常实用的工具。

建议您从 AppImage 版本开始尝试,它是最通用且功能完整的选择。安装后,首先完成 WiFi 配对(易用)和蓝牙设置(稍复杂但功能强大)两步,即可享受跨设备协作的便利。