68 votes

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

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

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

Avant, c'était un jeu d'enfant avec Snow Leopard et les versions inférieures : 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, rouvrez le couvercle et l'écran interne reste éteint.

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

29voto

Hazem Alsughair Points 171

Solution de contournement rapide (pas une solution réelle)

Il suffit de cocher l'option "Affichages en miroir" dans les préférences d'affichage. Voir la capture d'écran ci-dessous.

Display Preferences - Mirror Displays

Puis réduisez la luminosité du Macbook à zéro.

0 votes

Il y a de multiples problèmes avec ça. Il y a des avantages à désactiver un écran non utilisé, et cette approche les perd. 1) elle libère de la VRAM, car elle n'a pas besoin d'une mémoire tampon pour l'écran (en particulier pour un écran rétina à haute résolution), 2) elle empêche Windows d'apparaître accidentellement à cet endroit 3) la fermeture du couvercle déplace automatiquement toutes les fenêtres de l'écran de l'ordinateur portable vers l'écran externe.

0 votes

Je pense que vous avez manqué le moment où il a dit de refléter les écrans. Cela peut toujours utiliser des ressources supplémentaires, mais le véritable inconvénient est que cela limite les résolutions que vous pouvez utiliser. Pour moi, cela a bien fonctionné (les deux écrans affichent 3360x1890, ce qui est ce que je veux).

2 votes

Inu inutile si vous avez 2 écrans externes

27voto

Chris Jester-Young Points 102876

J'ai suivi la suggestion d'Olivier de disposer mes moniteurs de manière à éliminer une frontière commune :

enter image description here

J'ai choisi le coin inférieur droit parce que je garde mon dock sur le côté gauche de mon écran, et j'utilise le coin supérieur droit comme coin chaud pour mettre l'écran en veille. J'ai également déplacé la barre de menu vers mon moniteur de bureau et l'écran du MacBook est complètement atténué.

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

0 votes

Savez-vous comment faire de l'écran externe l'écran par défaut afin que Windows ne s'affiche pas sans cesse sur l'écran de l'ordinateur portable ?

4 votes

C'est pas grave, j'ai cherché avec les mauvais mots-clés. Il suffit de faire glisser la barre de menu blanche.

19voto

Chris Jester-Young Points 102876

Mac OS X Hints a a découvert une commande qui permet de faire cela :

Pour revenir au comportement d'avant Lion, entrez la commande suivante dans le Terminal :

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

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

sudo nvram -d boot-args 

4 votes

À noter : vous devez redémarrer votre ordinateur pour que cela fonctionne.

1 votes

Malheureusement, j'obtiens ce message d'erreur dans High Sierra : "nvram : Error getting variable - 'boot-args' : (iokit/common) general error".

0 votes

Sur Mojave (10.14.4), j'obtiens ceci : nvram: Error setting variable - 'boot-args': (iokit/common) not permitted

12voto

explogx Points 211

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 en néodyme puissants. Cela pourrait endommager le capteur à effet Hall.

Pour différencier : les aimants en ferrite sont faibles et fabriqués à partir d'un composé noir, les aimants en néodyme sont très forts et généralement plaqués de nickel, ce qui leur donne un aspect argenté brillant.

! enter image description here

0 votes

Bonjour ! Comment puis-je faire la différence entre les deux ? Où avez-vous eu le vôtre ?

0 votes

Les aimants en ferrite sont faibles et fabriqués à partir d'un composé noir. Les aimants en néodyme sont très forts et généralement plaqués de nickel, ce qui leur donne un aspect argenté brillant.

1 votes

C'est une fonctionnalité, pas un hack.

5voto

inspectorG4dget Points 222

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

D'abord, j'ai mis les écrans en miroir, comme cela a déjà été suggéré. Peu après, je me suis rendu compte qu'il était très gênant d'avoir l'écran éclairé du macbook dans le coin de mon œil. Cela a nécessité que je réduise la luminosité de l'écran du Macbook. Mais le paresseux que je suis détestait devoir régler manuellement la luminosité chaque fois que je débranchais ou branchais un écran externe. Je me suis donc demandé s'il y avait un moyen d'automatiser le processus. J'ai trouvé cette application gratuite appelée Plan de contrôle qui me permet de définir des "contextes" basés sur le fait que certains périphériques (moniteurs, disques durs, etc.) sont branchés, que certains réseaux wi-fi sont à portée, etc. et, en fonction de ces contextes, d'exécuter certains scripts shell scripts. Ainsi, tout ce que j'avais à faire était d'écrire un applescript (appelé killBrightness.scpt ) pour tuer la luminosité de l'écran du macbook et un shell script pour appeler killBrightness.scpt ; et appeler ce shell script 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 shell script

#!/bin/sh

osascript /path/to/killBrightness.scpt

Comme je branche de nombreux moniteurs différents sur mon macbook, j'ai remarqué que lorsqu'un moniteur avec un ratio d'aspect différent est branché, mes fenêtres dépassent du bord de l'écran. La solution à ce problème serait de redimensionner les fenêtres, mais c'est très inefficace lorsque vous utilisez une tonne d'applications et de fenêtres comme je le fais ; de plus, le paresseux que je suis n'aime pas cette solution. Ainsi, avec l'aide des sympathiques personnes de Stack Overflow, j'ai pu créer cet AppleScript (appelé resizer.scpt ) pour redimensionner automatiquement toutes les fenêtres de (presque) toutes les applications (le problème est que certaines applications n'utilisent pas les crochets corrects 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.scpt et je l'ai mis dans ControlPlane et j'étais prêt à être paresseux à nouveau !

J'espère que cela vous aidera

PS : J'ai oublié de préciser que tout ceci a été réalisé sur mon MacBook Pro 15 pouces, sous Lion.

0 votes

J'ajouterais une autre note positive si c'était possible. Merci !

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