使用 Deskflow 让 Linux 笔记本与无显示器 Mac Mini 共用一套键盘和鼠标

使用 Deskflow 让 Linux 笔记本与无显示器 Mac Mini 共用一套键盘和鼠标

一份完整的分步指南,涵盖一路遇到的所有权限、证书、防火墙规则及错误信息

今天是 2026 年 10 月 13 日,我终于完成了一个搁置了几天的小项目:让两台电脑共用一套键盘和鼠标。一台是 Linux 笔记本;另一台是放在角落里、没有显示器的 Mac mini,平时我通常只通过 SSH 访问它。实现这一目标的工具是 Deskflow,这是一款免费的开源程序,可以让一台电脑的键盘和鼠标通过网络控制其他电脑。

这个想法很简单,但实际操作中却有十来个容易被忽略的隐形步骤。现在正是把它们记录下来的好时机,因为 Linux 和 macOS 现在要求的权限都比过去更多,而且错误信息往往并不能直接指出真正的原因。我会循序渐进,并在每个术语首次出现时进行解释。我还会列出我实际遇到的真实错误信息,这样如果你遇到同样的报错,就可以通过搜索找到这篇文章。

你将学到什么

读完本文后,你将学会如何:

  • 选择服务端与客户端,以及为什么这一选择至关重要;
  • 绘制屏幕布局,使光标能沿着正确的方向穿越屏幕边缘;
  • 创建并信任 Deskflow 用于加密连接的 TLS 证书;
  • 授予无法通过 SSH 授予的 macOS 权限;
  • 仅针对家庭网络开放 Linux 防火墙,而不开放其他访问;
  • 在 Mac 登录时自动启动客户端;
  • 辨别你遇到的是哪种常见故障类型:连接问题还是权限问题。

通俗易懂地解释 Deskflow 的工作原理

Deskflow 包含两种角色。

其中, 服务端 是插有实体键盘和鼠标的电脑。它会读取每次按键和每次鼠标移动。

而 客户端 则是你想从服务端控制的电脑。客户端上的一个小型后台程序会通过网络在 TCP 端口 24800 上连接到服务端,并等待指令。

你还需要绘制一张简易示意图,指明各个屏幕所在的位置。以我为例,Mac 位于笔记本的右侧。只要光标停留在笔记本屏幕上,一切就都正常运行。当光标到达笔记本屏幕的右边缘时,服务端就会停止向笔记本的程序分发事件,转而将其发送给 Mac。随后,Mac 上的客户端会在本地注入这些事件,就如同键盘和鼠标直接插在 Mac 上一样。将光标移出 Mac 的左边缘,控制权便会重新回到笔记本上。

Deskflow 无法做到的三件事,请不要对此抱有预期:

  • 它不会向你显示另一台电脑的屏幕。如果 Mac 没有连接显示器,光标依然会移动到一个仅存在于软件层面的屏幕上。你需要一台显示器或屏幕共享工具,才能看到你在上面的操作。
  • 它不支持通过拖放来传输文件。它只共享光标、键盘和剪贴板,仅此而已。
  • 它不会替你登录系统。客户端程序必须处于运行状态,而在开启了磁盘加密的 Mac 上,必须有人先手动登录。

我的准备环境

  • 一台在 Wayland 上运行 GNOME 桌面、配有两台显示器的 Linux 笔记本,作为服务端。我将其称为 laptop.
  • 一台运行较新版本 macOS 并开启了 FileVault(磁盘加密)的 Mac mini,作为客户端。我将其称为 macmini。它没有显示器,我平时通常只通过 SSH 访问它,因此已经配置好了仅基于密钥的 SSH 登录。
  • 两台设备均已安装 Deskflow 1.27.0。在 Linux 上,它来自于一个 .deb 软件包,而在 Mac 上则是“应用程序”(Applications)文件夹中的常规应用程序。
  • 两台机器位于同一个家庭网络中,同时也接入了 Tailscale——这是一个为每台机器分配固定且不变地址的专用网络。
  • 一套通过 USB 集线器连接到笔记本的键盘和鼠标。

全文我都将使用占位符地址。 192.0.2.10 是家庭网络中的笔记本地址,而 100.64.0.10 是 Tailscale 上的笔记本地址。至于 Mac 自身的地址 192.0.2.20,则无需在任何地方输入。请将这些替换为你自己的实际地址。

开始之前:了解你的硬件

