Як використовувати лише зовнішній дисплей з відкритою кришкою MacBook Pro на Lion?


28

Вибачте за багатослівний заголовок, але моя проблема полягає в наступному:

  • Коли я за своїм столом, я хотів би використовувати лише зовнішній дисплей.
  • Завдяки вишуканим жестам у Леві, я вирішив, що хотів би використовувати внутрішній трекпад на своєму MacBook
  • Щоб фізично торкнутися трекпада, кришку мого MacBook Pro потрібно відкрити

Це був шматок пирога з Snow Leopard і нижче - ви підключаєте зовнішній дисплей, закриваєте кришку, підключаєте USB-пристрій або натискаєте клавішу на підключеній клавіатурі, щоб розбудити машину, і як тільки вона прокинеться і використає зовнішній дисплей знову відкриє кришку, а внутрішній екран вимкнеться.

На жаль, Lion виявляє, коли мій MacBook Pro відкритий, і вважає його корисним, активуючи дисплей. Чи є спосіб відключити це? Чи є спосіб обдурити Лева, думаючи, що моя кришка закрита?


1
Чому ви не хочете отримати додаткову нерухомість екрану, яку надає внутрішній дисплей?
CajunLuke

5
@CajunLuke Це просто не дуже добре. Кілька дисплеїв найкраще, коли вони сидять поруч і знаходяться на однаковій відстані від ваших очей. Вони також найкращі, коли два сусідніх дисплея мають однаковий фізичний вимір і роздільну здатність уздовж спільного краю. З моїм MacBook Pro не так, і мені здається, що це дратує необхідність керувати ним, і мені страшно, коли мій вказівник зникає на інший екран
Кайл Кронін

1
Інші також хочуть цього для кращого відводу тепла, а також прийому антен WiFi. Там може допомогти вертикальна підставка, але це може покращити бажання Кайла контролювати екран незалежно від датчика наближеності дисплея. (що і не потрібно купувати чи розміщувати чарівний трекпад на його робочій поверхні)
bmike

Відповіді:


17

Підказки Mac OS X виявили команду, яка дозволить це :

Щоб повернутися до поведінки перед Левом, введіть у Terminal таку команду:

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

Щоб скасувати цю зміну, введіть наступну команду або закрийте PRAM (натисніть Cmd + Opt + p + r при включенні живлення):

sudo nvram -d boot-args 

4
Варто зауважити: вам потрібно перезапустити комп’ютер, перш ніж це спрацює.
Демієн Вілсон

1
На жаль, я отримую це повідомлення про помилку у High Sierra: "nvram: Помилка отримання змінної -" boot-args ": (iokit / загальна) загальна помилка"
OMA

У Мохаве (10.14.4) отримуючи це:nvram: Error setting variable - 'boot-args': (iokit/common) not permitted
Рамазан Полат

17

Я прийняв пропозицію олів'є, щоб влаштувати монітори для усунення загальної межі:

введіть тут опис зображення

Я вибрав правий нижній кут, тому що тримаю док-станцію в лівій частині екрана, а верхній правий я використовую як гарячий кут, щоб заснути дисплей. Я також перемістив рядок меню на монітор робочого столу, і екран MacBook повністю затемнений.

Я почув про інший варіант: використання магніту, щоб змусити MacBook думати, що кришка закрита. Це спрацьовує - я помістив фрагмент магніту для холодильника біля лівої нижньої сторони моєї клавіатури і досить впевнений, що мій MacBook вважав, що я закрив дисплей. На жаль, Mac OS X також вимикає введення клавіатури та трекпада, коли думає, що дисплей закритий, тому ця опція не працювала для мене.


Чи знаєте ви, як зробити зовнішній екран за замовчуванням, щоб вікна не продовжували з'являтися на екрані ноутбука?
Szabolcs

1
Неважливо, я шукав неправильні ключові слова. Вам просто потрібно перетягнути білу панель меню.
Szabolcs

4

Швидкий обхід (не актуальне рішення)

Просто перевірте параметр "Дзеркальні дисплеї" у налаштуваннях відображення. Дивіться нижче скріншот.

Налаштування дисплея - дзеркальні відображення

Потім зменшіть яскравість Macbook до нуля.


З цим існує безліч проблем. Є вигода відключити невикористаний екран, і цей підхід втрачає на них. 1) звільняє VRAM, оскільки йому не потрібен буфер екрану (особливо дисплей сітківки з високою роздільною здатністю), 2) він запобігає випадковому появі вікон на ньому 3) закриває кришку, автоматично пересуває всі вікна екрана ноутбука на зовнішній дисплей
Олександр - Відновіть Моніку

Я думаю, ти пропустив момент, коли він сказав дзеркально відображати екрани. Це все ще може використовувати деякі додаткові ресурси, але справжній мінус у тому, що він обмежує резолюції, які ви можете використовувати. Для мене це спрацювало добре (обидва монітори працюють 3360x1890, що я хочу)
therealsix

