Główny ekran zmienia się losowo

20

Używam MacBooka Pro (koniec 2011 r.) Podłączonego do dwóch wyświetlaczy Thunderbolt. Wyświetlacze są powiązane ze sobą, a jedno połączenie Thunderbolt z komputerem MacBook Pro.

Wolę mieć lewy monitor jako główny wyświetlacz (chcę, aby stacja dokowała po lewej). Korzystając z panelu preferencji wyświetlania systemu, mogę ustawić tę konfigurację bez żadnych problemów.

Każdego ranka podłączam wyświetlacze do MacBooka Pro i rozłączam się każdego wieczoru.

W niektóre dni, pozornie losowe, konfiguracja wyświetlacza jest zmieniana, a prawy monitor ma lewą i stację dokującą i pasek menu.

Czy istnieje sposób, aby upewnić się, że konfiguracja wyświetlacza pozostaje taka sama?

jro
źródło
Dla przypomnienia, czy mógłbyś wyjaśnić, (1) masz zupełnie nowy aktualny MBP (marzec 2012), i myślę, że jest to 15 lub 17 cali? (2) DAISY CHAIN ​​dwa monitory (MBP ma tylko jeden port Thunderbolt)? {Żeby było jasne - w Internecie jest wiele informacji, że podobno NIE MOŻESZ daisy monitorów Apple Thunderbolt monitory łańcuchowe: podobno, z monitorami Thunderbolt monitory mogą być tylko „końcem” łańcucha. Ale może ta plotka jest kompletnym nonsensem?} (3) Na koniec mogę cię prosić, aby wyjaśnić, że wszystkie trzy monitory są logicznymi wyświetlaczami, prawda? tzn. NIC nie jest dublowane - możesz wyczyścić mous
MBP jest nowy / aktualny, ale od lutego 17-calowy. Monitory są połączone łańcuchowo. Wszystkie monitory są logicznymi wyświetlaczami, chociaż zamykam MBP i nie używam jego monitora po podłączeniu do zewnętrznych wyświetlaczy.
jro
> jeśli otworzysz MBP, czy dostaniesz trzy całkowicie osobne monitory logiczne? Tak.
jro
> kiedy odłączysz ..... Podłączam tylko przykute monitory do MBP. MBP nigdy się nie otwiera, więc po podłączeniu jest w trybie uśpienia.
jro
Nie chciałbym tego sugerować, ale czy wypróbowałeś (lub możesz spróbować) 2 różne modele monitorów zewnętrznych?
databajt

Odpowiedzi:

4

OSX musi zgadnąć, który to monitor, ponieważ informacje EDID są takie same dla obu (prawdopodobnie zapisz numer seryjny, ale OSX nie wydaje się zwracać na to uwagi). Zwykle stara się ustawić rzeczy do poprzedniej konfiguracji, patrząc na to, jak urządzenia są podłączone w drzewie połączeń, jednak w Thunderbolt drzewo połączeń nie jest tak proste, jak w przypadku DisplayPort i USB.

Powinieneś być w stanie rozwiązać ten problem, podłączając jeden monitor naraz (tj. Odłącz wtyczkę piorunową dla trzeciego monitora, podłącz drugi, a następnie podłącz trzeci z powrotem). Jest to jednak mniej niż idealne, zwłaszcza że wszystkie Twoje aplikacje wrócą do głównego monitora, a nie jak wcześniej je skonfigurowałeś.

Gdy Apple wypuści odświeżenie ekranu pioruna, podłączenie jednego ze starych i jednego z nowych również powinno rozwiązać problem - nie będą one wyglądać na „takie same” urządzenia, więc OSX będzie miał łatwiej utrzymać czas ślad którego jest który.

Do tego czasu kolejną rzeczą, którą możesz wypróbować, jest przymocowanie trzeciej za pomocą przedłużacza piorunowego. Jest to aktywne urządzenie, które może odpowiednio modyfikować drzewo połączeń, aby OSX miał łatwiejszy czas na jego śledzenie.

Jeśli to nie pomoże, najlepiej będzie poczekać, aż odświeżą ekran pioruna i uaktualnią tylko jeden z nich.

Adam Davis
źródło
1
Przez kilka miesięcy musiałem walczyć z OSX, pisząc sterownik wideo. OSX jest inteligentny pod wieloma względami i głupi w niektórych innych. Głównym problemem jest to, że gdy jest głupi, często nie ma łatwego obejścia.
Adam Davis,
11

