Comment utiliser uniquement l'écran externe avec le couvercle de mon MacBook Pro ouvert sur Lion?

28

Désolé pour le titre verbeux, mais mon problème est donc:

  • Lorsque je suis à mon bureau, je souhaite utiliser uniquement l'écran externe.
  • Avec les gestes astucieux de Lion, j'ai décidé que j'aimerais utiliser le trackpad interne de mon MacBook
  • Pour toucher physiquement le trackpad, le couvercle de mon MacBook Pro doit être ouvert

Auparavant, c'était un morceau de gâteau avec Snow Leopard et ci-dessous - vous branchez l'écran externe, fermez le couvercle, branchez un périphérique USB ou appuyez sur une touche d'un clavier connecté pour réveiller la machine, et une fois qu'elle est réveillée et utilise l'écran externe rouvre le couvercle et l'écran interne reste éteint.

Malheureusement, Lion détecte quand mon MacBook Pro est ouvert et pense que cela peut être utile en activant l'écran. Existe-t-il un moyen de désactiver cela? Existe-t-il un moyen de tromper Lion en lui faisant croire que mon couvercle est fermé?

Kyle Cronin
la source
1
Pourquoi ne voulez-vous pas l'espace d'écran supplémentaire fourni par l'affichage interne?
CajunLuke
5
@CajunLuke Cela ne fonctionne tout simplement pas très bien. Les écrans multiples sont mieux lorsqu'ils sont assis côte à côte et sont à la même distance de vos yeux. Ils sont également meilleurs lorsque deux écrans adjacents ont la même dimension physique et la même résolution le long du bord partagé. Avec mon MacBook Pro, ce n'est pas le cas, et je trouve ennuyeux de devoir le gérer, et c'est frustrant lorsque mon pointeur disparaît sur l'autre écran
Kyle Cronin
1
D'autres l'ont également souhaité pour une meilleure dissipation thermique ainsi que pour la réception de l'antenne WiFi. Un support vertical peut y aider, mais c'est quelque chose qui pourrait renforcer le désir de Kyle de contrôler l'écran indépendamment du capteur de proximité d'affichage. (ça et pas besoin d'acheter ou de placer un trackpad magique sur sa surface de travail)
bmike

Réponses:

17

Mac OS X Hints a découvert une commande qui permettra ceci :

Pour revenir au comportement antérieur à Lion, entrez la commande suivante dans le terminal:

sudo nvram boot-args="iog=0x0" 

Pour annuler ce type de modification, tapez la commande suivante ou zappez la PRAM (appuyez sur Cmd + Opt + p + r à la mise sous tension):

sudo nvram -d boot-args 
Kyle Cronin
la source
4
À noter: vous devez redémarrer votre ordinateur avant que cela fonctionne.
Damien Wilson
1
Malheureusement, je reçois ce message d'erreur dans High Sierra: "nvram: Erreur lors de l'obtention de la variable - 'boot-args': (iokit / common) erreur générale"
OMA
Sur Mojave (10.14.4) obtenant ceci:nvram: Error setting variable - 'boot-args': (iokit/common) not permitted
Ramazan Polat
17

J'ai suivi la suggestion d'Olivier d'organiser mes moniteurs pour éliminer une frontière commune:

entrez la description de l'image ici

J'ai choisi le bas à droite parce que je garde mon dock sur le côté gauche de mon écran, et j'utilise mon coin supérieur droit comme coin chaud pour dormir l'écran. J'ai également déplacé la barre de menus sur mon moniteur de bureau et l'écran du MacBook est complètement grisé.

Il y avait une autre option dont j'ai entendu parler: utiliser un aimant pour faire croire à votre MacBook que le couvercle était fermé. Cela fonctionne - j'ai placé un extrait d'un aimant de réfrigérateur près du côté inférieur gauche de mon clavier et bien sûr, mon MacBook pensait que j'avais fermé l'écran. Malheureusement, Mac OS X désactive également l'entrée du clavier et du trackpad lorsqu'il pense que l'affichage est fermé, donc cette option n'a pas fonctionné pour moi.

Kyle Cronin
la source
Savez-vous comment faire de l'écran externe la valeur par défaut pour que les fenêtres n'apparaissent pas toujours sur l'écran de l'ordinateur portable?
Szabolcs
1
Peu importe, j'ai recherché les mauvais mots clés. Il vous suffit de faire glisser la barre de menus blanche.
Szabolcs
4

Contournement rapide (pas une solution réelle)

Cochez simplement l'option "Écrans miroir" dans les préférences d'affichage. Voir la capture d'écran ci-dessous.

Préférences d'affichage - Écrans miroir

Ensuite, réduisez la luminosité du Macbook à zéro.

Hazem Alsughair
la source
Il y a plusieurs problèmes avec cela. Il y a des avantages à désactiver un écran inutilisé, et cette approche y perd. 1) libère la VRAM, car elle n'a pas besoin de tampon d'écran (en particulier un écran rétine haute résolution), 2) elle empêche les fenêtres de s'y accrocher accidentellement 3) ferme le couvercle déplace automatiquement toutes les fenêtres de l'écran de l'ordinateur portable vers l'écran externe
Alexander - Reinstate Monica
Je pense que vous avez raté le point où il a dit de refléter les écrans. Cela peut encore utiliser des ressources supplémentaires, mais le véritable inconvénient ici est qu'il limite les résolutions que vous pouvez utiliser. Pour moi, cela a bien fonctionné (les deux moniteurs fonctionnent en 3360x1890, ce que je veux)
therealsix
inutile si vous avez 2 écrans externes
bormat
2

