13 votes

Comment puis-je permuter automatiquement l'écran principal dans une configuration à deux moniteurs ?

J'ai un MacBook Pro et deux écrans Thunderbolt au travail. Je travaille avec le couvercle du MacBook fermé parce que c'est excessif et que je n'ai pas assez d'espace de bureau de toute façon.

Chaque matin, je me présente au travail et je branche un câble Thunderbolt et un cordon d'alimentation, mais mon écran principal (celui de devant) et mon écran secondaire (celui sur le côté) sont intervertis. Je suis obligé de faire cette chanson et cette danse stupides dans les préférences du système d'affichage et d'agencement et cela devient ennuyeux :

enter image description hereenter image description here

Existe-t-il un moyen de faire cela automatiquement ? Avec un paramètre ? Un AppleScript ? Y a-t-il une raison pour que les écrans soient toujours retournés ?

4voto

a paid nerd Points 471

Mise à jour : Je crois que je l'ai.

Il y a un utilitaire appelé cscreen qui vous permet de contrôler les paramètres d'affichage. Son exécution permet d'afficher tous les écrans :

$ cscreen
DisplayID  Index     Depth     Width     Height  Refresh
 4249fef       1        32      2560       1440     0
 4248344       2        32      2560       1440     0
use -h to display all usage options

Bien sûr, vous pouvez forcer l'un d'entre eux à être primaire (avec la barre de menu) :

$ cscreen -i 4248344 -p

Vous pouvez script définir le deuxième écran comme le primaire comme ceci :

$ cscreen -l | perl -lane 'print $F[0] if $F[1] == 2' | xargs -I id cscreen -i id -p

Maintenant, pour se lier à une clé, j'ai d'abord créé un AppleScript script, SwapScreen.scpt :

swapscreen

Puis j'ai utilisé QuickSilver pour lier le script à une F13 :

quicksilver

Maintenant, lorsque je branche mon MacBook, si les écrans sont brouillés, j'appuie simplement sur F13. Super !

1 votes

Mais l'utilisation de cscreen ne résout pas le problème de l'arrangement pour moi. Mon moniteur 23 pouces est à gauche, et mon MBP 13 pouces à droite. Cependant, l'utilisation de cscreen inverse cette disposition, de sorte que je dois déplacer le curseur dans la direction opposée pour passer d'un écran à l'autre. Même en revenant en arrière (c'est-à-dire en utilisant cscreen pour basculer), la disposition est inversée. Ce qu'il faut, c'est un moyen de fixer programmatiquement la disposition de la même manière que lorsque vous faites glisser un écran vers la gauche/droite de l'autre. La configuration de l'arrangement dans l'utilisateur racine comme suggéré par DKMN ici n'a pas fonctionné dans mon cas.

0 votes

Je suis d'accord, ce serait bien que l'auteur (pyehouse) ouvre cscreen pour que d'autres puissent l'améliorer.

3voto

DKMN Points 21

Je suis passé par là, j'ai fait ça, avec un Mac Pro et 4 moniteurs ;0

Il existe un étrange bogue/caractéristique dans OSX qui rend les paramètres d'affichage par défaut privilégiés. Ce comportement n'a pas changé avec la 10.9 et je pense que c'est ce qui cause votre problème. Il est très mal documenté et discuté sur le web.

Une solution permanente :

  1. Connectez-vous en tant qu'utilisateur Root (vous devrez l'activer temporairement).

  2. Réglez la disposition de l'affichage comme vous le souhaitez (comme indiqué ci-dessus).

  3. Connectez-vous sous le nom que vous voulez

La façon d'activer l'utilisateur racine pour la connexion interactive n'est pas évidente, mais pas difficile. Voici le guide officiel d'Apple :

http://support.apple.com/kb/PH11331 1

Je le désactiverais une fois fait pour des raisons de sécurité.

0 votes

BTW J'ai également travaillé autour de cela avec une petite application pendant un certain temps...

0 votes

Pourriez-vous partager cette application, s'il vous plaît ?

2voto

Jake Hilborn Points 1086

L'outil que j'ai écrit, Plaque d'affichage permet de configurer l'affichage principal de la "barre blanche" via des scripts/hotkeys.

Configurez vos écrans comme vous le souhaitez, faites glisser la "barre blanche" vers votre écran principal dans les paramètres système de MacOS, puis exécutez displayplacer list . Il affichera la commande à exécuter pour mettre vos écrans dans leur configuration actuelle. L'écran avec origin:(0,0) est l'affichage principal avec la "barre blanche". Exécutez cette commande de terminal à travers un script, Automator, BetterTouchTool, etc.

L'exemple de profil 1 place la barre blanche de la barre de menu sur le moniteur de gauche. displayplacer "id:<leftScreenId> res:1920x1080 scaling:on origin:(0,0) degree:0" "id:<rightScreenId> res:1920x1080 scaling:on origin:(1920,0) degree:0"

L'exemple de profil 1 place la barre blanche de la barre de menu sur le moniteur de droite. displayplacer "id:<leftScreenId> res:1920x1080 scaling:on origin:(1920,0) degree:0" "id:<rightScreenId> res:1920x1080 scaling:on origin:(0,0) degree:0"

Également disponible via Homebrew brew tap jakehilborn/jakehilborn && brew install displayplacer

1voto

Kyle Walsh Points 2137

Il doit se souvenir des réglages externes.

Avez-vous essayé d'intervertir les câbles derrière le moniteur afin d'inverser l'ordre de connexion ? Cela pourrait peut-être faire l'affaire.

Une solution très simple est d'attendre un mois et de passer à OS X Mavericks, où vous aurez la possibilité d'avoir la barre de menu et le dock sur les deux écrans.

0 votes

Oui, les écrans ont été échangés à plusieurs reprises. J'hésite à passer à une révision zéro de Mac OS X, cependant.

0voto

aholub Points 3

Cscreen ne fonctionne pas correctement lorsque vous avez plus de 2 moniteurs, et même si c'était le cas, changer de moniteur principal avec lui perturbera la position des icônes de votre bureau.

La meilleure solution que je connaisse est un utilitaire appelé SwitchResX ( http://www.madrau.com/ ). Il dispose d'une fonctionnalité appelée Display Sets qui mémorise efficacement tout ce qui concerne une configuration d'affichage particulière (notamment la résolution, l'orientation et l'écran principal). Vous pouvez ensuite passer à un ensemble spécifique à partir de la barre de menu ou d'un raccourci. Il se souvient de la position des icônes de votre bureau lorsque vous passez à un autre jeu, et les remet en place lorsque vous le restaurez.

Cela fonctionne comme un charme, et il n'y a pas besoin d'AppleScript. SwitchResX est également excellent dans sa fonction principale : changer facilement la résolution de l'écran, même pour des résolutions qui ne sont normalement pas disponibles dans les Préférences Système. C'est essentiel si vous faites beaucoup de présentations et que vous devez changer de résolution en fonction de la configuration du projecteur avec laquelle vous êtes coincé.

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