Comment déverrouiller un Mac verrouillé avec le verrouillage d'écran "rideau" d'Apple Remote Desktop

28

Apple Remote Desktop possède une fonction "rideau" qu'un client distant peut utiliser pour verrouiller l'écran du Mac contrôlé à distance. Je l'utilise lorsque je me connecte à mon Mac professionnel depuis mon Mac personnel. L'écran de mon Mac de travail affiche une grande icône de verrouillage et un message pendant que je le contrôle à distance depuis mon Mac à l'aide d'Apple Remote Desktop (ARD).

Malheureusement, il y a un bug qui fait que l'écran du Mac distant reste verrouillé, même après que je m'en suis déconnecté. (Dernières ARD et OS X 10.8.2 sur les deux machines.) Lorsque cela se produit, je viens travailler le lendemain pour trouver la grande icône de verrouillage et le message sur l'écran de mon Mac. Bien que maintenant physiquement présent devant le Mac, je ne trouve pas de moyen de déverrouiller l'écran.

J'essaie généralement de me sshconnecter au Mac à partir d'une autre machine et de tuer des processus. J'ai essayé de tuer le ARDAgentprocessus, le processus de verrouillage d'écran (je ne me souviens pas du nom) et tout ce que je peux trouver avec "ard" ou "remote" dans le nom du processus. Aucune de ces choses ne semble déverrouiller l'écran. Finalement, je recourt à l'utilisation osascript -e ...pour dire à toutes mes applications en cours d'exécution de se fermer correctement, puis je lance shutdown -r nowpour redémarrer la machine.

Ma question: existe-t-il un moyen de déverrouiller avec succès un Mac coincé sur l'écran de verrouillage ARD, à l'aide sshou non?


Une façon de reproduire cela: connectez-vous au Mac cible avec le Bureau à distance, lancez le mode Rideau, puis après avoir terminé le travail à effectuer, déconnectez l'utilisateur sur le Mac cible tout en étant en mode Rideau. Cela laissera le Mac inaccessible à l'application Bureau à distance et même à un utilisateur physique de l'ordinateur, avec la grande icône de verrouillage sur l'écran du Mac cible.

Je ne sais pas ce que je fais pour déclencher cette situation, mais je ne me déconnecte certainement pas. De toute façon, il semble que la solution devrait être la même.

John Siracusa
la source
1
Sans répondre directement à votre question: y a-t-il une raison spécifique pour laquelle vous utilisez ARD au lieu du partage d'écran?
nohillside
1
J'utilise ARD parce que le partage d'écran n'a pas cette fonctionnalité "rideau", et je ne veux pas que les gens au travail puissent voir et accéder à mon Mac lorsque je ne suis pas là.
John Siracusa,
J'aurais suggéré d'utiliser le partage d'écran normal et l'affichage virtuel plutôt que le matériel, mais selon une question en suspens, il semble avoir disparu sous 10.8 en option lors de l'utilisation de 10.8 en tant que client ...
stuffe

Réponses:

11

Je n'ai pas de Mac avec ARD pour tester cela, mais cet utilitaire sunshine-ard suggère qu'il peut résoudre le problème. D'un rapide coup d'œil au code source, il envoie simplement un message CFNotificationCenter pour quitter le mode rideau.

Je ne sais pas s'il existe un moyen de se connecter au processus de déconnexion ARD pour que cela s'exécute chaque fois que vous déconnectez votre session, mais au moins vous pouvez l'exécuter via SSH si nécessaire.

robmathers
la source
1
Cela semble prometteur! Je l'essayerai la prochaine fois que je pourrai reproduire le bogue.
John Siracusa
1
Malgré de nombreuses tentatives, je n'ai toujours pas pu reproduire mon bug. Étant donné que la prime expire demain, je vais accepter cette réponse en supposant que cela fonctionnera.
John Siracusa
Moi aussi, je n'ai pas pu le reproduire, mais j'ai trouvé de la documentation sur la façon d'utiliser AppleScript pour déverrouiller les écrans et je posterai cela comme une réponse distincte même si celle-ci semble être le meilleur endroit pour la prime pour le détail du niveau de code sur le fonctionnement interne de CFNotificationCenter.
bmike
1
Cela a parfaitement fonctionné. Si de toute façon certaines personnes rencontrent toujours ce problème (comme moi), vous pouvez trouver le code sur github.com/mattlavine/sunshine-ard .
frbl
2
J'ai essayé ceci sur mon Mac exécutant Mojave, et cela n'a pas fonctionné, fyi.
Brad Parks
6

Cette solution la plus rapide que j'ai trouvée consiste à établir une connexion SSH avec un compte administrateur sur l'ordinateur distant qui est verrouillé.

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

Type: ps -ax | grep AppleVNCServer

Vous voulez la ligne qui lit quelque chose comme

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

Notez le PID qui se trouve à gauche de ceci.

puis entrez:

sudo kill -9 "PID" 

Cela forcera le redémarrage de l'écran de verrouillage et le rendra à nouveau disponible.

Je sais que c'est comme le post ci-dessus qui vient d'être expliqué. Cela se fait également sur deux machines 10.8.2 exécutant ARD 3.6.1.

tron_jones
la source
Cela a fonctionné pour moi à El Cap cet après-midi (et a sauvé la journée). Merci!
Mark
1
J'ai essayé ça sur Mojave, pas de chance.
Noah
3

Pour ce que ça vaut, c'est un bogue connu dans ARD et apparemment depuis un certain temps. Cet Apple KB contient un article à ce sujet, mais aucune suggestion sur la façon de le corriger. http://support.apple.com/kb/TS2401

Partie clé du document:

