如何更改 Mac OS X 上的默认屏幕共享/VNC 端口号?

GJ.*_*GJ. 10 vnc screen-sharing osx-snow-leopard macos

有什么方法可以将其从默认5900端口更改为其他端口吗?

小智 16

您实际上可以在 Mac OS 10.7 Lion 和 10.8 Mountain Lion 上切换 Apple VNC 服务器的默认端口。要更改端口,您需要编辑服务器的 plist 文件/System/Library/LaunchDaemons/com.apple.screensharing.plist(此文件在 10.7 Lion 之前的系统中不存在)。

编辑文件需要 root (sudo) 权限。在终端中,如果你熟悉 vi 或vim,你可以输入:

sudo vim /System/Library/LaunchDaemons/com.apple.screensharing.plist
Run Code Online (Sandbox Code Playgroud)

或者如果你不是,你最好使用nano

sudo nano /System/Library/LaunchDaemons/com.apple.screensharing.plist
Run Code Online (Sandbox Code Playgroud)

现在,您所要做的就是将第 34 行(读取 的那一行)更改<string>vnc-server</string><string>nnnn</string>nnnn 是您希望使用的端口号。我知道将“vnc-server”之类的名称更改为数字似乎很奇怪,但这就是您必须这样做的方式。我在下面包含了一个例子,以防万一不清楚。

要将默认端口更改为 54321,您可以将 plist 文件编辑为如下所示:

...
<key>Sockets</key>
  <dict>
      <key>Listener</key>
      <dict>
          <key>Bonjour</key>
          <string>rfb</string>
          <key>SockServiceName</key>
          <string>54321</string>            <!-- Change this line! -->
      </dict>
  </dict>
  <key>UserName</key>
  <string>root</string>
  <key>SHAuthorizationRight</key>
  <string>system.preferences</string>
</dict>
</plist>
Run Code Online (Sandbox Code Playgroud)

保存文件后,要使更改生效,请在“共享”首选项窗格中关闭然后再次打开“屏幕共享”,或者使用以下命令卸载并重新加载服务:

sudo launchctl unload /System/Library/LaunchDaemons/com.apple.screensharing.plist
sudo launchctl load /System/Library/LaunchDaemons/com.apple.screensharing.plist
Run Code Online (Sandbox Code Playgroud)

  • 对上述问题的回答:在“连接到服务器...”中,指定 vnc://yourserver.com:54321(按照前面的示例重新端口号) (2认同)

小智 5

在通过 Google 找到此线程后,我可以确认编辑/etc/services“rfb”端口将更改包含的 VNC 服务器的侦听端口。

我编辑了文件并重新启动(通常我会尝试重新启动服务或卸载launchdeamon,但我也遇到了其他一些问题,并没有打扰)。我 iPad 上的 iTeleport 然后无法在 5900 上连接,并在我选择的高非特权端口上成功。