Verrouillage de l'écran de commande One-Liner

62

J'essaie de savoir s'il existe un type de ligne unique de ligne de commande équivalent qui reproduit exactement la fonctionnalité identique de l'option de menu "Écran verrouillé" disponible via l'application Trousseau sous OS X 10.6.

Je connais toutes les solutions "habituelles" (préférences de veille / économiseur d'écran pour exiger un mot de passe lors de la réactivation), mais elles ne me conviennent pas.

Je suis aussi conscient de cette option:

/System/Library/CoreServices/Menu\ Extras/user.menu/Contents/Resources/CGSession -suspend

qui ne convient pas non plus pour moi.

La fonctionnalité parfaite est l'option "Verrouiller l'écran", mais je n'ai pas encore trouvé de façon élégante de l'appeler.

Pour le moment, j'appelle via Automator, ce qui n'est pas élégant!

J'ai lu beaucoup de choses sur ce sujet et j'ai cru comprendre que personne n'avait encore trouvé le «Saint Graal», mais je me demandais si cela aurait pu changer.

utilisateur40433
la source
Comment appelez-vous avec Automator?
Matthieu Riegler
3
Quel est le problème avec la définition des préférences de sécurité pour exiger un mot de passe lorsque l'économiseur d'écran est actif, puis l'utilisation d'un coin actif pour activer l'économiseur d'écran? C'est rapide et élégant, mais vous avez dit que vous n'aimiez pas cette solution.
Mars Ƭ
3
C’est une suggestion pragmatique, que j’ai essayée de manière répétée au cours de nombreuses années d’utilisation, mais la nature de mes habitudes de travail fait que cela gêne plus de 80% du temps. J'ai besoin de la capacité de répondre (physiquement) aux demandes d'ingénierie et aux urgences et de verrouiller immédiatement l'écran, mais également d'accéder à distance à la boîte tout en maintenant toutes ses connexions et tâches en arrière-plan.
user40433
1
Re: "Où se trouve le menu Écran de verrouillage dans le trousseau" Ouvrez le trousseau ... préférences ... afficher dans la barre de menus! Re: "qu'est-ce que ça fait?" Cela verrouille l'écran! Au-delà de cela, je pense avoir expliqué mes exigences (et mon aversion pour les «solutions» que certaines personnes croient répondre à mes exigences mais ne le font pas) de manière assez approfondie.
user40433
1
Voir aussi stackoverflow.com/questions/1976520/…
rogerdpack

Réponses:

50

Sous OS X 10.9 et versions ultérieures:

pmset displaysleepnow

En soi, cette commande ne fait que mettre l'affichage en veille, ce qui donne un écran noir. En configurant votre ordinateur de manière à exiger un mot de passe immédiatement après une mise en veille, ce one-liner fonctionne comme une commande "Verrouiller l'ordinateur". La préférence est disponible dans Préférences Système> Sécurité et confidentialité> Général .

Source: Comment verrouiller l'écran sur MacBook Air?

jordanbtucker
la source
9
pour des raisons d’intégralité, cela ne fonctionne que si l’option de sécurité «Ré-obtenir le mot de passe après le repos ou l’économiseur d’écran» est activée dans les préférences système
Hofi
1
Cela semble plus équivalent à CTRL + MAJ + Eject.
Jan Kyu Peblik
Ceci n'est pas équivalent à l'élément de la barre de menus du trousseau. Cela ne verrouille pas l'écran; il ne fait que mettre l'ordinateur en veille.
Radon Rosborough
1
@RadonRosborough Non, cela ne met pas l' ordinateur en veille. Il ne met l' écran pour dormir, Si vous accédez à distance Mac verrouillé tout fonctionne. Il s’agit peut-être de la réponse la plus courte et la plus rapide car elle ne passe pas par l’ensemble de l’interface graphique lente du trousseau ni de l’interface graphique lente du Finder.
dan
C’est une bien meilleure solution que l’entrée de menu Porte-clés ancienne et mal placée.
dan
41

Remarque: Cette solution est unique car elle utilise la fonctionnalité d'état de la barre de menus du trousseau d'accès, mais elle ne nécessite pas l'activation de l' Show keychain status in menu baroption comme le font les méthodes AppleScript.

Je cherchais aussi une solution pour cela. Aujourd'hui, j'ai juste eu le temps de m'amuser et j'ai trouvé un moyen d'appeler la fonctionnalité par programme à partir du plugin de menu du trousseau. Cette solution fonctionne parfaitement tant que Apple ne modifie pas les éléments pertinents du plug-in de menu du trousseau. Vous pouvez créer un petit fichier binaire pour verrouiller votre écran en le collant dans votre terminal ...

# Do our work in the temporary directory that gets cleaned on boot
cd /tmp

# Create the source file
cat > main.m <<END_OF_FILE

#import <objc/runtime.h>
#import <Foundation/Foundation.h>

int main () {
    NSBundle *bundle = [NSBundle bundleWithPath:@"/Applications/Utilities/Keychain Access.app/Contents/Resources/Keychain.menu"];

    Class principalClass = [bundle principalClass];

    id instance = [[principalClass alloc] init];

    [instance performSelector:@selector(_lockScreenMenuHit:) withObject:nil];

    return 0;
}

END_OF_FILE

# Compile the source file
clang -framework Foundation main.m -o lockscreen

Exécutez le programme en tapant:

./lockscreen
mrArkwright
la source
Pourriez-vous préciser comment l'utiliser? Dois-je copier-coller cela dans un flux de travail Automator? Ou en faire un AppleScript? Dans l'état actuel des choses, il est difficile de faire quelque chose avec votre réponse.
Saaru Lindestøkke
1
Ceci est un simple programme Objective-C. Copiez-le dans un fichier appelé main.m. Ensuite, exécutez 'clang -framework Foundation main.m -o lockscreen' pour compiler le programme. './lockscreen' lance le programme et verrouille votre écran.
mrArkwright
Essayé, fonctionne comme décrit. La compilation génère un avertissement instance method '-_lockScreenMenuHit:' not found, mais l'application lockscreen fonctionne néanmoins. Cependant, lorsque vous double-cliquez dessus, une fenêtre de terminal s'ouvre avant de verrouiller l'écran. Après le déverrouillage, vous devez fermer la fenêtre manuellement. Est-il possible de fermer cette fenêtre automatiquement?
Saaru Lindestøkke
6
J'ai collecté une application OS X: Lock Screen.app basée sur cette réponse et le travail de quelqu'un, comme indiqué dans le lien, il enveloppe simplement ce code et ajoute une belle icône afin que nous puissions l'exécuter directement, merci.
Mengdi Gao
1
Cela ne fonctionne plus à la version 10.13 car le MenuExtra a été supprimé. Cela fonctionne à la place: stackoverflow.com/a/26492632/368409
Lloeki
15

J'utilise Alfred →

entrez la description de l'image ici

Le raccourci clavier universel me permet de l'activer à l'aide d'un clavier.

Vaibhav Bajpai
la source
Impressionnant! Le raccourci clavier universel est-il intégré ou fait-il partie du powerpack?
Dan Rosenstark
1
C'est intégré ...
Vaibhav Bajpai
2
Malheureusement, ce n’est pas le cas: la connexion Internet est également coupée, mais pas le verrouillage du menu Trousseau.
Marcin Bobowski
Il existe également un équivalent dans la barre de lancement : "Verrouiller l'écran"
William Turrell
Ce n'est pas équivalent à l'élément de menu Trousseau. Il ne met pas l'ordinateur en veille et lit également une animation gênante.
Radon Rosborough
15

MISE À JOUR: 2019.

L'écran de verrouillage du trousseau n'est plus disponible dans la version actuelle du MacOS Mojave & High Sierra.

Apple a maintenant ajouté un élément de menu Verrouiller l’écran dans le menu Pomme. Cela a le raccourci clavier par défaut de crtl + cmd + Q

entrez la description de l'image ici


------------- Ancienne réponse pour le système d'exploitation précédent ci-dessous --------------

La réponse de @Bart Arondson consiste à utiliser certains codes de clé pour naviguer dans le menu de l'écran de verrouillage du trousseau.

Tous les codes de clé peuvent être contournés à l'aide de la GUI Scripting pour accéder directement aux éléments du menu.

L'utilisation de codes de touches pour naviguer dans les menus peut être aléatoire. Et autant que je n'aime pas les scripts GUI car il peut aussi être aléatoire, à mon avis, il est moins aléatoire dans ce cas.

Ce code AppleScript: (mis à jour le 18/05/2016, provenant de Utiliser AppleScript pour verrouiller l'écran , a confirmé qu'il fonctionnait dans El Capitan)

tell application "System Events" to tell process "SystemUIServer"
    tell (menu bar item 1 of menu bar 1 where description is "Keychain menu extra")
        click
        click menu item "Lock Screen" of menu 1
    end tell
end tell

Peut être utilisé dans une action Automator 'Run Applescript' dans un flux de travaux du service Automator.

entrez la description de l'image ici

Vous donnez alors au service un raccourci clavier. De la manière habituelle dans Les raccourcis clavier.

entrez la description de l'image ici

Le service:

entrez la description de l'image ici

markhunte
la source
Cela a fonctionné très bien pour ce dont j'avais besoin, merci!
Nictrix
vous pouvez également exécuter une commande de terminal à partir d'automator, alors je l'ai utilisée. il semblait plus "élégant" :). très belle solution quand même!
Sorin Buturugeanu
3
J'ai utilisé cette solution pendant longtemps, mais depuis osX El Captain, cela ne fonctionne plus :(.
Marcin Bobowski
Toujours en train de regarder ça. Mais il semble que le menu ne fasse pas rapport sur lui-même pour que le prochain élément soit cliqué. L'exécution de ces deux lignes fonctionne mais est lente. tell application "System Events" to tell process "SystemUIServer" to click (first menu bar item of menu bar 1 whose description is "Keychain menu extra") tell application "System Events" to click (menu item "Lock Screen" of menu 1 of menu bar item 1 of menu bar 1 of application process "SystemUIServer")
markhunte
8