一开始我花了几分钟弄清楚笔记本实际连接的是哪套键盘和鼠标,因为我想确保物理设备连接在笔记本上而不是 Mac 上。Linux 无需任何额外软件就能告诉你这些信息。

列出 USB 设备:

lsusb
lsusb -t

第二条命令会打印一棵设备树,显示各个设备挂载在哪个集线器后面。就我而言,两个无线接收器(无线鼠标和键盘使用的微型 USB 适配器)插在同一个 USB 集线器上,而该集线器又插在笔记本上。

列出蓝牙设备并读取其详细信息:

bluetoothctl devices
bluetoothctl info AA:BB:CC:DD:EE:FF

bluetoothctl info 可以显示设备是否已配对、已信任以及当前是否已连接。我的键盘支持三个蓝牙通道,其中一个通道与笔记本配对,另一个通道与 Mac 配对。这是一个非常有用的备用方案:如果 Deskflow 发生故障,只需按下键盘上的按键即可切换到另一台电脑。

如果你有两个无线接收器,并想确定哪一个是鼠标,可以在移动鼠标时统计每个设备发送的事件数量。首先查找设备名称:

ls -l /dev/input/by-id/

然后观察其中一个设备 30 秒,并统计指针事件的数量:

sudo timeout 30 libinput debug-events --device /dev/input/event3 | grep -c POINTER

在我移动鼠标时产生数千个事件的接收器就是鼠标接收器,而另一个则完全没有产生事件。这对 Deskflow 来说是可选步骤,但对于连接了多个 USB 接收器的任何 Linux 机器而言,都是一个很巧妙的小技巧。

步骤 1:在服务端窗口中选择模式

我最初尝试手动编写配置文件,并通过 SSH 从命令行启动服务端。但在该版本的 Deskflow 中,只要设置文件中包含屏幕布局,服务端就会直接因段错误(segmentation fault)而崩溃。我尝试了使用和不使用无头 Qt 平台(headless Qt platform),结果都一样。我不再折腾,改用图形化界面窗口。

打开窗口时,Start 按钮是灰色的,并且窗口提示“必须选择一种模式”。我之前没有告诉过 Deskflow 这台电脑是服务端。选择第一个选项,即“使用此电脑的键盘和鼠标(将此电脑作为服务端)”。此时就会出现 Configure Server 按钮和一个处于可用状态的 Start 按钮。

如果你发现 Start 按钮呈灰色不可用,请先检查这一点。这是导致点击 Start 毫无反应的最常见原因。

步骤 2:绘制屏幕布局

点击 Configure Server。此时会出现一个以你的电脑为中心的网格。右上角有一个显示器图标。将它拖入网格中,放置在另一台电脑实际所处的方位。我将它放在了紧邻笔记本右侧的单元格中。

新屏幕名为“Unnamed”。双击打开其设置,并输入客户端将使用的名称。该名称必须与客户端的计算机名称完全一致,包括大小写字母和连字符。我使用的是 macmini。你可以保持修饰键和其他选项不变。在该窗口中点击 Save,然后在 Configure Server 窗口中再次点击 Save。

然后在主窗口中点击 Start。状态行应变为“Deskflow is waiting for clients”。

步骤 3:允许服务端捕获输入(Wayland)

在 Wayland 桌面环境中,除非桌面环境明确允许,否则程序不能读取整个系统的键盘和鼠标输入。当 Deskflow 启动服务端时,GNOME 会显示一个提示:

有应用程序想要捕获输入事件。允许远程输入捕获。

打开开关并点击 Share。这项权限允许 Deskflow 读取你的键盘和鼠标输入以便进行转发。如果拒绝,服务端虽然能启动,但任何输入都不会传递给客户端。

你可以使用以下命令确认服务端已启动并正在监听:

ss -ltn | grep 24800

你应该能看到包含 0.0.0.0:24800 且处于监听状态的一行内容。

步骤 4:为客户端提供证书

Deskflow 使用 TLS 加密连接,这也是保护网页安全的同项技术。双方都需要证书。服务端在首次运行时会自动创建自己的证书。而从未通过图形界面运行、仅从命令行运行过的客户端则没有证书,当我启动它时看到了以下提示:

ERROR: secure socket error: tls certificate doesn't exist: .../Library/Deskflow/tls/deskflow.pem
ERROR: could not load client certificates

我在 Mac 上使用 openssl创建了一个证书,该工具在 Mac 上已预先安装:

mkdir -p ~/Library/Deskflow/tls && cd ~/Library/Deskflow/tls
openssl req -x509 -newkey rsa:2048 -nodes -days 3650 \
  -subj "/CN=macmini" -keyout key.tmp -out cert.tmp
cat key.tmp cert.tmp > deskflow.pem && rm key.tmp cert.tmp
chmod 600 deskflow.pem
openssl x509 -in deskflow.pem -noout -fingerprint -sha256

Deskflow 要求将私钥和证书存放在同一个文件中,这就是为什么使用 cat 命令将它们合并。文件权限 600 意味着只有你自己的用户才能读取它,这一点至关重要,因为该文件包含私钥。最后一条命令会打印出证书的指纹(用于识别证书的短代码)。请将它记录下来,下一步中需要进行比对。

步骤 5:相互信任对方的指纹

指纹就像一个无法伪造的名牌。如果 Deskflow 没有被告知去信任某台电脑的指纹,它就不会与该电脑通信。这就防止了局域网内的陌生人假冒你的 Mac。

服务端。 客户端首次连接时,服务端会弹出一个名为“New client connecting”的窗口,其中显示了一张图片以及客户端指纹的哈希值。点击 Show hash,并将其与你在步骤 4 中记录的指纹进行比对。仅在两者完全相同时才点击 Yes。在我这里,它们每个字符都完全吻合。点击 Yes 后,服务端会将该指纹保存在名为 trusted-clients 的文件中,该文件位于其 tls 文件夹内。

客户端。 客户端也必须信任服务端。否则,客户端日志中就会充斥着以下内容:

WARNING: fingerprint does not match trusted fingerprint
ERROR: failed to verify server certificate fingerprint

你可以通过将服务端的指纹添加到 Mac 上名为 trusted-servers的文件中来解决此问题。首先在笔记本上读取指纹:

openssl x509 -in ~/.config/Deskflow/tls/deskflow.pem -noout -fingerprint -sha256

然后,在 Mac 上将其写为小写形式,去掉冒号,并加上 v2:sha256: 前缀:

printf 'v2:sha256:<64 lowercase hex characters>\n' > ~/Library/Deskflow/tls/trusted-servers
chmod 600 ~/Library/Deskflow/tls/trusted-servers

检查前几个字符是否与服务端窗口显示的一致,切勿跳过此项检查。如果你愿意,图形化客户端也可以在首次连接时让你在屏幕上确认指纹,效果是一样的。

步骤 6:授予 Deskflow 控制 Mac 的权限

到了这一步,客户端成功连接后却立即退出了。日志显示:

INFO: connected to secure socket
WARNING: cursor may not be visible
ERROR: failed to create quartz event tap
FATAL: process is not trusted anymore, quitting

连接和证书都没有问题。是 macOS 拒绝让 Deskflow 读取并注入键盘和鼠标事件。该权限名为 Accessibility(辅助功能),位于“系统设置”的“隐私与安全性”下。

这是你无法通过 SSH 完成的步骤。macOS 保护着该列表,修改它需要输入账户密码。即使拥有管理员权限的用户也无法从命令行编辑隐私数据库,因为系统完整性保护(System Integrity Protection)会阻止这一操作。因此,你需要看着 Mac 的屏幕(无论是通过显示器还是通过“屏幕共享”),并且必须亲自输入密码。

具体操作如下:

  1. 打开“系统设置”,依次进入“隐私与安全性”和“辅助功能”。
  2. 在 Mac 上启动 Deskflow 应用程序。macOS 随后会提示“Deskflow 想要控制这台 Mac”,并将 Deskflow 添加到列表中,默认处于关闭状态。
  3. 打开 Deskflow 的开关。在提示时输入账户密码。
  4. 如果在同一区域还看到了“输入监控”,且键盘输入未能传递到 Mac,请检查是否也在该项中允许了 Deskflow。

SSH 的一个陷阱

如果你从 SSH 会话中启动 Deskflow 客户端,macOS 不会将“Deskflow”识别为请求权限的程序,而是识别为 SSH 服务。在“辅助功能”列表中,它会显示为一个名为 sshd-keygen-wrapper。你可能会想打开它以使通过 SSH 启动的客户端能够正常工作。但我建议不要这样做。开启它会赋予任何 SSH 会话所启动的每一个进程读取你的键盘并控制你的鼠标的能力,而这正是绝不应该随意授予的权限。请直接从 Deskflow 应用程序运行客户端,并改为向该应用程序授予权限。如果你已经开启了该包装程序,请将其关闭。Deskflow 依然可以正常工作,因为它有自己的独立条目。