To zadziałało dla mnie, dzięki tej odpowiedzi:

/superuser//a/1220526/454133

Pobaw się, przesuwając „górny” pasek między ekranami w oknie Porozumienia. Przypisz go do różnych ekranów, a zauważysz, że rozwiąże on problem, gdy znajdziesz „właściwy” ekran.

Tak więc małpowanie z paskiem menu w ustawieniach aranżacji spowoduje prawidłowe zresetowanie wyświetlaczy. Mam nawet zrzuty ekranu.

Jak przenieść górny pasek między oknami Mac

ognockocaten
źródło
3

Mam ten sam problem, każdego ranka, kiedy przychodzę do biura około 80% czasu, kiedy mój Mac błędnie wybiera ekran najbardziej TB po lewej stronie jako podstawowy>: @

Zmęczony przejściem do ekranu ustawień za każdym razem, napisałem bardzo prostą konsolową aplikację do zamiany ekranów: „ScreenPhant” (jak słonie i pamięć; kop :-P)

To jest naprawdę zbyt proste, ale nie mam teraz czasu, aby uczynić go jakimkolwiek hodowcą (takim jak pozostanie rezydentem i automatyczne monitorowanie zmian wyświetlania itp.). Jeśli po prostu go uruchomisz, wyświetli się lista wyświetlaczy i seriali. Podaj numer seryjny wyświetlacza, który chcesz ustawić jako podstawowy, i ustawi go. Jeśli zmienisz nazwę aplikacji na „ScreenPhant_151d050f”, użyje ona _ [serial] jako głównego wyświetlacza, więc nie potrzebujesz dodatkowego skryptu, aby go uruchomić.

Możesz pobrać tutaj: http://www.dialxs.com/dev/ScreenPhant.gz Źródło jest dostępne tutaj: http://www.dialxs.com/dev/main.c

Luc Huygen
źródło
3

Bezpłatne narzędzie terminalowe, które napisałem, displayplacer , pozwala skonfigurować główny wyświetlacz „białego paska” za pomocą skryptów / skrótów klawiszowych.

Skonfiguruj ekrany tak, jak chcesz, przeciągnij „biały pasek” na ekran główny w ustawieniach systemu macOS, a następnie uruchom displayplacer list. Wyśle polecenie uruchomienia, aby ustawić ekrany w ich bieżącej konfiguracji. Ekran z origin:(0,0)jest głównym wyświetlaczem z „białym paskiem”. Uruchom to polecenie terminalu za pomocą skryptu, Automatora, BetterTouchTool itp.

W tym przykładzie lewy ekran jest monitorem podstawowym. Wykonaj podobne polecenie, ilekroć komputer losowo wybierze niewłaściwy ekran główny. displayplacer "id:<leftScreenId> res:1920x1080 scaling:on origin:(0,0) degree:0" "id:<rightScreenId> res:1920x1080 scaling:on origin:(1920,0) degree:0"

Dostępne również przez Homebrew brew tap jakehilborn/jakehilborn && brew install displayplacer

Jake Hilborn
źródło
0

Zawęziłem ten stan wyścigu dzięki /var/log/displaypolicy/displaypolicyd*.logzakładce „Grafika / Wyświetlacze” w „Informacjach o systemie” oraz w kolejności, w jakiej wymienione są monitory zewnętrzne. MacOS (Mojave, Catalina 10.15.3, ...) może polegać na numerach seryjnych monitorów widocznych w tym drugim, aby zapamiętać układ, ale wygląda na to, że macOS nie dba o numery seryjne monitorów .

Łatwiej jest odtworzyć ten problem, jeśli zamiast tego nie używasz łączenia łańcuchowego, ale zamiast stacji dokującej lub bezpośredniego połączenia z komputerem Mac. Jeśli pierwszy, a następnie podłączyć stację dokującą do komputera monitorów do drugiego doku podczas obserwacji /var/log/displaypolicy/displaypolicyd*.log(.log brakuje aplikacji konsoli z nieznanych powodów), zobaczysz MacOS etykiety identyczne monitory na zasadzie kto pierwszy, ten lepszy , ignorując nie tylko numery seryjne, ale także fizyczne złącza.

Nie zrozum mnie źle: macOS nie powinien także patrzeć na porty fizyczne. Powinien patrzeć na numery seryjne: jedyną gwarancją, że nigdy się nie zmieni, nie będzie ścigał się ani nie zostanie ręcznie wymieniony przez użytkownika.

Marsz
źródło