Définissez les préférences pour verrouiller l'écran lorsque l'économiseur d'écran est actif.

Volet Préférences Sécurité et confidentialité

Ensuite, vous pouvez utiliser cette commande de terminal pour démarrer l'économiseur d'écran.

/System/Library/Frameworks/ScreenSaver.framework/Resources/ScreenSaverEngine.app/Contents/MacOS/ScreenSaverEngine

Autant que je sache, c’est exactement ce que fait l’élément de menu Porte-clés.

Ɱark
la source
Merci pour votre commentaire, mais c’est ce avec quoi je lutte depuis trop longtemps et j’essaie de trouver une alternative à.
user40433
1
Juste pour des raisons de clarté et d’exhaustivité, je pense que ce qui précède démarre effectivement l’économiseur d’écran mais ne fait pas ce que propose la fonction de menu «Écran verrouillé».
user40433
1
Ensuite, vous devez être plus précis sur ce que vous recherchez exactement.
Mars
Hmmm ... je ne suis pas sûr que je puisse être plus précis ou succinct que le premier paragraphe de ma question initiale!
user40433
1
J'ai eu la chance de tester le 10.6.8. Sur ce système d'exploitation, le moniteur est éteint et la session est verrouillée. J'ai trouvé un moyen programmatique de faire cela, mais ce n'est pas intégré.
mardi
3