步骤 7:从应用程序启动客户端

在 Mac 上打开 Deskflow 应用程序。选择“使用另一台电脑的鼠标和键盘(将此电脑作为客户端)”。确保计算机名称与你在步骤 2 中设置的屏幕名称完全一致。在“Connect to”中输入笔记本的地址,然后点击 Connect。成功启动后会显示:

INFO: connected to secure socket
INFO: server tls certificate info: /CN=Deskflow
INFO: local layouts: en
INFO: remote layouts: en
Deskflow is connected as client of 192.0.2.10

在笔记本上,你也可以从另一端使用以下命令进行确认:

ss -tn state established '( sport = :24800 )'

如果某行显示 Mac 的地址作为对端(peer),则表示客户端已连接。现在将指针移出笔记本电脑屏幕的右边缘,并继续向外推片刻。Deskflow 在边缘会等待约四分之一秒后才切换,这样您在边界附近工作时就不会误穿过去。

第 8 步:使用家庭网络,而不仅是 Tailscale

我起初将 Mac 指向笔记本电脑的 Tailscale 地址,它立刻就能正常工作。Tailscale 为每台机器分配一个固定地址并处理加密与路由,因此无需开放其他端口。但这两台电脑在同一个房间内。通过家庭网络进行直连延迟更低,而鼠标移动对延迟非常敏感。而且当互联网断开连接时(我家在恶劣天气下会遇到这种情况),直连仍能继续工作。

于是我想使用家庭网络地址,结果连接直接超时了。客户端日志显示:

WARNING: failed to connect to server: cannot connect socket
WARNING: failed to connect to server: Timed out

有两个不同的问题阻碍了连接。

macOS 本地网络提示

第一条消息, cannot connect socket,之所以出现是因为 macOS 尚未允许 Deskflow 与本地网络上的设备通信。应用程序第一次尝试时,macOS 会显示:

允许 "Deskflow" 查找本地网络上的设备?

点击“允许”。Tailscale 地址不会触发此提示,这也是我之前从未见过它的原因。如果您误点了“不允许”,稍后可以在“系统设置”的“隐私与安全性”下的“本地网络”中进行更改。

Linux 防火墙

在我点击“允许”后,消息变成了 Timed out。这说明数据包已从 Mac 发出,但从未得到应答。我从 Mac 上进行了测试:

ping -c 2 192.0.2.10
nc -vz -G 4 192.0.2.10 24800
nc -vz -G 4 100.64.0.10 24800

ping 测试正常,针对家庭地址的端口测试超时,而针对 Tailscale 地址的端口测试成功。这种模式直接指向笔记本电脑上的防火墙。笔记本电脑使用的是 ufw,其默认规则为“拒绝所有入站连接”。Tailscale 流量通过一条单独的规则放行,这就是 Tailscale 地址从一开始就能正常工作的原因。

您可以通过以下命令查看规则:

sudo ufw status verbose

我添加了一条规则,仅对我的家庭网络开放 Deskflow 端口:

sudo ufw allow from 192.0.2.0/24 to any port 24800 proto tcp comment "Deskflow (LAN only)"

这里的 from 192.0.2.0/24 部分是关键所在。这意味着只有您自己家庭网络中的计算机才能访问该端口,而不是整个互联网。切勿向 "Anywhere" 开放这样的端口,除非您了解其中的风险。我笔记本电脑上用于远程桌面和打印的其他规则已经遵循了相同的模式,因此这条规则正好契合。

连接在几秒钟内就建立成功了。随后 Mac 上的日志显示了从 Mac 的家庭网络地址到笔记本电脑地址的连接。

为客户端同时提供两个地址

Deskflow 支持以逗号分隔的服务器列表,并会按顺序尝试连接。我将 Mac 上的 "Connect to" 字段设置为:

192.0.2.10,100.64.0.10

这意味着:优先尝试家庭网络,如果不成功则回退到 Tailscale。逗号后面不要加空格。当我输入 192.0.2.10, 100.64.0.10 (带有空格)时,应用程序悄悄清空了该字段,并且 Connect 按钮没有任何反应。配置文件将该列表存储为单个带引号的字符串,这是正常的。