Je sais que c'est un peu compliqué, mais mon travail autour de ce problème consiste à maintenir le contrôle de la luminosité de mon macbook jusqu'à ce que l'écran s'assombrisse.

Comme vous, je préfère travailler sur un écran plus grand et continuer à taper avec mon clavier d'ordinateur portable (avec l'écran d'ordinateur portable ouvert seulement partiellement et ouvert juste assez pour pouvoir utiliser le clavier de l'ordinateur portable).

Quoi qu'il en soit, cette solution fonctionne pour moi.

Re: "..et c'est frustrant quand mon pointeur disparaît sur l'autre écran .."

Je contourne cela en cliquant simplement sur l'option "écrans en miroir" dans les Préférences Système> Écrans> Arrangement

J'espère que cela t'aides.

user1556373
la source
3
"Affichage miroir" ne fonctionnera pas si votre écran externe a une meilleure résolution que votre écran interne. J'utilise la même solution que vous (obscurcir l'écran) mais j'arrange les moniteurs pour qu'ils aient très peu de bordure commune, afin de ne pas perdre mon pointeur.
olivier
1
Re: "Affichage miroir", vous avez raison, j'aurais dû mentionner que mon plus grand moniteur externe Samsung 22 "a exactement la même résolution 1680x1050 que mon MacBook Pro 15" 2011
user1556373
@olivier: l'affichage miroir fonctionne si les écrans externes ont une meilleure résolution. Après avoir activé "Écrans miroir", allez dans l'onglet "Écran" et sélectionnez l'affichage avec la meilleure résolution dans le menu déroulant "Optimiser pour". Ensuite, vous obtiendrez votre résolution native dans votre moniteur de résolution supérieure et dans le moniteur interne, vous obtiendrez la même image mais réduite à sa résolution inférieure.
OMA
2

Je ne sais pas si cela fonctionne dans Lion, mais si vous avez le couvercle fermé et que vous branchez un périphérique USB, cela mettra votre moniteur sous tension, puis vous pourrez ouvrir le couvercle et votre moniteur externe sera allumé et votre couvercle sera éteint.

Mark Steudel
la source
2

J'ai rencontré le même problème il y a quelque temps, et voici ce que j'ai fait:

Tout d'abord, j'ai reflété les affichages, comme cela a déjà été suggéré. Peu de temps après avoir fait cela, j'ai réalisé que c'était très distrayant d'avoir l'écran allumé du macbook dans le coin de l'œil. Cela m'a obligé à tuer la luminosité sur l'écran du macbook. Mais étant le gars paresseux que je suis, je détestais devoir régler manuellement la luminosité à chaque fois que je débranchais / branchais un moniteur externe. Je me suis donc demandé s'il y avait un moyen d'automatiser le processus. J'ai trouvé cette application gratuite appelée Control Plane qui me permet de définir des «contextes» selon que certains appareils (moniteurs, disques durs, etc.) sont branchés, si certains réseaux Wi-Fi sont à portée, etc. et en fonction de ces contextes, exécutez certains scripts shell. Donc, tout ce que j'avais à faire était d'écrire un script Apple (appelékillBrightness.scpt) pour tuer la luminosité sur l'écran du macbook et un script shell à appeler killBrightness.scpt; et appelez ce script shell dans le contexte requis.

killBrightness.scpt

tell application "System Preferences" to set current pane to pane "Displays"