Je pense que la réponse à votre question est "Non, il n'y a pas de moyen de le faire en ligne de commande."

Comme il s'agit d'un élément de la barre de menus, vous ne pouvez pas y accéder facilement à l'aide de Keyboard Maestro ou d'un autre outil similaire.

Cependant, si vous n'êtes pas opposé à une solution utilisant une application tierce, QuickLock vous le permet.

C'est une application gratuite (dons acceptés) qui vous permettra d'attribuer un raccourci clavier pour verrouiller l'écran. Il existe également un élément de la barre de menus sur lequel vous pouvez cliquer pour verrouiller l’écran.

L'application vous permettra de définir un mot de passe (distinct du mot de passe de votre compte).

Il ne nécessite pas l'utilisation d'un mot de passe avec économiseur d'écran, il est complètement séparé.

Vous pouvez voir une vidéo de celle-ci en action à l' adresse http://www.youtube.com/watch?v=SBHwykPB19o.

ps lorsque l'écran est verrouillé, tapez votre mot de passe pour le déverrouiller. J'étais confus parce que je m'attendais à voir un champ de mot de passe. Il n'y en a pas. Vous venez de taper le mot de passe.

pps Je ne l'utilise que depuis quelques minutes, il y a peut-être d'autres problèmes que je ne connais pas, mais cela semble correspondre au projet de loi.

