Як розблокувати Mac, який був заблокований блокуванням екрана Apple "Завіса" Apple Remote Desktop


28

Apple Remote Desktop має функцію "завіси", яку віддалений клієнт може використовувати для блокування екрана Mac, який управляється дистанційно. Я використовую це під час підключення до свого робочого Mac з домашнього Mac. На моєму робочому екрані Mac відображається великий значок блокування та повідомлення, коли я віддалено керую ним із домашнього Mac за допомогою Apple Remote Desktop (ARD).

На жаль, є якась помилка, яка змушує екран віддаленого Mac залишатися заблокованим, навіть після того, як я відключився від нього. (Останнє ARD та OS X 10.8.2 на обох машинах.) Коли це станеться, я приходжу на роботу наступного дня, щоб знайти великий екран піктограми блокування та повідомлення на екрані мого Mac. Незважаючи на те, що зараз фізично присутній перед Mac, я не можу знайти спосіб розблокувати екран.

Я зазвичай намагаюся sshввійти в Mac з іншої машини і вбивати процеси. Я намагався вбити ARDAgentпроцес, процес блокування екрана (я не можу пригадати ім'я), і все інше, що можу знайти в імені процесу "ard" або "remote". Жодна з цих речей, здається, не відкриває екран. Врешті-решт, я вдаюсь до використання, osascript -e ...щоб розповісти всі мої запущені програми, щоб витончено вийти, а потім біжу shutdown -r nowперезавантажувати машину.

Моє запитання: чи є спосіб успішно розблокувати Mac, який застряг на екрані блокування ARD, використовуючи sshчи іншим способом?


Один із способів відтворити це: увійдіть у цільовий Mac за допомогою віддаленого робочого столу, запускайте режим завіси, а потім, закінчивши будь-яку роботу, яку потрібно було виконати, вийдіть із користувача на цільовому Mac, перебуваючи в режимі завіси. Це залишить Mac недоступним для додатка віддаленого робочого столу та навіть фізичного користувача комп'ютера, при цьому великий значок блокування залишається на екрані цільового Mac.

Я не впевнений, що роблю, щоб викликати цю ситуацію, але я точно не виходжу з системи. У будь-якому випадку, схоже, рішення має бути однаковим.


1
Не відповідаючи на ваше запитання безпосередньо: Чи є конкретна причина, чому ви використовуєте ARD замість обміну екраном?
nohillside

1
Я використовую ARD, тому що для спільного доступу до екрана немає цієї функції «завіси», і я не хочу, щоб люди на роботі мали змогу бачити та отримувати доступ до мого Mac, коли мене там немає.
Джон Сіракуза

Я б запропонував використовувати звичайний загальний доступ до екрана та віртуальний дисплей, а не апаратний, але, як на власне невирішене питання, схоже, він зник під 10.8 як опція при використанні 10.8 в якості клієнта ...
stuffe

Відповіді:


11

У мене немає Mac з ARD, щоб перевірити це, але ця утиліта із сонячним промінням підказує, що вона може вирішити проблему. Швидкий погляд на вихідний код, він просто надсилає повідомлення CFNotificationCenter, щоб вийти з режиму штор.

Я не впевнений, чи є спосіб підключитися до процесу виходу ARD, щоб це було запущено кожного разу, коли ви відключаєте сеанс, але принаймні ви можете запустити його через SSH за необхідності.


1
Це виглядає перспективно! Спробую наступного разу, коли зможу відтворити помилку.
Джон Сіракуза

1
Незважаючи на багато спроб, я все ще не зміг відтворити свою помилку. Оскільки завтра закінчується виплата, я прийму цю відповідь, виходячи з припущення, що вона спрацює.
Джон Сіракуза

Я теж не зміг його відтворити, але я знайшов деяку документацію про те, як використовувати AppleScript для розблокування екранів, і опублікую це як окрему відповідь, хоча цей варіант видається найкращим місцем для баунті для деталізації рівня коду на внутрішня робота CFNotificationCenter.
bmike

1
Це спрацювало чудово. Якщо в будь-якому випадку деякі люди все ще стикаються з цим питанням (як я), ви можете знайти код на github.com/mattlavine/sunshine-ard .
пр.

2
Я спробував це на моєму комп'ютері, який працює Mojave, і це не спрацювало, фій.
Бред Паркс

6

Це найшвидше рішення, яке я знайшов, - це зробити з'єднання 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" 

Це змусить перезапустити заблокований екран і зробить його знову доступним.

Я знаю, це як повідомлення, що викладене вище. Це також робиться на двох машинах 10.8.2, на яких працює ARD 3.6.1.


Це працювало для мене на El Cap сьогодні вдень (і врятувало день). Спасибі!
Марк

1
Спробував це на Мохаве, не пощастило.
Ной

3

Оскільки це вартий, це відома помилка ARD і, мабуть, вже деякий час. У цій Apple KB є стаття про це, але немає пропозицій щодо її виправлення. http://support.apple.com/kb/TS2401

Основна частина документа:

Якщо ви використовуєте віддалений робочий стіл для того, щоб взяти під контроль клієнта в режимі завіси, потім увійдіть або вийдіть на віддалений клієнт, сеанс управління закінчиться, і ви не зможете знову взяти під контроль комп'ютер до його перезавантаження. Це відбувається на клієнті під керуванням Mac OS X v10.5 або пізнішої версії, а також відбудеться, якщо ви заблокуєте екран клієнта перед тим, як взяти Control.

Дозвіл

Перш ніж вийти із системи, закрийте будь-які вікна з конфіденційною інформацією, закінчіть сеанс управління (і, якщо необхідно, розблокувати екран). Не виходите з віддаленого клієнта, контролюючи його в режимі завіси.


2

Гаразд, я не можу коментувати використання ARD, у мене його немає, але це може бути підходящим рішенням, принаймні тим часом.

Використовуючи звичайний обмін екраном, у вас є можливість використовувати або апаратний дисплей, або віртуальний. Це було простою справою на 10.7, але вона була прихованою, а не на 10,8, і команда пункту меню для переключення дисплеїв відсутня.

Щоб використовувати віртуальний дисплей, ось що вам потрібно зробити. По-перше, попросіть іншого користувача до вашого звичайного, який має відповідні параметри спільного використання екрана, а потім увійдіть:

  • Якщо ніхто не увійшов у цільову машину, ви завжди отримаєте дисплей апаратури, на якому відображатиметься звичайний екран входу
  • Якщо ваш користувач, який ви намагаєтесь увійти так, як уже ввійшов у систему, він завжди перейде на цього користувача і використовувати апаратне відображення
  • Якщо ви входите з іншим користувачем, який ще не ввійшов на дисплеї обладнання, ви отримаєте таке повідомлення та можливість використовувати віртуальний дисплей, що призводить до того, що ви можете робити все, що завгодно, не змінюючи головний екран і не маючи можливості будь-хто, хто мав змогу це спостерігати

введіть тут опис зображення

Це не ідеально, вам потрібно переконатися, що ваш вторинний користувач має відповідні права доступу до файлів, і таким чином, що вам може знадобитися доступ, або, можливо, вам доведеться застосувати незручну практику залишати свого вторинного (або "манекена") користувача увійдіть у систему, коли виходите з кабінету, що дозволяє використовувати ваш основний ідентифікатор під час спільного доступу до екрана, але це може допомогти.


2

Apple надає приклад того, як скриптувати екран блокування у розділі 9 Посібника адміністратора ARD .

Можливо, цей скрипт на сторінці 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, але ось що я спробував:

З мого Mac 10.8.2 / 3.6.1 адміністратора я заблокував екран на своєму клієнті 10.6.8, вийшов із клієнта та відтворив глюк блокування екрана. Мене відключили від сеансу ARD, і клієнт залишився зі значком блокованого екрана. Я ввійшов до клієнта і, намагаючись отримати трохи кохання від 'kickstart', я запустив список startctl, який виявив роботу 'LockScreen'. Вбивство його без подачі сигналу не мало ніякого ефекту, але надсилаючи його -9, вилучив піктограму блокування з екрана і через кілька секунд завантажилося вікно входу. Вам доведеться спробувати це за ваших умов, щоб переконатися, що ця сама техніка працює на заблокованій машині 10.8.2 / 3.6.1 і коли проблему викликає щось інше, ніж користувач, який вийшов із системи.


1
Я напевно вбив цей процес, а потім побачив, що замок залишається на екрані. Я спробую його знову наступного разу, коли відтворять помилку, просто щоб бути впевненим.
Іоанна Сіракуза

Хороша інформація про проспект усунення несправностей, але вбити процес не спрацює. Дивіться мій яблучний сценарій, щоб розблокувати програмно.
bmike

2

Якщо ви перебуваєте на "Ель-Капітан", наведені вище вказівки щодо вбивства блокуваного екрана не спрацюють. Існує деякий процес, який продовжує його запускати, і я не зміг його знайти за допомогою launchctl list. Я також намагався вимкнути ARD через свій sshлогін, але це теж не вийшло. Мабуть, LockScreen.app і ARD - це роз'єднані процеси чи щось. Мені довелося робити, shutdown -r nowщоб зробити перезавантаження. Я дуже роздратований тим, що Apple не виправила цю помилку чи не забезпечила її вирішення, що, знаєте, насправді працює ПІСЛЯ цього факту.


Дійсно, у мене є та сама проблема. Я намагався вбити лок-екран та інші демони, що працюють, але не пощастило. Я буду шукати різні рішення і розміщу їх тут, якщо знайду якісь.
Пт

Пощастило знайти рішення?
tmm1

0

У додатку «Віддалений робочий стіл» відкрийте список системи та виділіть віддалену машину, яка показує статус «Заблокований екран». Відкрийте меню Взаємодія та виберіть "Розблокувати екран ..."

Ви відразу побачите зміну статусу системи з "Заблокованого екрана" на "Доступного". Потім можна ініціювати нове підключення режиму завіси.


Яка програма віддаленого робочого столу це?
tmm1

Apple Remote Desktop.App v 3.9.
тягер
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.