tell application "System Events"
    tell process "System Preferences"
        repeat with theWindow in windows
            if title of theWindow as string is "Color LCD" then
                tell tab group 1 of theWindow
                    tell slider 1 of group 2
                        set value to 0
                    end tell
                end tell
            end if
        end repeat
    end tell
end tell

tell application "System Preferences" to quit

Le script shell

#!/bin/sh

osascript /path/to/killBrightness.scpt

Depuis que je branche de nombreux moniteurs différents dans mon macbook, j'ai remarqué que lorsque l'un avec un rapport d'aspect différent est branché, mes fenêtres pendent du bord de l'écran. La solution à cela serait de redimensionner les fenêtres, mais c'est très inefficace lorsque vous utilisez une tonne d'applications et de fenêtres comme moi; aussi, étant aussi paresseux que moi, je n'aimais pas cette solution. Donc, avec l'aide des gens sympas de Stack Overflow, j'ai pu trouver cet AppleScript (appelé resizer.scpt) pour redimensionner automatiquement toutes les fenêtres de (presque) toutes les applications (la mise en garde est que certaines applications n'utilisent pas la bonne Les crochets du cadre de l'interface utilisateur, il est donc assez difficile de les redimensionner):

resizer.scpt:

property blacklist : {"Finder", "Preview", "Console", "AppleScript Editor", "Spotify", "TaskCoach", "Skype", "VirtualBox"}
property buttonApps : {"LyX", "Eclipse"}
property buttonMaps : {{name:"LyX", Button:1, pname:"lyx"}, {name:"Eclipse", Button:2, pname:"eclipse"}, {name:"Spotify", Button:3, pname:"Spotify"}, {name:"TaskCoach", Button:3, pname:"TaskCoach"}}

tell application "Finder" to set theBounds to bounds of window of desktop

tell application "System Events"
    set bids to bundle identifier of processes where background only is false
end tell

repeat with bid in bids
    tell application id bid
        if name is not in blacklist then
            set appName to name as string
            if name is "Terminal" then
                set newBounds to {0, 0, (item 3 of theBounds) - 10, item 4 of theBounds}
                repeat with theWindow in windows
                    if visible of theWindow is true then
                        set bounds of theWindow to newBounds
                    end if
                end repeat
            else if name is not in buttonApps then
                try
                    repeat with theWindow in windows
                        if visible of theWindow is true then
                            set bounds of theWindow to theBounds
                        end if
                    end repeat
                end try
            else if name is in buttonApps then
                -- get the buttonNumber
                repeat with buttonApp in buttonMaps
                    if (name of buttonApp as string) is appName then
                        set theButton to Button of buttonApp
                    end if
                end repeat
                tell application "System Events"
                    repeat with theProcess in (processes where bundle identifier is bid)
                        try
                            tell theProcess to tell window 1 to click button theButton
                        end try
                    end repeat
                end tell
            end if
        end if
    end tell
end repeat

Maintenant, tout ce que j'avais à faire était d'écrire un script shell similaire pour appeler resizer.scptet mettre cela dans ControlPlane et j'étais prêt à être paresseux à nouveau!

J'espère que cela t'aides

PS: j'ai oublié de mentionner avant que tout cela a été fait sur mon MacBook Pro 15 pouces, exécutant Lion

inspecteurG4dget
la source
J'ajouterais un autre vote positif si c'était possible. Merci!
noamtm
2

Une autre solution, bien que ghetto, consiste à placer un aimant en ferrite très faible (comme les aimants de réfrigérateur) près du capteur à effet Hall de l'ordinateur portable.

Cela a l'avantage de simuler le mode macshell tout en gardant le couvercle ouvert pour améliorer les performances de refroidissement.

N'utilisez pas d'aimants puissants en néodyme. Cela pourrait endommager le capteur à effet Hall.

Pour se différencier: les aimants en ferrite sont faibles et fabriqués à partir d'un composé noir, les aimants en néodyme sont très puissants et généralement plaqués de nickel, ayant un aspect argenté brillant