TJ Luoma
la source
Merci pour votre contribution ... bien que ce ne soit pas ce que je cherchais (j'adore les méthodes open source et de bricolage!), Elle a l'air très intéressante et semble offrir les fonctionnalités dont j'ai besoin, bien que dans une application tierce. Je vais y regarder de plus près. Merci!
user40433 le
J'aimerais trouver un moyen de le faire aussi, mais je ne pense pas qu'il en existe un.
TJ Luoma
semble mort ...
rogerdpack
3

Le Mac n’est pas conçu pour vous offrir une telle option. Toutefois, cet article explique une solution de contournement à l'aide de QuickSilver. Bien que je ne comprenne pas pourquoi vous n'aimez pas la solution native d'Apple, je vous souhaite bonne chance pour trouver une solution.

bispymusique
la source
3

Un moyen rapide de mettre votre ordinateur en veille via une ligne de commande à l'aide d'AppleScript est

osascript -e 'tell application "Finder" to sleep'

Cela ne verrouille pas votre écran, sauf si vous l'avez configuré pour exiger immédiatement un mot de passe, ce que je n'aime pas faire. Je ne fais que le noter pour la postérité.

Bruno Bronosky
la source
3

Facile alias. Ajoutez ceci à votre base

alias afk="osascript -e 'tell application \"System Events\" to keystroke \"q\" using {command down,control down}'"

tapez afkvotre terminal à exécuter.

Aritro Paul
la source
2

J'ai utilisé le code posté ci-dessus par jnk. Ensuite, j'ai utilisé appify pour le transformer en une application OS X, mathiasbynens.be/notes/shell-script-mac-apps . Ensuite, j'ai utilisé Quicksilver pour attribuer mon propre raccourci clavier (j'ai choisi cmd + L). Le terminal n'ouvre pas / reste ouvert (comme certains le craignaient) avec la façon dont je l'ai configuré car je lance une application OS X à la place.

  1. Suivez la réponse ci-dessus par jnk, Commande de verrouillage de l'écran One-Liner
  2. Utilisez appify pour en faire une application OS X en suivant le lien ci-dessus dans mon résumé.
  3. Installez Quicksilver.
  4. Utilisez Quicksilver pour attribuer un raccourci clavier pour lancer la nouvelle application. C'est sous "Déclencheurs". J'apprécie Quicksilver parce que j'aime avoir des raccourcis clavier / des touches de raccourci pour lancer des applications et des sites Web sous OS X.
jbrock
la source
1

J'ai aussi rencontré ce problème. /System/Library/CoreServices/Menu\ Extras/user.menu/Contents/Resources/CGSession -suspendoblige le système à suspendre toutes les tâches plutôt que de verrouiller l'écran.

JordanBtucker était sur la bonne voie, voici la fonction complète que j'utilise:

lockscr() {
  if [ "$(defaults read com.apple.screensaver askForPasswordDelay 2>/dev/null)" ]; then
    local Olddelay="$(defaults read com.apple.screensaver askForPasswordDelay)"
    defaults write com.apple.screensaver askForPasswordDelay -int 0 && \
        pmset displaysleepnow
    defaults write com.apple.screensaver askForPasswordDelay -int "${Olddelay}"
  else
    defaults write com.apple.screensaver askForPasswordDelay -int 0 && \
        pmset displaysleepnow
    defaults delete com.apple.screensaver askForPasswordDelay
  fi;
}

Cela préserve ses propres paramètres mais verrouille l'écran en toute sécurité :)

Jorvi
la source
En High Sierra, ces valeurs ne sont plus définies par l'interface utilisateur. Cependant, si vous les définissez manuellement, l'interface utilisateur les honorera. defaults write com.apple.screensaver askForPassword -bool TRUEet defaults write com.apple.screensaver askForPasswordDelay -int 10 ce sont mes valeurs par défaut. Maintenant, le script ci-dessus se comportera comme décrit.
Sean Perry
0

J'utilise BetterTouchTool à cette fin et j'ai assigné un raccourci clavier à "Écran de basculement vers l'écran de connexion" (qui est l'écran verrouillé): ne remplit pas l'exigence de la ligne de commande, mais peut néanmoins vous être utile.

raccourci clavier dans BetterTouchTool pour verrouiller l'écran

Iolsmit
la source
Merci pour votre aide et votre suggestion. Avec QuickLock mentionné ci-dessus par @TJLuoma BetterTouchTool (bien que ce ne soit pas la méthode que je cherchais à trouver) semble bien se rapprocher de mes objectifs fonctionnels. Je vais regarder de plus près à cela ... merci.
user40433 le
0

Je ne suis pas tout à fait sûr de comprendre votre problème ici. Si vous avez besoin d'un mot de passe sur l'écran de veille, cela n'empêchera pas les processus de s'exécuter et ne vous empêchera pas d'accéder à distance à votre Mac. J'ai cette option configurée (en utilisant ControlPlane pour l'activer au travail et la désactiver à la maison) et je n'ai jamais vu le système refuser de répondre à une connexion Remote Desktop, VNC ou SSH. Dans tous les cas où l'accès à une interface graphique est requis, il suffit de saisir le mot de passe. SSH utilise une paire de clés, aucun mot de passe n’est demandé. Si vous ne souhaitez pas que les applications soient en veille, assurez-vous que les paramètres d'alimentation du système sont tels que le système ne passera pas en veille avant votre retour. Réglez simplement le délai de mise en veille sur un long délai. Si vous ne voulez pas être dérangé pour entrer un mot de passe quand vous êtes assis devant l'ordinateur et travaillez,

J'utilise ctrl-shift-eject pour verrouiller l'écran. C'est rapide, simple et ça marche. C'est le moyen intégré pour verrouiller l'écran. Personne n’est susceptible de proposer une alternative simplement parce que la réplication des fonctions déjà intégrées au système d’exploitation est un peu trop redondante pour que quiconque puisse y consacrer beaucoup de temps.

Autant que je sache, il n’existe de toute façon pas d’option «écran de verrouillage» dans Keychain dans 10.8; votre solution préférée n’existera donc pas si vous effectuez une mise à niveau. Modifier: Je ne l’ai pas remarqué dans les préférences du trousseau; oui, il est toujours là dans 10.8.

Si vous utilisez Automator à cette fin, ne pouvez-vous pas simplement empaqueter le script en tant qu'application et attribuer un raccourci clavier ou le laisser dans le Dock pour un accès rapide?

dr.nixon
la source
La combinaison de touches ctrl-shift-éjecte passe en mode "changement rapide d'utilisateur". Au moins une solution VPN (celle que je dois utiliser à des fins professionnelles) n'aime pas cela et déconnecte le VPN lorsque je le fais, mettant ainsi fin à toutes les sessions sous-jacentes auxquelles je suis connecté. Bien que je puisse simplement me reconnecter à ma session VPN lorsque je déverrouille l'ordinateur, l'expérience peut être longue et longue, et échoue donc dans l'option "rapide". Par conséquent, ce n’est pas, IMO, une solution précise à la question.
Jon V
0

Tout comme le demandeur de la question, je cherchais un moyen d’utiliser rapidement l’écran de verrouillage des trousseaux.

En combinant les connaissances tirées d'un ancien indice Mac OS X et d'Applescripting, j'ai proposé ce qui suit:

Suivez d'abord les étapes de l' indicateur lié Mac OS X pour ajouter un raccourci clavier à la fonctionnalité Écran de verrouillage des trousseaux.

Pour moi (le 10.8.4), cela ne résolvait pas le problème car je devais appuyer sur ctrl+ F8pour déplacer le focus sur la barre d'état, downpour ouvrir la barre de menus du trousseau, puis sur ctrl+ F9pour verrouiller l'écran. J'ai automatisé ce processus avec l'applescript suivant:

# Press ^F8
tell application "System Events"
    key code 100 using control down
end tell

# Press "down"
tell application "System Events"
    key code 125
end tell

# Press ^F9
tell application "System Events"
    key code 101 using control down
end tell

Ouvrez Automator, créez un nouveau service, ajoutez un Run Applescriptmodule, copiez-collez le code ci-dessus et enregistrez le service Automator avec le nom de votre choix. Maintenant, allez à Raccourcis clavier dans les Préférences Système et ajoutez un raccourci clavier pour le service Automator fraîchement créé. Je mets le mien à ctrl+ cmd+ L.

Maintenant, appuyez sur le raccourci clavier dans n'importe quelle application et votre écran sera verrouillé instantanément.

Pour ceux qui se demandent pourquoi ne pas simplement utiliser d'autres méthodes, voici mon opinion sur elles:

  • Changement rapide d'utilisateur / verrouillage de l'écran
    Avec cette méthode, je suis déconnecté de mon réseau d'entreprise WPA2. Ce n'est pas bon, car la reconnexion prend parfois des siècles.

  • Économiseur d'écran + mot de passe
    Réplique les fonctionnalités, mais cela signifie que si mon ordinateur portable est inactif pendant un certain temps pendant que je lis un papier à côté de lui, l'écran sera verrouillé lorsque je souhaite le réutiliser. Ceci n'est pas souhaitable. Le fait d'associer cette méthode à un coin actif a pour effet secondaire que des utilisateurs Mac inexpérimentés risquent de déclencher le coin ouvert par inadvertance, entraînant ainsi le verrouillage de l'écran. De plus, je rencontre parfois un coin critique par accident, ce qui ralentirait considérablement mon flux de travail.

  • Applications tierces
    Toutes ces solutions sont bonnes, mais pourquoi exécuter une application tierce si elle est disponible de manière native dans le système d'exploitation?

Saaru Lindestøkke
la source
0

Sur 10.14.6 Mojave, je lance le moteur d’économiseur d’écran en utilisant cette commande:

/System/Library/CoreServices/ScreenSaverEngine.app/Contents/MacOS/ScreenSaverEngine

Akash Agarwal
la source
Mais il n'a pas verrouillé. Je frappe une clé et elle s'ouvre. Cela vous dérange-t-il si vous lisez les commentaires d'autres réponses à propos de "Nécessite un mot de passe immédiatement après .." dans les préférences système et mettez à jour le vôtre en conséquence?
Ankii le
-1

J'utilise le paramètre de mot de passe d'économiseur d'écran avec une frappe (Ctrl + Maj + Éjecter) le 10.6.8, et d'après ce que je peux voir, il fait la même chose que l'élément Verrouiller l'écran de l'icône de la barre des tâches du trousseau.

Je sais que cela ressemble à certaines des autres réponses, mais au lieu du "coin brûlant", il utilise une frappe au clavier, ce qui est plus pratique pour moi.

Cette solution est décrite plus en détail ici, c'est de là que je l'ai obtenue: http://osxdaily.com/2011/01/17/lock-screen-mac/

Je l'utilise depuis plusieurs années maintenant sans problèmes.

nwinkler
la source
1
Merci mais, malheureusement, cela nécessite que l'option "exiger l'économiseur d'écran lors du retour du sommeil ou l'économiseur d'écran" soit cochée et, comme mentionné précédemment, ce n'est pas quelque chose que je souhaite avoir activé.
user40433
-1

Eh bien, combinez simplement deux des réponses ci-dessus. Exécutez cette commande:

open -a /System/Library/Frameworks/ScreenSaver.framework//Versions/A/Resources/ScreenSaverEngine.app

Après avoir défini les préférences Sécurité et confidentialité, demandez immédiatement un mot de passe. Créez un alias pour votre shell si vous souhaitez faciliter l’exécution de la commande.

Kirk McElhearn
la source
3
Oui, mais comme mentionné ci-dessus, je ne souhaite pas que les préférences Sécurité et confidentialité exigent toujours un mot de passe immédiatement. C'est pourquoi la fonctionnalité de commande Verrouiller l'écran (en particulier) est si pratique: elle fournit le niveau de sécurité dont j'ai besoin de manière totalement ad hoc.
user40433
-1

FWIW, je comprends votre situation et je cherche moi-même une bonne solution. Je suis tombé sur ce fil parce que je recherchais une méthode un peu plus rapide que celle que j'ai finalement trouvée. J'ai proposé quelque chose qui, bien que différent de ce que j'avais espéré, fonctionne et constitue un compromis acceptable. J'utilise le même type de commandes de script d'interface graphique utilisateur que @markhunte (structure légèrement différente, mais même idée), mais au lieu de tout placer dans un flux de travail de service Automator, je l'ai séparé en un paquet .app construit avec Platypus. Je l’ai fait parce que lors de mes voyages et de mes essais, j’ai constaté que les services Automator fonctionnaient très lentement dans certaines conditions. Si votre Mac est soumis à une contrainte quelconque, par exemple une numérisation de disque en cours d'exécution, un logiciel A / V faisant quelque chose, un courrier électronique, etc. le système d'exploitation semble pousser les services à l'arrière de la ligne. Cela a pour effet de prendre plusieurs secondes avant que le flux de travail soit exécuté (parfois) et parfois même plusieurs secondes avant que les commandes de l'interface graphique du service ne soient exécutées. Très ennuyeux si vous essayez de verrouiller votre écran «rapidement» et qu’il faut 10 secondes pour le faire!

Avoir une «application» autonome présente également l’avantage de pouvoir utiliser littéralement des dizaines d’applications tierces différentes pour l’exécuter, ou simplement d’utiliser Spotlight ou un service Automator pour lancer l’application. N'importe lequel d'entre eux travaillent. Le plus rapide que j'ai trouvé est un vieil utilitaire appelé Spark, qui fonctionne encore miraculeusement même en 10.8.4. Ne me demandez pas comment, depuis que l'ennemi 10.4 a été développé pour la dernière fois! Spark peut être trouvé ici - Spark

En plus de tout cela, j'ai combattu le problème des commandes de l'interface graphique parfois ralenties en regroupant cocoaDialog et en l'appelant d'abord lorsque l'application s'exécute pour afficher une petite bulle flottante au milieu de l'écran indiquant qu'un écran de verrouillage est en cours. Généralement, le verrouillage se produit juste après, mais s'il y a un délai, cela donne au moins un "feedback" visuel indiquant que vous avez appuyé sur les bonnes touches. Je l'ai également rendu automatique - si "Activer l'accès aux aides techniques" n'est pas activé, il vous avertit par un dialogue et vous permet de l'activer immédiatement. Il s'assurera également que le menu d'accès au trousseau est affiché dans la barre de menus puisqu'il s'agit d'une exigence ou que les scripts de l'interface graphique échouent.

Mike M
la source
-2

Ctrl- Shift- ⏏ Eject(sur les anciens Mac),
Ctrl- Shift- ⌽ Power(sur les nouveaux Mac )

Vous êtes les bienvenus.
la source