还有一个提示:笔记本电脑的家庭网络地址通常由 DHCP 分配,因此可能会变动。如果地址变动,客户端会回退到 Tailscale。为了使家庭网络地址保持固定,可以在路由器中为笔记本电脑分配固定地址或设置静态保留。

第 9 步:让客户端自动启动

在一台您从不触碰的电脑上,必须手动启动的客户端用处不大。将该应用程序添加为登录项。您可以在“系统设置”的“通用”下的“登录项”中完成此操作。如果您更喜欢使用命令:

osascript -e 'tell application "System Events" to make login item at end with properties {path:"/Applications/Deskflow.app", hidden:false, name:"Deskflow"}'

然后检查客户端配置文件中的两项设置是否已就位, ~/Library/Deskflow/Deskflow.conf:

[core]
coreMode=1
computerName=macmini

[client]
remoteHost="192.0.2.10,100.64.0.10"

[gui]
startCoreWithGui=true

coreMode=1 表示客户端, startCoreWithGui=true 表示“在应用程序启动时启动连接”,而 remoteHost 保存了服务器列表。该应用程序会在已连接状态下退出时自行写入 startCoreWithGui 本身。

我通过退出应用程序并重新启动进行了测试。大约十五秒后,客户端无需任何点击就自行连接成功了。

存在一个限制。在开启 FileVault 的情况下,重启后必须有人在登录屏幕上登录,Mac 才能启动登录项。如果您要远程重启 Mac,请使用 sudo fdesetup authrestart,它会重启 Mac 并自动登录一次,从而让登录项运行。

如何在两台电脑之间切换

当 Mac 位于笔记本电脑右侧时,请按照以下方向操作:

  • 要从笔记本电脑移动到 Mac,请将指针推过笔记本电脑屏幕的 右 边缘。
  • 要返回,请将指针推过 Mac 屏幕的 左 边缘。
  • 如果指针没有切换,请按 Scroll Lock。默认情况下,Deskflow 使用 Scroll Lock 将指针锁定在当前所在的电脑上。再次按下即可解锁。
  • 如果该布局不适合您,可以在笔记本电脑上的 Configure Server 中进行修改。您可以将 Mac 放置在任意一侧,或者上方和下方。

我遇到的问题汇总表

看到的现象 实际原因 解决方法
Start 按钮呈灰色,"You must select a mode" 未选择服务器或客户端选项 在窗口中选择服务器选项
unknown computer name 出现在布局文件中 在该版本中,屏幕配置保存在主设置文件中,而不是布局文件中 在设置中定义屏幕或使用图形界面窗口
服务器启动时发生段错误崩溃 1.27.0 版本的无头服务器在存在布局时的一个 bug 从图形窗口启动服务器
tls certificate doesn't exist 客户端没有证书 创建 deskflow.pem ,使用 openssl
fingerprint does not match trusted fingerprint 客户端尚未信任该服务器 将服务器指纹添加到 trusted-servers
failed to create quartz event tap 缺少 macOS 辅助功能权限 在 Mac 屏幕上的“辅助功能”中开启 Deskflow
Connect 按钮无反应,"Connect to" 为空 服务器列表中包含空格,或者应用程序丢弃了该值 重新输入且不带空格
cannot connect socket 在家庭网络上 未授予 macOS 本地网络权限 在提示中点击“允许”
Timed out 在家庭网络上,但 Tailscale 正常 Linux 防火墙阻止了来自家庭网络的端口访问 添加一条仅针对家庭网络的 ufw 规则

几项能节省时间的快速排查步骤

当出现故障时,请按顺序执行这些检查。每项检查都能回答一个问题。

  1. 服务器是否正在运行? ss -ltn | grep 24800 在服务器上执行。如果没有输出行,则表示它未在监听。
  2. 客户端是否正在运行?在 Mac 上,查找 deskflow-core client 进程。
  3. 客户端能否访问服务器?请使用 nc -vz <server address> 24800 (从客户端测试)。超时表明网络或防火墙存在问题。连接被拒绝则表示没有程序在监听。
  4. 客户端日志是否提示证书、指纹或权限错误?这些报错信息非常明确,上表涵盖了我所遇到的情况。
  5. 指针被锁定了吗?按一次 Scroll Lock 然后重试。

总结