! [entrez la description de l'image ici

gatosec
la source
Salut! comment différencier les deux? Où avez-vous trouvé le vôtre?
ankii
Les aimants en ferrite @ankiiiiiii sont faibles et fabriqués à partir d'un composé noir, les aimants en néodyme sont très puissants et généralement plaqués de nickel, ayant un aspect argenté brillant.
gatosec
1

Ceci est une combinaison de quelques-uns des autres messages / commentaires ici en un seul endroit. J'utilise un MacBook Pro exécutant El Capitan.

Avantages de cette méthode par rapport aux commandes du terminal:

  1. aucun redémarrage requis
  2. pas de modification des boot-args

Pas:

  1. branchez et allumez le moniteur externe
  2. allez dans Préférences Système -> Écrans -> Arrangement
    • décochez "écrans miroir"
    • faites glisser la barre de menu blanche de l'écran du macbook vers le moniteur externe ( référence avec les captures d'écran ). Cela fait du moniteur externe l'affichage principal.
    • Disposez les cases bleues de sorte que seuls les coins se touchent (capture d'écran fournie par Kyle Cronin dans les articles ci-dessus). Cela empêche la souris de se déplacer entre les écrans.
  3. fermez les options d'affichage et appuyez sur la touche de variation du macbook (c.-à-d. F1) jusqu'à ce que l'écran soit noir.

Annuler les étapes (en conservant l'arrangement pour plus tard):

  1. appuyez sur la touche d'éclaircissement de l'écran sur le MacBook (par exemple F2).
  2. débranchez le moniteur externe.

Annulez les étapes (pour rétablir la valeur par défaut si vous êtes à nouveau connecté):

  1. appuyez sur la touche d'éclaircissement de l'écran sur le MacBook (par exemple F2).
  2. allez dans Préférences Système -> Écrans -> Arrangement
    • faites glisser la barre de menu blanche vers l'écran du macbook.
    • faites glisser les cases bleues en place.
    • cochez l'option d'affichage miroir.
  3. débranchez le moniteur externe.
Shawn Moore
la source
Un écran noir ne signifie pas qu'il n'est pas utilisé: votre système le saura et les rendus sont également effectués sur l'écran de votre ordinateur portable. En fait, lorsque son blakc la seule chose qui s'éteint est votre rétro-éclairage.
belka
0

Mise à jour 2019

Depuis OS X El Capitan, la protection de l'intégrité du système (SIP) ne permet pas de modifier les options de nvram. Aussi boot-args="iog=0x0"ne fonctionne plus.

Pour résoudre ce problème, j'ai trouvé cette solution:

  1. Accédez au mode de récupération: redémarrez et maintenez + Rjusqu'à ce que le logo Apple apparaisse.
  2. Allez dans Utilitaires> Terminal
  3. Type csrutil disable
  4. Redémarrez Mac
  5. Ouvrez un terminal et saisissez sudo nvram boot-args="niog=1"
  6. Redémarrer avec le couvercle fermé
  7. Connectez-vous avec votre utilisateur et vous pouvez ouvrir le couvercle
  8. Pour des raisons de sécurité, accédez à nouveau au mode de récupération, saisissez csrutil enableet redémarrez

Annuler (plusieurs options):

  • Accédez au terminal et saisissez sudo nvram -d boot-args.
  • ... ou redémarrez et maintenez enfoncées ces quatre touches ensemble: + + P+ Rpour réinitialiser votre NVRAM.
Carlos Bernardez
la source
-1

C'est ainsi que j'y parviens.

  1. Connectez votre MacBook avec le câble d'alimentation (chargeur).
  2. Connectez-vous avec un clavier + souris externe.
  3. Ouvrez le couvercle du MacBook.
  4. Cliquez maintenant sur les boutons du clavier.
  5. Maintenant que vous utilisez uniquement votre écran externe, votre curseur n'ira pas dans votre autre écran. Il n'y a qu'un seul affichage maintenant.
Siraj Alam
la source
Ça ne marche pas. Après avoir fermé le couvercle, l'ordinateur passe en mode veille et il ne se réveille pas, que j'appuie sur les touches du clavier externe ou sur le bouton de la souris Bluetooth. Il ne se réveillera pas tant que vous n'aurez pas rouvert le couvercle.
OMA
Est-il connecté au chargeur?
Siraj Alam
J'ai essayé à la fois connecté et non connecté
OMA
Cela devrait fonctionner (si vous ne chargez pas) - mais ce n'est pas utile car il dit explicitement qu'il a besoin de l'écran ouvert.
therealsix
-2

Une fois que vous avez branché le moniteur externe, vous voyez pendant un certain temps cette configuration étendue du moniteur. Mais si vous ne souhaitez pas utiliser l'écran d'ordinateur portable, fermez simplement le couvercle du macbook pro et continuez à travailler sur le plus grand écran qui fonctionne. L'ordinateur portable ne passe pas en mode veille. C'est avec la version Lion.

user38518
la source
Je crois que Kyle demandait comment il pouvait le faire avec le couvercle ouvert.
Kevin Chen
Ça ne marche pas. Si vous fermez le couvercle, tout l'ordinateur se met en veille comme d'habitude, de sorte que l'écran externe devient également vierge.
OMA