RELATEED CONSULTING
相关咨询
欢迎选择下列在线客服咨询
微信客服
微信客服二维码
热线电话:13863516421
7x24小时,全年无休
我们服务器的承诺:
关闭右侧工具栏

境外国外服务器专题

如何使用终端命令检查远程桌面服务是否已经关闭?

  • 来源:本站
  • 编辑: 超级管理员
  • 时间:2025-07-30 18:33:14
  • 阅读0次

在 macOS 中,可通过终端命令从服务状态、端口监听、配置文件三个维度检查远程桌面服务是否已关闭。以下是具体命令及预期结果:

一、检查服务运行状态

1. 屏幕共享(VNC)服务

bash

# 查看服务是否在运行(无输出表示已关闭)

sudo launchctl list | grep screensharing


预期输出:

若服务已关闭,命令无任何输出;若仍在运行,会显示类似:

plaintext

-    0    com.apple.screensharing


2. 远程管理(ARD)服务

bash

# 查看ARDAgent服务是否在运行(无输出表示已关闭)

sudo launchctl list | grep ARDAgent


预期输出:

若服务已关闭,无输出;若仍在运行,会显示类似:

plaintext

-    0    com.apple.ARDAgent


二、检查端口监听情况

1. 屏幕共享端口(5900)

bash

# 检查5900端口是否被监听(无输出表示端口已关闭)

sudo lsof -i :5900


预期输出:

若端口未被监听,命令无输出;若仍开放,会显示类似:

plaintext

COMMAND         PID   USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME

screensharingd 3456  root    5u  IPv4 0x123456789abcde      0t0  TCP *:5900 (LISTEN)


2. 远程管理端口(3283)

bash

# 检查3283端口是否被监听(无输出表示端口已关闭)

sudo lsof -i :3283


预期输出:

若端口未被监听,无输出;若仍开放,会显示类似:

plaintext

COMMAND    PID   USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME

ARDAgent 4567  root    4u  IPv4 0x987654321abcde      0t0  TCP *:3283 (LISTEN)


三、验证配置文件状态

1. 屏幕共享配置文件

bash

# 检查服务是否被标记为禁用(Disabled=1表示已禁用)

sudo defaults read /System/Library/LaunchDaemons/com.apple.screensharing.plist Disabled


预期输出:

若服务已禁用,输出 1;若未禁用,输出 0 或报错(未设置该键值)。

2. 远程管理配置文件

bash

# 检查远程管理白名单是否为空(关闭后应为空)

defaults read /Library/Preferences/com.apple.ARDAgent ServerWhiteList


预期输出:

若服务已关闭,输出 ()(空数组);若仍有允许的 IP,会显示类似:

plaintext

(

    "192.168.1.100"

)


四、防火墙规则检查(可选)

若此前为远程桌面配置过防火墙例外,可检查规则是否存在:


bash

# 查看屏幕共享应用的防火墙规则(无输出表示规则已移除)

sudo /usr/libexec/ApplicationFirewall/socketfilterfw --listapps | grep "Screen Sharing"


# 查看ARDAgent的防火墙规则(无输出表示规则已移除)

sudo /usr/libexec/ApplicationFirewall/socketfilterfw --listapps | grep "ARDAgent"

五、综合验证命令

将上述命令组合,一键检查所有状态:


bash

echo "=== 屏幕共享状态 ==="

sudo launchctl list | grep screensharing

sudo lsof -i :5900

sudo defaults read /System/Library/LaunchDaemons/com.apple.screensharing.plist Disabled 2>/dev/null || echo "Disabled=0"


echo "=== 远程管理状态 ==="

sudo launchctl list | grep ARDAgent

sudo lsof -i :3283

defaults read /Library/Preferences/com.apple.ARDAgent ServerWhiteList 2>/dev/null || echo "No whitelist"

六、常见问题及处理

服务状态显示异常:

现象:launchctl 显示服务未运行,但端口仍被监听。

原因:可能存在第三方远程工具(如 TeamViewer)占用相同端口。

解决:通过 lsof 命令确定占用进程 PID,执行 sudo kill -9 PID 终止。

配置文件状态未更新:

现象:配置文件显示服务已禁用,但 launchctl 仍显示运行。

原因:服务未正确读取配置文件,或系统缓存未刷新。

解决:执行 sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.screensharing.plist 强制卸载服务。

权限不足:

现象:命令提示 Permission denied。

解决:确保所有命令前添加 sudo,并输入管理员密码。


通过以上命令,可全面检查远程桌面服务是否已彻底关闭。若需重新开启,可参考《如何通过命令行开启 macOS 远程桌面功能》。


我们提供7X24小时售后服务,了解更多机房产品和服务,敬请联系
购买咨询 售后服务