如何解锁被Apple Remote Desktop的“窗帘”屏幕锁锁定的Mac


28

Apple Remote Desktop具有“幕布”功能,远程客户端可使用该功能锁定被远程控制的Mac屏幕。从家用Mac连接到我的工作Mac时,会用到它。当我使用Apple Remote Desktop(ARD)从家用Mac远程控制它时,我的工作Mac屏幕上显示一个大锁图标和一条消息。

不幸的是,即使我断开了连接,Mac OS X还是存在某种导致远程Mac屏幕锁定的错误。(两台计算机上均为最新的ARD和OS X 10.8.2。)发生这种情况时,我第二天进来工作,在Mac屏幕上找到大锁图标和消息。尽管现在实际存在于Mac的前面,但我找不到解锁屏幕的方法。

我通常会尝试- ssh从另一台计算机进入Mac并终止进程。我试图杀死该ARDAgent进程,屏幕锁定进程(我不记得它的名称)以及进程名称中带有“ ard”或“ remote”的所有其他内容。这些东西似乎都无法解锁屏幕。最终,我诉诸于使用osascript -e ...告诉所有正在运行的应用程序正常退出,然后运行shutdown -r now以重启计算机。

我的问题:是否有办法使用ssh或以其他方式成功解锁卡在ARD锁定屏幕上的Mac ?


重现此错误的一种方法:使用远程桌面登录到目标Mac,启动“窗帘”模式,然后完成所有要完成的工作,然后在仍处于“窗帘”模式下退出目标Mac上的用户。这将使远程桌面应用程序甚至计算机的物理用户都无法访问Mac,并且大锁图标仍显示在目标Mac的屏幕上。

我不确定要如何触发这种情况,但我绝对不会退出。无论哪种方式,似乎解决方案都应该相同。


1
无需直接回答您的问题:使用ARD而不是屏幕共享是否有特定原因?
nohillside

1
我之所以使用ARD,是因为“屏幕共享”没有此“窗帘”功能,并且我不希望工作人员在我不在时能够看到和访问我的Mac。
John Siracusa 2012年

我会用正常的屏幕共享和虚拟显示器,而不是硬件一个建议,但按我自己的一个突出的问题,似乎采用10.8作为客户端时已经10.8下消失作为一个选项...
stuffe

Answers:


11

我没有配备ARD的Mac来进行测试,但是这个阳光充足的实用程序表明可以解决此问题。快速浏览源代码,它只是发送CFNotificationCenter消息以退出窗帘模式。

我不确定是否有办法挂接到ARD注销过程来在每次断开会话时都运行该程序,但是至少可以根据需要通过SSH运行它。


1
看起来很有希望!下次可以重现该错误时,请尝试一下。
John Siracusa 2012年

1
尽管进行了许多尝试,但我仍然无法重现我的错误。由于悬赏金将于明天到期,因此我将基于它会起作用的假设接受此答案。
约翰·西拉库萨

我也无法复制它,但是我确实找到了一些有关如何使用AppleScript解锁屏幕的文档,并将其作为单独的答案发布,即使这似乎是悬赏代码级细节的最佳地点。 CFNotificationCenter的内部工作原理。
bmike

1
这工作得很好。如果仍然有人(例如我)遇到此问题,则可以在github.com/mattlavine/sunshine-ard上找到代码。
2016年

2
我在运行Mojave的Mac上尝试了此操作,但没有成功,菲。
布拉德·帕克斯

6

我发现这种最快的解决方案是与已锁定的远程计算机上的admin帐户建立SSH连接。

ssh "adminuser"@ip.address/or.computername

类型: ps -ax | grep AppleVNCServer

您希望该行显示如下内容

/System/Library/CoreServices/RemoteManagement/AppleVNCServer.bundle/Contents/Support/LockScreen.app/Contents/MacOS/LockScreen -session 256 -msgHex 

记下左侧的PID。

然后输入:

sudo kill -9 "PID" 

这将强制重新启动锁定屏幕并使其再次可用。

我知道这就像上面解释的帖子。这也是在运行ARD 3.6.1的两台10.8.2机器上完成的。


今天下午在El Cap上为我工作(并节省了一天)。谢谢!
2016年

1
在莫哈韦沙漠(Mojave)上试过了,没有运气。
诺亚

3

值得一提的是,这是ARD中的一个已知错误,显然已经存在了一段时间。此Apple KB上有一篇文章,但没有建议如何修复。http://support.apple.com/kb/TS2401

该文件的关键部分:

如果使用“远程桌面”以“窗帘”模式控制客户端,然后登录或注销远程客户端,则控制会话将结束,并且在重新启动计算机之前,您将无法再次控制计算机。在运行Mac OS X v10.5或更高版本的客户端上会发生这种情况,如果在进行“控制”之前锁定了客户端的屏幕,也会发生这种情况。

解析度

注销之前,请关闭所有包含敏感信息的窗口,结束控制会话(并在必要时解锁屏幕)。在“窗帘”模式下控制它时,请勿注销远程客户机。


2

好的,我不能评论使用ARD,我没有,但是这可能是一个合适的解决方法,至少在此期间。

使用普通的屏幕共享,您可以选择使用硬件显示器还是虚拟显示器。这在10.7上很容易使用,但是在10.8上却被混淆了,切换显示的菜单项命令消失了。

要使用虚拟显示,这是您需要做的。首先,让普通用户拥有另一个允许相关屏幕共享选项的用户,然后登录:

  • 如果没有人登录到目标计算机,则将始终获得显示正常登录屏幕的硬件显示
  • 如果您尝试登录的用户已经登录,那么它将始终切换到该用户并使用硬件显示
  • 如果您以另一位尚未在硬件显示屏上登录的用户身份登录,则会收到以下消息,并且可以使用虚拟显示屏,从而可以在不更改主屏幕的情况下做任何您想做的事,并且不可能任何能够观看的人

在此处输入图片说明

这不是完美的,您需要确保您的辅助用户具有对文件的相关访问权限,并且您可能需要访问这些文件,或者您可能不得不采取笨拙的做法来离开辅助(或“虚拟”)用户离开办公桌时登录,允许您通过屏幕共享使用主ID,但这可能会有帮助。


2

Apple在ARD管理指南的第9章中提供了有关如何编写锁定屏幕脚本的示例。

也许可以将第174页上的脚本缩短为仅发送解锁序列:

-- Start commanding the local copy of Remote Desktop
tell application "Remote Desktop"
  -- decide which list to perform this on, in this case it's called
     "WorkMac"
  set these_computers to computer list "WorkMac"
  -- unlock the screen when finished
  execute (make new unlock screen task) on these_computers
end tell 

2

由于当前没有第二台运行10.8.2和3.6.1的计算机,因此无法重现您的确切设置,但是我尝试了以下方法:

在我的10.8.2 / 3.6.1管理员Mac中,我将屏幕锁定在10.6.8客户端上,退出了客户端并重现了屏幕锁定故障。我已从ARD会话断开连接,客户端仍保持锁定屏幕图标。我进入了客户端,尝试从“ kickstart”中获得一些爱之后,我运行了launchctl列表,其中显示了“ LockScreen”工作。在不发出信号的情况下将其杀死没有任何效果,但向其发送-9会从屏幕上删除锁定图标,并在几秒钟后加载登录窗口。您必须在自己的条件下尝试此操作,以验证此相同技术在锁定的10.8.2 / 3.6.1计算机上以及当问题是由用户注销以外的其他原因引起的时,是否可以使用。


1
我肯定已经终止了该过程,然后看到锁仍保留在屏幕上。可以肯定的是,下一次我重现该错误时,我将再次尝试。
John Siracusa 2012年

有关故障排除途径的详细信息,但无法终止该过程。请参阅我的applescript以编程方式发送解锁。
bmike

2

如果您使用的是El Capitan,则上述有关杀死锁定屏幕的说明将不起作用。有一些进程正在不断启动,但我无法使用来找到它launchctl list。我也尝试通过ssh登录关闭ARD,但是也没有用。显然,LockScreen.app和ARD是解耦的进程或某些东西。我不得不执行一次shutdown -r now强制重启。我很生气苹果没有解决此错误或提供一种解决方法,实际上,这种解决方法在事实发生后仍然有效。


确实,我有同样的问题。我试图杀死正在运行的锁屏和其他守护程序,但是没有运气。我将寻找不同的解决方案,如果发现任何解决方案,请在此处发布。
frbl 2016年

寻找解决方案的运气好吗?
tmm1

0

在“远程桌面”应用程序中,打开系统列表并突出显示状态为“锁定屏幕”的远程计算机。下拉“交互”菜单,然后选择“解锁屏幕...”

您将立即看到系统状态从“锁定屏幕”更改为“可用”。然后,您可以启动新的窗帘模式连接。


这是哪个远程桌面应用程序?
tmm1

Apple Remote Desktop.App v 3.9。
tyager
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.