如何从 OS X (macOS) 连接到 Linux 上的 x11vnc 服务器?

如何从 OS X (macOS) 连接到 Linux 上的 x11vnc 服务器?

当我尝试连接到在 Ubuntu 16.10 上启动的 x11vnc 服务器时

x11vnc

OS X 10.11.6 上的“屏幕共享”应用程序挂起。

在此输入图像描述

我怎样才能解决这个问题?

答案1

如果您想在 OS X 上使用“屏幕共享”应用程序连接到 x11vnc 服务器,则需要调整 x11vnc 启动命令:

x11vnc -display :0 -noxrecord -noxfixes -noxdamage -forever -passwd 123456
  • 不能使用-ncache
  • 必须使用-passwd

[来源]

答案2

我使用以下方法建立与远程系统的连接,即使是那些使用慢速互联网的系统。

x11vnc -rfbport 5900 -bg -o ~/.vnc/log -rfbauth ~/.vnc/passwd -ncache 0 -speeds modem -forever -shared -ultrafilexfer -skip_lockkeys -desktop <RemoteComputer>

这将启动一个 VNC 守护进程:

  • 将端口设置为 5900(默认),但您可以在此处更改它,射频端口
  • 在后台运行服务器,背景
  • 记录正在发生的事情,
  • 使用加密哈希形式存储的密码,射频鲍思
  • 禁用像素缓存,这是 OSX 上的一个问题,缓存
  • 使数据传输适应低速,调制解调器速度
  • 完成后不会关闭连接,永远
  • 接受无限数量的连接,共享。这是一件事,例如,当您的实际连接中断并且服务器尚未关闭它时,您将无法立即重新连接。
  • 启用文件共享acc.to ultravnc,超文件传输。不过似乎不适用于 mac。
  • 忽略远程计算机的锁定键,例如大写锁定等,跳过锁键
  • 并为您的远程计算机命名,桌面

您可以通过以下方式设置加密密码

x11vnc -storepasswd

并通过简单的终止信号(-SIGTERM)停止服务器。享受!

答案3

建立在先前的答案之上,但评论太长了。在 MacOS Big Sur 11.1 中,我通过以下方式获得了更好的性能:

x11vnc -display :0 -noxrecord -forever -passwd 123456

通过删除-noxdamage,我发现绘制延迟有所减少,并且在 x11 中调整窗口大小或最小化窗口时撕裂现象也大大减少。删除-noxfixes也会带来更好的体验,因为光标显示正确 - 包括当 x11 光标改变形状时(例如调整窗口大小)。这非常方便,否则您将不断猜测光标是否正确位于驻留选择框上。 (对我来说)与删除没有明显区别noxrecord,所以我把它留在了

虽然该-ncache选项确实成功连接,但我无法混合ncache多个桌面窗口。这似乎是桌面窗口实现方式的意外产物(在 Y 坐标中,窗口位于主窗口的“下方”),与 ncache 的工作方式相冲突(通过在主窗口下使用重复的窗口)。

相关内容