марно, якщо у вас є 2 зовнішніх екрани
бормат

2

Я знаю, що це трохи хитрощі, але моя робота над цим питанням полягає в тому, щоб утримувати контроль яскравості на моїй книзі macbook, поки екран не потемніє.

Як і ви, я вважаю за краще просто працювати на більшому дисплеї і продовжувати друкувати за допомогою клавіатури мого ноутбука (якщо дисплей ноутбука відкривається лише частково і відкривається достатньо, я можу використовувати клавіатуру ноутбука).

У будь-якому випадку це рішення працює для мене.

Re: "..і страшно, коли мій вказівник зникає на інший екран".

Мені це подолати, просто натиснувши на опцію «дзеркальні дисплеї» у меню «Налаштування системи»> «Дисплеї»> «Розташування»

Сподіваюся, це допомагає.


3
"Дзеркальний дисплей" не працюватиме, якщо ваш зовнішній дисплей має кращу роздільну здатність, ніж ваш внутрішній дисплей. Я використовую те саме рішення, що і ви (затемнення екрана), але я влаштовую монітори, щоб у них було дуже мало загальної межі, щоб не втратити мірку.
олів’є

1
Re: "Дзеркальний дисплей", ви праві, я мав би зазначити, що мій більший зовнішній монітор samsung 22 "має точно таку ж роздільну здатність 1680x1050, що і мій 2011 15" MacBook Pro
користувач1556373

@olivier: Дзеркальний дисплей працює, якщо зовнішні дисплеї мають кращу роздільну здатність. Увімкнувши "Дзеркальні дисплеї", перейдіть на вкладку "Екран" і виберіть дисплей з кращою роздільною здатністю у спадному меню "Оптимізувати для". Тоді ви отримаєте нативну роздільну здатність у своєму моніторі з більшою роздільною здатністю, а на внутрішньому моніторі ви отримаєте ту саму картину, але зменшена до її нижчої роздільної здатності.
ОМА

2

Не впевнений, чи працює це у Lion, але якщо ви закрили кришку та підключите USB-пристрій, він увімкне живлення монітора, і тоді ви можете відкрити кришку, і зовнішній монітор увімкнеться, і кришка буде вимкнена.


2

Нещодавно я зіткнувся з тією ж проблемою, і ось що я зробив:

По-перше, я відобразив відображення дисплеїв, як уже було запропоновано. Незабаром, зробивши це, я зрозумів, що це дуже відволікає, щоб у куточку ока було вимкнено освітлений екран macbook. Це вимагало, щоб я вбив яскравість на екрані macbook. Але, будучи ледачим хлопцем, який я є, я ненавидів ручне регулювання яскравості кожного разу, коли я відключав / підключав зовнішній монітор. Тому я задумався, чи існує спосіб автоматизувати процес. Я знайшов це безкоштовне додаток під назвою Control Plane, яке дозволить мені встановити "контексти", залежно від того, чи підключені певні пристрої (монітори, жорсткі диски тощо), чи є певні мережі Wi-Fi в діапазоні тощо; і на основі цих контекстів запустіть певні сценарії оболонки. Тож все, що мені довелося зробити, - це написати яблучний сценарій (закликавkillBrightness.scpt) вбити яскравість на екрані macbook та сценарій оболонки для виклику killBrightness.scpt; і викликати цей скрипт оболонки у необхідному контексті.

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

Сценарій оболонки

#!/bin/sh

osascript /path/to/killBrightness.scpt

Оскільки я підключаю багато різних моніторів до своєї книги, я помітив, що коли підключається інший із співвідношенням сторін, мої вікна звисають до краю екрана. Рішенням цього було б змінити розмір вікон, але це дуже неефективно, коли ви використовуєте безліч додатків та вікон, як я; Крім того, мені, як я лінивий, як я, не сподобалося це рішення. Отже, за допомогою приємних людей у ​​програмі Stack Overflow мені вдалося придумати цей AppleScript (званий resizer.scpt) для автоматичного зміни розміру всіх вікон (майже) усіх додатків (застереження в тому, що деякі програми не використовують правильний Підключення каркасу інтерфейсу, тому змінити розмір їх досить складно):

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

Тепер все, що мені потрібно було зробити, це написати подібний скрипт оболонки, щоб зателефонувати, resizer.scptі поставити це в ControlPlane, і я був готовий знову лінуватися!

Сподіваюся, це допомагає

PS: Я раніше забув згадати, що все це було зроблено на моєму 15-дюймовому MacBook Pro під управлінням Lion


Я б додав ще один висновок, якщо це можливо. Спасибі!
noamtm

2

Іншим рішенням, хоча гетто, є розміщення дуже слабкого феритового магніту (як магніти на холодильник) біля датчика ефекту Холла ноутбука.

Це має перевагу для імітації режиму макшелі, зберігаючи кришку відкритою, щоб покращити продукти охолодження.

Не використовуйте сильні неодимові магніти. Це може пошкодити датчик ефекту Холла.

