0 votes

Déterminer et utiliser la résolution comme variable dans un script UNIX sur Mac

Je déploie une image NetRestore sur plusieurs types de Macs : MacBooks, MacBook Pros, Mac Pros, iMacs et Mac Minis. J'ai plusieurs écrans de connexion personnalisés que j'aimerais utiliser, mais tout ce qui est antérieur à la version 10.10 nécessite de connaître la résolution de l'écran, sinon l'arrière-plan de connexion ne s'affichera pas correctement.

Existe-t-il un moyen d'utiliser la sortie de ce code comme une variable pour une série d'instructions IF/THEN ?

system_profiler SPDisplaysDataType |grep Resolution

La sortie normale est la suivante

  Resolution: 2560 x 1440
  Resolution: 1920 x 1200
  Resolution: 1920 x 1200

(Ceci si vous avez trois moniteurs...je préfère utiliser le premier résultat).

Mon intention est que le script soit exécuté lors de la liaison du Mac à Active Directory (ce qui doit être fait manuellement), donc la résolution devrait déjà être disponible. Il sélectionnerait l'image de résolution correcte et la copierait ensuite à l'emplacement requis.

Ou par hasard, est-ce que quelqu'un a une bonne idée sur la façon de créer des fonds de fenêtre de connexion et des fonds d'utilisateur personnalisés pour fonctionner sur n'importe quel type de Mac avec n'importe quelle résolution ? (Tout comme le fait le système d'exploitation lorsque vous sélectionnez "Adapter à l'écran" dans les préférences système).

Merci !

1voto

nohillside Points 82672

Si vous cherchez quelque chose à mettre dans un script shell, vous pouvez exécuter quelque chose comme

if [[ $(system_profiler SPDisplaysDataType |
             grep Resolution |
             head -1 |
             tr -d ' ') == 'Resolution:2560x1440' ]]; then
    # do whatever is needed to do for 2560x1440
end if

Vous pouvez également utiliser un case pour gérer plusieurs résolutions

case  $(system_profiler SPDisplaysDataType |
            grep Resolution |
            head -1 |
            tr -d ' ') in
    Resolution:2560x1440)
        # handle 2560x1440
        ...
        ;;
    Resolution:1920x1200)
        # handle 1920x1200
        ...
        ;;
esac

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