Si vous utilisez le Bureau à distance pour prendre le contrôle d'un client en utilisant le mode Rideau, puis connectez-vous ou déconnectez-vous sur le client distant, la session de contrôle se terminera et vous ne pourrez pas reprendre le contrôle de l'ordinateur jusqu'à ce qu'il soit redémarré. Cela se produit sur le client exécutant Mac OS X v10.5 ou version ultérieure, et se produira également si vous verrouillez l'écran du client avant de prendre le contrôle.

Résolution

Avant de vous déconnecter, fermez toutes les fenêtres contenant des informations sensibles, mettez fin à la session de contrôle (et déverrouillez l'écran si nécessaire). Ne vous déconnectez pas du client distant tout en le contrôlant en mode Curtain.

scottm32768
la source
2

OK, je ne peux pas faire de commentaire sur l'utilisation d'ARD, je ne l'ai pas, mais cela peut être une solution de contournement appropriée, au moins en attendant.

En utilisant le partage d'écran normal, vous avez la possibilité d'utiliser soit l'affichage matériel, soit virtuel. C'était une chose facile à utiliser sur 10.7 mais elle a été obscurcie plutôt sur 10.8 et la commande d'élément de menu pour basculer entre les affichages a disparu.

Pour utiliser l'affichage virtuel, voici ce que vous devez faire. Tout d'abord, demandez à un autre utilisateur que votre utilisateur normal qui dispose des options de partage d'écran pertinentes autorisées, puis connectez-vous:

  • Si personne n'est connecté à la machine cible, vous obtiendrez toujours l'écran Matériel affichant l'écran de connexion normal
  • Si l'utilisateur auquel vous essayez de vous connecter est déjà connecté, il basculera toujours vers cet utilisateur et utilisera l'affichage matériel
  • Si vous vous connectez avec un autre utilisateur qui n'est pas déjà connecté à l'écran du matériel, vous obtenez le message suivant et la possibilité d'utiliser l'affichage virtuel, ce qui vous permet de faire ce que vous voulez sans changer l'écran principal et sans possibilité de toute personne pouvant le regarder

entrez la description de l'image ici

Ce n'est pas parfait, vous devez vous assurer que votre utilisateur secondaire dispose des droits d'accès appropriés aux fichiers et que vous devrez peut-être y accéder, ou vous devrez peut-être adopter la pratique maladroite de quitter votre utilisateur secondaire (ou "factice") connecté lorsque vous quittez le bureau vous permettant d'utiliser votre ID principal sur le partage d'écran, mais cela peut vous aider.

stuffe
la source
2

Apple fournit un exemple de script de l'écran de verrouillage dans le chapitre 9 du Guide d'administration ARD .

Peut-être que ce script de la page 174 pourrait être raccourci pour simplement envoyer la séquence de déverrouillage:

-- 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 
bmike
la source
2

Je ne peux pas reproduire votre configuration exacte car je n'ai pas actuellement de deuxième machine exécutant 10.8.2 et 3.6.1, mais voici ce que j'ai essayé:

Depuis mon Mac administrateur 10.8.2 / 3.6.1, j'ai verrouillé l'écran sur mon client 10.6.8, je me suis déconnecté du client et j'ai reproduit le problème de verrouillage de l'écran. J'ai été déconnecté de ma session ARD et le client est resté avec l'icône de l'écran de verrouillage. J'ai contacté le client et après avoir essayé d'obtenir un peu d'amour de «kickstart», j'ai exécuté la liste launchctl qui a révélé un travail «LockScreen». Le tuer sans émettre de signal n'a eu aucun effet, mais lui envoyer un -9 a supprimé l'icône de verrouillage de l'écran et après quelques secondes, la fenêtre de connexion s'est chargée. Vous devrez l'essayer dans vos conditions afin de vérifier que cette même technique fonctionne sur une machine verrouillée 10.8.2 / 3.6.1 et lorsque le problème est causé par autre chose que la déconnexion de l'utilisateur.

Stuart Ramdeen
la source
1
J'ai définitivement tué ce processus, puis j'ai vu le verrou rester sur l'écran. Je vais réessayer la prochaine fois que je reproduirai le bogue, juste pour être sûr.
John Siracusa
De bonnes informations sur une solution de dépannage, mais tuer le processus ne fonctionne pas. Voir mon applescript pour envoyer le déverrouillage par programme.
bmike
2

Si vous êtes sur El Capitan, les instructions ci-dessus concernant la suppression de l'écran de verrouillage ne fonctionneront pas. Il y a un processus qui continue de le démarrer et je n'ai pas pu le trouver en utilisant launchctl list. J'ai également essayé d'arrêter ARD via ma sshconnexion mais cela n'a pas fonctionné non plus. Apparemment, LockScreen.app et ARD sont des processus découplés ou quelque chose. J'ai fini par devoir faire un shutdown -r nowpour forcer un redémarrage. Je suis assez énervé qu'Apple n'ait pas corrigé ce bogue ou fourni une solution de contournement qui, vous le savez, fonctionne réellement APRÈS le fait.

icfantv
la source
En effet, j'ai ce même problème. J'ai essayé de tuer l'écran de verrouillage et d'autres démons en cours d'exécution, mais pas de chance. Je chercherai différentes solutions et les posterai ici si j'en trouve.
frbl
Avez-vous de la chance de trouver une solution?
tmm1
0

Dans l'application Bureau à distance, ouvrez la liste des systèmes et mettez en surbrillance une machine distante qui affiche l'état "Écran verrouillé". Déroulez le menu Interact et choisissez "Déverrouiller l'écran ..."

Vous verrez immédiatement le changement d'état du système de "Écran verrouillé" à "Disponible". Vous pouvez ensuite lancer une nouvelle connexion en mode rideau.

Tyager
la source
De quelle application Bureau à distance s'agit-il?
tmm1
Apple Remote Desktop.App v 3.9.
Tyager le