Для розмежування: феритові магніти слабкі і виготовлені з чорної сполуки, неодимові магніти дуже міцні і зазвичай покриті нікелем, мають блискучий сріблястий вигляд

! [введіть тут опис зображення


Привіт! як я розмежую це? Де ти взяв своє?
ankii

@ankiiiiiii феритові магніти слабкі і виготовлені з чорної сполуки, неодимові магніти дуже міцні і зазвичай покриті нікелем, мають блискучий сріблястий вигляд.
gatosec

1

Це поєднання кількох інших публікацій / коментарів тут в одному місці. Я використовую MacBook Pro під керуванням El Capitan.

Переваги цього методу над термінальними командами:

  1. не потрібно перезавантаження
  2. відсутність модифікації завантажувальних аргументів

Кроки:

  1. підключіть та увімкніть зовнішній монітор
  2. перейдіть до Системних налаштувань -> Дисплеї -> Упорядкування
    • зніміть прапорець "дзеркальні дисплеї"
    • перетягніть білу панель меню з дисплея MacBook на зовнішній монітор ( посилання на знімки екрана ). Це робить зовнішній монітор первинним дисплеєм.
    • Розташуйте сині поля так, щоб торкалися лише кути (скріншот, який надає Кайл Кронін у публікаціях вище). Це запобігає переміщенню миші між екранами.
  3. закрийте параметри дисплея та торкніться диммерної клавіші Macbook (тобто F1), поки екран не стане чорним.

Скасуйте етапи (збереження розташування для подальшого):

  1. натисніть яскравішу клавішу екрана на MacBook (тобто F2).
  2. відключіть зовнішній монітор.

Скасуйте кроки (щоб повернути його до типового, якщо підключити знову):

  1. натисніть яскравішу клавішу екрана на MacBook (тобто F2).
  2. перейдіть до Системних налаштувань -> Дисплеї -> Упорядкування
    • перетягніть білу панель меню назад до дисплея macbook.
    • перетягніть сині скриньки на місце.
    • перевірте параметр дзеркальних дисплеїв.
  3. відключити зовнішній монітор.

Чорний екран не означає, що його не використовують: ваша система знатиме його там, і візуалізація також робиться на екрані ноутбука. Насправді, коли її чорний сигнал, єдине, що згасає, це ваша підсвітка.
belka

0

Оновлення 2019 року

Оскільки OS X El Capitan, захист цілісності системи (SIP) не дозволяє змінювати параметри nvram. Також boot-args="iog=0x0"більше не працює.

Для вирішення цього питання я знайшов таке рішення:

  1. Перейдіть до режиму відновлення: перезавантажте і утримуйте + Rдо появи логотипу Apple.
  2. Перейдіть до Утиліти> Термінал
  3. Тип csrutil disable
  4. Перезавантажте Mac
  5. Відкрийте термінал і введіть sudo nvram boot-args="niog=1"
  6. Перезавантажте закриту кришку
  7. Увійдіть у систему з користувачем, і ви зможете відкрити кришку
  8. З міркувань безпеки знову перейдіть до режиму відновлення, введіть csrutil enableі перезавантажте

Скасувати (кілька варіантів):

  • Перейдіть до терміналу і введіть sudo nvram -d boot-args.
  • ... або перезавантажте та натисніть і утримуйте ці чотири клавіші разом: + + P+ Rдля скидання NVRAM.

-1

Ось як я цього досягаю.

  1. Підключіть MacBook за допомогою кабелю живлення (зарядного пристрою).
  2. Підключіться до зовнішньої клавіатури + миші.
  3. Згорніть кришку MacBook вниз.
  4. Тепер натисніть кнопки клавіатури.
  5. Тепер ви використовуєте лише зовнішній дисплей, ваш курсор не перейде на інший дисплей. Зараз є лише один дисплей.

Це не працює. Після закриття кришки комп'ютер переходить у сплячий режим, після чого він не прокидається, незалежно від того, натискаю ли я клавіші зовнішньої клавіатури або кнопку миші Bluetooth. Він просто не прокинеться, поки ви знову не відкриєте кришку.
ОМА

Це підключено до зарядного пристрою?
Сірай Алам

Спробував як підключений, так і не підключений
OMA,

Це має спрацювати (якщо ви стягуєте плату) - але це не корисно, оскільки він прямо каже, що екран потрібен.
therealsix

-2

Коли ви підключили зовнішній монітор, ви десь бачите цю розширену настройку монітора. Але якщо ви не хочете користуватися екраном ноутбука, просто закрийте кришку програми macbook pro та продовжуйте працювати на великому екрані, це працює. Ноутбук не переходить у сплячий режим. Це з випуском Лева.


Я вважаю, Кайл запитував, як він може це зробити при відкритій кришці.
Кевін Чен

Це не працює. Закриття кришки змушує весь комп'ютер спати як завжди, тому зовнішній дисплей також порожній.
ОМА
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.