Sorry für den wortreichen Titel, aber mein Problem ist folgendes:
Früher war dies mit Snow Leopard und darunter ein Kinderspiel - Sie schließen das externe Display an, schließen den Deckel, schließen ein USB-Gerät an oder drücken eine Taste auf einer angeschlossenen Tastatur, um das Gerät aufzuwecken, und sobald es aufgeweckt und verwendet wird Das externe Display öffnet den Deckel wieder und der interne Bildschirm bleibt ausgeschaltet.
Leider erkennt Lion, wenn mein MacBook Pro geöffnet ist, und hält es für hilfreich, indem es das Display aktiviert. Gibt es eine Möglichkeit das zu deaktivieren? Gibt es eine Möglichkeit, Lion vorzutäuschen, dass mein Deckel geschlossen ist?
Ich habe Oliviers Vorschlag aufgegriffen, meine Monitore so anzuordnen, dass eine gemeinsame Grenze eliminiert wird:
Ich habe mich für die untere rechte Seite entschieden, weil ich mein Dock auf der linken Seite meines Bildschirms halte und meine obere rechte Ecke als heiße Ecke verwende, um das Display in den Ruhezustand zu versetzen. Ich habe auch die Menüleiste auf meinen Desktop-Monitor verschoben und der MacBook-Bildschirm ist vollständig gedimmt.
Es gab noch eine andere Option, von der ich gehört habe: Verwenden Sie einen Magneten, um Ihr MacBook glauben zu lassen, dass der Deckel geschlossen ist. Das funktioniert - ich habe einen Ausschnitt eines Kühlschrankmagneten in der Nähe der unteren linken Seite meiner Tastatur platziert und tatsächlich dachte mein MacBook, ich hätte das Display geschlossen. Leider deaktiviert Mac OS X auch die Tastatur- und Trackpad-Eingabe, wenn es denkt, dass das Display geschlossen ist, also hat diese Option bei mir nicht funktioniert.
Mac OS X Hints hat einen Befehl entdeckt, der dies ermöglicht :
Um zum Pre-Lion-Verhalten zurückzukehren, geben Sie den folgenden Befehl in Terminal ein:
sudo nvram boot-args="iog=0x0"
Um diese Änderung rückgängig zu machen, geben Sie den folgenden Befehl ein oder zappen Sie den PRAM (drücken Sie Cmd+Opt+p+r beim Einschalten):
sudo nvram -d boot-args
nvram: Error setting variable - 'boot-args': (iokit/common) not permitted
Error setting variable
: In neueren Versionen von OSX müssen Sie den Befehl im Wiederherstellungsmodus einrichten. Starten Sie neu, Cmd+R, Wiederherstellungsmodus, öffnen Sie im Bildschirmmenü ein neues Terminal und führen Sie den Befehl aus.Eine andere Lösung, obwohl Ghetto, besteht darin, einen sehr schwachen Ferritmagneten (wie Kühlschrankmagnete) in der Nähe des Hall-Effekt-Sensors des Laptops zu platzieren.
Dies hat den Vorteil, dass der Macshell-Modus simuliert wird, während der Deckel geöffnet bleibt, um die Kühlleistung zu verbessern.
Verwenden Sie keine starken Neodym-Magnete. Dies könnte den Hallsensor beschädigen.
Zur Unterscheidung: Ferrit-Magnete sind schwach und bestehen aus einer schwarzen Verbindung, Neodym-Magnete sind sehr stark und meist vernickelt, wodurch sie silbern glänzen
Ich bin vor einiger Zeit auf das gleiche Problem gestoßen und habe Folgendes getan:
Zuerst habe ich die Displays gespiegelt, wie schon angedeutet wurde. Kurz nachdem ich dies getan hatte, wurde mir klar, dass es sehr ablenkend war, den beleuchteten Bildschirm des Macbooks im Augenwinkel auszuschalten. Dies erforderte, dass ich die Helligkeit auf dem Bildschirm des Macbooks abschalte. Aber als fauler Typ, der ich bin, hasste ich es, die Helligkeit jedes Mal manuell anpassen zu müssen, wenn ich einen externen Monitor aus-/einsteckte. Also habe ich mich gefragt, ob es eine Möglichkeit gibt, den Prozess zu automatisieren. Ich habe diese kostenlose App namens Control Plane gefunden , mit der ich "Kontexte" festlegen kann, je nachdem, ob bestimmte Geräte (Monitore, Festplatten usw.) angeschlossen sind, ob bestimmte Wi-Fi-Netzwerke in Reichweite sind usw.; und basierend auf diesen Kontexten bestimmte Shell-Skripte ausführen. Also musste ich nur ein Applescript (mit dem NamenkillBrightness.scpt
) um die Helligkeit auf dem Macbook-Bildschirm zu beenden und ein Shell-Skript aufzurufen killBrightness.scpt
; und rufen Sie dieses Shell-Skript im erforderlichen Kontext auf.
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
Das Shell-Skript
#!/bin/sh
osascript /path/to/killBrightness.scpt
Da ich viele verschiedene Monitore an mein Macbook anschließe, ist mir aufgefallen, dass meine Fenster über den Rand des Bildschirms hängen, wenn einer mit einem anderen Seitenverhältnis angeschlossen ist. Die Lösung dafür wäre, die Größe der Fenster zu ändern, aber das ist sehr ineffizient, wenn Sie wie ich eine Menge Apps und Fenster verwenden. Da ich so faul bin, mochte ich diese Lösung auch nicht. Mit der Hilfe der netten Leute von Stack Overflow konnte ich also dieses AppleScript (genannt resizer.scpt
) entwickeln, um automatisch die Größe aller Fenster von (fast) allen Apps zu ändern (der Vorbehalt ist, dass einige Anwendungen nicht die richtige verwenden UI-Framework-Hooks, daher ist es ziemlich schwierig, ihre Größe zu ändern):
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
Jetzt musste ich nur noch ein ähnliches Shell-Skript zum Aufrufen schreiben resizer.scpt
und es in ControlPlane einfügen, und ich war bereit, wieder faul zu sein!
Hoffe das hilft
PS: Ich habe vergessen zu erwähnen, dass all dies auf meinem 15-Zoll-MacBook Pro mit Lion gemacht wurde
Aktualisierung 2019
Seit OS X El Capitan lässt System Integrity Protection (SIP) keine Änderung der nvram-Optionen zu. Funktioniert auch boot-args="iog=0x0"
nicht mehr.
Um dieses Problem zu lösen, habe ich diese Lösung gefunden:
csrutil disable
sudo nvram boot-args="niog=1"
csrutil enable
und starten Sie neuRückgängig machen (mehrere Optionen):
sudo nvram -d boot-args
.Ich weiß, das ist ein bisschen kludge, aber meine Lösung für dieses Problem besteht darin, den Helligkeitsregler auf meinem Macbook gedrückt zu halten, bis der Bildschirm dunkel wird.
Wie Sie arbeite ich lieber nur auf dem größeren Display und tippe weiter mit meiner Laptop-Tastatur (mit nur teilweise geöffnetem Laptop-Display und gerade so weit geöffnet, dass ich die Tastatur des Laptops verwenden kann).
Jedenfalls funktioniert diese Lösung für mich.
Betreff: "...und es ist frustrierend, wenn mein Mauszeiger auf dem anderen Bildschirm verschwindet..."
Ich umgehe das, indem ich einfach auf die Option "Anzeigen spiegeln" in den Systemeinstellungen > Anzeigen > Anordnung klicke
Hoffe das hilft.
Ich bin mir nicht sicher, ob dies in Lion funktioniert, aber wenn Sie den Deckel geschlossen haben und ein USB-Gerät anschließen, wird Ihr Monitor eingeschaltet und Sie können den Deckel öffnen und Ihr externer Monitor ist eingeschaltet und Ihr Deckel ist ausgeschaltet.
Dies ist eine Kombination einiger anderer Posts/Kommentare hier an einem Ort. Ich verwende ein MacBook Pro mit El Capitan.
Vorteile dieser Methode gegenüber den Terminalbefehlen:
Schritte:
Schritte rückgängig machen (Bewahrung der Anordnung für später):
Schritte rückgängig machen (um es beim erneuten Anschließen auf die Standardeinstellung zurückzusetzen):
Ich habe ein altes MacBook von 2009, das ich kostenlos bekommen habe, weil der LED-Bildschirm beschädigt ist und ich nichts darauf sehen kann. Da ich nicht bereit bin, mehr auszugeben, als es wert ist, das LCD zu ersetzen, habe ich eine Lösung gefunden, um einen externen Bildschirm mit nativer Auflösung zu verwenden.
CMDMirror Displays wird mit + aktiviert F1, um das externe nach oben zu bringen. Gehen Sie dann zu Einstellungen - Anzeige und schalten Sie die Spiegelanzeigen aus. Die Schaltfläche "Gather Windows" wird hoffentlich dazu führen, dass die Anzeigeeinstellungen jetzt auf der externen Seite angezeigt werden, wie es bei mir der Fall war.
Ziehen Sie nun das weiße Menü in den Anzeigeeinstellungen auf das externe und es wird zur primären Anzeige. Schließen Sie das MacBook und starten Sie es mit angeschlossener externer Tastatur und Maus neu.
Ich bin ein neuer MacBook Pro 2021-Benutzer und suchte nach einer Lösung für dieses Problem mit einem Windows-Hintergrund.
Was bei mir funktioniert hat war:
Sobald das oben Gesagte erledigt ist, geht das Schließen des MacBook-Deckels nicht in den Ruhezustand. Aber in dem Moment, in dem das MacBook ausgeschaltet wird, stoppt es das externe Display und geht in den Ruhezustand.
So erreiche ich das.
Nachdem Sie den externen Monitor angeschlossen haben, sehen Sie für einige Zeit dieses erweiterte Monitor-Setup. Aber wenn Sie den Laptop-Bildschirm nicht verwenden möchten, schließen Sie einfach den Deckel des Macbook Pro und arbeiten Sie auf dem größeren Bildschirm weiter, das funktioniert. Der Laptop geht nicht in den Schlafmodus. Dies ist mit der Lion-Version.
Der einfachste Weg ist, Ihren Mac einfach angeschlossen zu lassen und zu boomen
Cajunluke
Kyle Cronin
Fahrrad
Kartik Chauhan