31 votes

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

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

Malheureusement, il y a un bug de type qui fait que l'écran du Mac distant reste verrouillé, même après m'être déconnecté. (Dernière version de 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. Malgré le fait d'être maintenant physiquement présent devant le Mac, je n'arrive pas à trouver de moyen de déverrouiller l'écran.

Je tente habituellement de me connecter via ssh au Mac depuis une autre machine et de tuer des processus. J'ai essayé de tuer le processus ARDAgent, le processus de verrouillage de l'é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 actions ne semble déverrouiller l'écran. Finalement, je finis par utiliser osascript -e ... pour demander à toutes mes applications en cours d'exécution de quitter proprement, puis j'exécute shutdown -r now pour redémarrer la machine.

Ma question : existe-t-il un moyen de déverrouiller avec succès un Mac bloqué sur l'écran de verrouillage de ARD, en utilisant ssh ou autrement?


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

Je ne suis pas sûr de 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.

1 votes

Sans répondre directement à votre question : Y a-t-il une raison spécifique pour laquelle vous utilisez ARD au lieu de Screen Sharing?

1 votes

Je n'utilise pas le partage d'écran car il ne dispose pas de cette fonctionnalité de "rideau", et je ne veux pas que les gens au travail puissent voir et accéder à mon Mac quand je ne suis pas là.

0 votes

Je vous aurais suggéré d'utiliser le partage d'écran normal et l'affichage virtuel plutôt que le matériel, mais en ce qui concerne une question en suspens de ma part, il semble avoir disparu sous 10.8 en tant qu'option lors de l'utilisation de 10.8 en tant que client...

13voto

Ged Byrne Points 481

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'après un rapide examen du code source, il envoie simplement un message CFNotificationCenter pour quitter le mode rideau.

Je ne suis pas sûr s'il y a un moyen de s'accrocher au processus de déconnexion ARD pour exécuter cela chaque fois que vous déconnectez votre session, mais au moins vous pouvez le lancer via SSH si nécessaire.

1 votes

Cela semble prometteur ! Je vais essayer la prochaine fois que je pourrai reproduire le bogue.

1 votes

Malgré de nombreuses tentatives, je n'ai toujours pas été capable de reproduire mon bogue. Puisque la prime expire demain, je vais accepter cette réponse en supposant qu'elle fonctionnera.

1 votes

Je n'ai pas non plus été en mesure de le reproduire, mais j'ai trouvé de la documentation sur la manière d'utiliser AppleScript pour déverrouiller les écrans et je la posterai comme une réponse séparée, même si celle-ci semble être le meilleur endroit pour la prime pour les détails au niveau du code sur le fonctionnement interne de CFNotificationCenter.

11voto

tron_jones Points 149

Cette solution la plus rapide que j'ai trouvée est de faire une connexion SSH vers un compte administrateur sur l'ordinateur distant qui est verrouillé.

ssh "nom_admin"@adresse_IP/nom_ordinateur

Tapez: ps -ax | grep AppleVNCServer

Vous voulez la ligne qui ressemble à 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 cela.

ensuite saisissez:

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 l'article ci-dessus l'a expliqué. Cela a également été fait sur deux machines 10.8.2 exécutant ARD 3.6.1.

0 votes

Cela a fonctionné pour moi sur El Cap cet après-midi (et a sauvé la journée). Merci!

2 votes

A testé ceci sur Mojave, pas de chance.

1 votes

Je viens de tester sur Catalina (10.15.4) et ARD (3.9.3). Cela m'a évité un redémarrage (et un mal de tête - ARD est extrêmement buggy)

5voto

scottm32768 Points 151

Pour ce que ça vaut, il s'agit d'un bug connu dans ARD et apparemment présent depuis un moment. Cet article de KB d'Apple en parle, mais ne propose aucune suggestion pour le corriger. http://support.apple.com/kb/TS2401

Partie clé du document :

Si vous utilisez Remote Desktop pour prendre le contrôle d'un client en utilisant le mode Curtain, puis vous connectez ou déconnectez sur le client distant, la session de contrôle prendra fin et vous ne pourrez plus reprendre le contrôle de l'ordinateur tant qu'il n'est pas redémarré. Cela se produit sur des clients exécutant Mac OS X v10.5 ou ultérieur, 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, terminez la session de contrôle (et déverrouillez l'écran si nécessaire). Ne vous déconnectez pas sur le client distant tout en le contrôlant en mode Curtain.

4voto

icfantv Points 171

Si vous êtes sur El Capitan, les instructions ci-dessus impliquant de tuer l'écran de verrouillage ne fonctionneront pas. Il y a un processus qui le relance constamment et je n'ai pas pu le trouver en utilisant launchctl list. J'ai également essayé d'éteindre ARD via mon login ssh mais cela n'a pas fonctionné non plus. Apparemment LockScreen.app et ARD sont des processus découplés ou quelque chose comme ça. J'ai dû finalement faire un shutdown -r now pour forcer un redémarrage. Je suis assez exaspéré qu'Apple n'ait pas corrigé ce bogue ou fourni une solution de contournement qui, vous savez, fonctionne réellement APRÈS coup.

0 votes

En fait, j'ai le même problème. J'ai essayé de tuer l'écran de verrouillage et d'autres démons en cours d'exécution, mais sans succès. Je chercherai des solutions différentes et les posterai ici si j'en trouve.

0 votes

Avez-vous eu de la chance en trouvant une solution?

3voto

Oskar Points 1242

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

Comme vous avez déjà un accès osascript, je vous enverrais la commande de déverrouillage.

-- Commencer à commander la copie locale de Remote Desktop
tell application "Remote Desktop"
  -- décider sur quelle liste effectuer ceci, dans ce cas c'est appelé "WorkMac"
  set these_computers to computer list "WorkMac"
  -- déverrouiller l'écran quand c'est terminé
  execute (make new unlock screen task) on these_computers
end tell

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X