Deskflow 一旦运行起来表现非常出色,但其配置过程主要涉及权限与信任,而非程序本身。选择模式、绘制布局、为客户端配置证书、在两端互相信任指纹、在 Mac 本机屏幕前授予 macOS 权限、仅针对家庭网络开放防火墙,并将该应用程序添加为登录项。按顺序完成这些步骤,光标就可以在 Linux 笔记本电脑和无显示器的 Mac 之间平滑穿梭。我浪费的大部分时间都花在那些表面看起来像连接问题、实际却是权限问题的报错信息上,因此仔细阅读日志信息是从中收获的最佳习惯。

优点

  • 免费且开源,两台电脑共用一套键盘和鼠标。
  • 采用 TLS 加密,并通过指纹验证确保陌生设备无法接入。
  • 共享剪贴板,支持跨设备复制和粘贴。
  • 既支持家庭网络也支持 Tailscale,且备用地址易于添加。
  • 客户端可在登录时自动启动,无需对无显示器的 Mac 进行额外操作。
  • 占用极少的计算机资源。

缺点

  • 多项权限只能在 Mac 本机上授予,无法远程操作,并且需要输入账户密码。
  • 在搭配 Wayland 的 Linux 上,图形化设置需要权限提示,而且在该版本中命令行服务器对我来说并不稳定。
  • 它不会显示另一台电脑的屏幕,也不支持通过拖放传输文件。
  • 开启 FileVault 的 Mac 在重启后,直到有人登录前客户端都不会启动。
  • 错误信息可能看似网络故障,但实质上是权限问题,因此排查需要耐心。
  • 严格的防火墙需要配置规则,而错误的规则可能会开放超出预期的访问范围。

注意事项

本文仅供学习参考。请将所有占位地址、主机名和名称替换为您自己的信息,切勿分享您真实的证书、私钥、指纹或密码。不同版本的 Deskflow、Linux 和 macOS 在设置界面、提示、文件路径和命令名称上可能会有所差异,因此在参考前请结合您自己的系统核对每一步骤。仅针对您信任的网络开放防火墙端口,并避免为远程访问程序授予超出其所需的权限。在将其用于任何重要事务之前,请在您自己的环境中验证文中的每一个结论。

常见问题解答

  • Deskflow 能否通过拖放来共享文件? — 不能。它共享指针、键盘和剪贴板。对于文件,请使用复制工具,例如 scp、共享文件夹或同步工具。
  • 为什么我的光标无法移动到另一台电脑? — 常见原因包括未选择模式、客户端未连接、缺少 macOS 权限、光标被锁定,或防火墙拦截了 24800 端口。服务器和客户端日志会指明具体原因。
  • 为什么客户端提示指纹不匹配? — 客户端尚未被配置为信任该服务器。在与真实指纹比对确认后,将服务器的 SHA-256 指纹添加到客户端的 trusted-servers 文件中。
  • 我需要在 Mac 上授予辅助功能权限吗? — 是的。如果没有该权限,macOS 会阻止 Deskflow 读取或注入键盘与鼠标事件,并且客户端在连接后会立即退出。
  • 我可以通过 SSH 授予 macOS 权限吗? — 不能。隐私设置受系统保护,必须在 Mac 本机屏幕前或通过屏幕共享输入账户密码才能更改。
  • Deskflow 能否通过 Tailscale 工作? — 可以。在客户端中使用服务器的 Tailscale 地址即可。当两台机器位于同一地点时,家庭网络地址速度更快,因此建议优先列出家庭网络地址。
  • 在防火墙中开放 24800 端口安全吗? — 只有将其限制在您自己的网络内才安全,例如通过允许来自您家庭子网的规则。切勿向整个互联网开放该端口。
  • 如何从 Mac 切回 Linux? — 将指针推过朝向另一台电脑的屏幕边缘。如果没有切换,请按 Scroll Lock,该键可在单台机器上锁定或解锁光标。
  • 重启后它会自动启动吗? — 如果您将其添加为登录项且 Mac 已登录,它就会自动启动。开启 FileVault 时,必须先有人登录,或者您可以使用已认证重启(authenticated restart)。
  • 连接是否加密? — 是的,使用 TLS 加密,并且双方在信任对方之前都会验证对方的指纹。

标签

#deskflow #linux #macos #homelab #tailscale #kvm #wayland #sysadmin #remoteaccess #opensource

Free field guide

Docker Security Checklist

Lock down your containers from build to runtime — 29 practical controls covering images, runtime flags, secrets, and the daemon. Enter your email — you'll get the PDF instantly, plus new posts on Docker, Linux & security.