🎉

displayplacerを利用してモニター解像度と配置をコマンドで変更する方法

2024/08/07に公開

はじめに

普段業務を行う際、会社のPCにTeamviwereというソフトでリモート接続をしていますが、自宅と会社でモニター解像度が異なるので、Resolutionatorというアプリで解像度を都度変更していました。

https://applech2.com/archives/20210106-resolutionator-support-apple-silicon-mac.html

Resolutionatorは解像度を変更することは簡単にできるのですが、モニターの配置が解像度を変更するとモニター配置がずれてしまう事が課題でした。

以下記事を作成している時に導入した、displayplacerが解像度だけでなく、モニター配置も変更する事ができたので、別途記事として残しておこうと思います。
https://zenn.dev/00083ns/articles/2cfcd33c5b001e

displayplacerの概要

https://github.com/jakehilborn/displayplacer
複数のディスプレイを管理するためのコマンドラインツールです。
ディスプレイの解像度、位置、回転などをスクリプトやコマンドで簡単に設定することができます。

主な機能

ディスプレイ設定の保存と復元 : 複数のディスプレイ設定をプロファイルとして保存し、必要に応じて簡単に切り替えることができます。
解像度の変更 : 各ディスプレイの解像度を変更することができます。
位置の調整 : ディスプレイの位置をドラッグ&ドロップするか、コマンドで指定して調整できます。
回転の設定 : ディスプレイの回転角度を設定することができます。

displayplacerの導入

https://github.com/jakehilborn/displayplacer

Homebrew導入済みであれば以下コマンドでインストール可能です

brew install displayplacer

解像度と配置を変更する方法

  1. displayplacer listを実行

    displayplacer list
    
  2. 実行結果の一番下の行をコピ-

    displayplacer "id:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx res:2560x1440 hz:75 color_depth:8 enabled:true scaling:off origin:(0,0) degree:0" "id:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx res:1470x956 hz:60 color_depth:8 enabled:true scaling:on origin:(2560,288) degree:0"
    
  3. aliasを登録
    ~/.zshrc or ~/.bash_profileを任意のエディタで開き、aliasを保存する。
    私は2つの解像度をd1,d2という2つのaliasで登録しました。

    d1='displayplacer "id:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx res:2560x1440 hz:75 color_depth:8 enabled:true scaling:off origin:(0,0) degree:0" "id:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx res:1470x956 hz:60 color_depth:8 enabled:true scaling:on origin:(2560,288) degree:0"'
    
    d2='displayplacer "id:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx res:1920x1080 hz:75 color_depth:8 enabled:true scaling:on origin:(0,0) degree:0" "id:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx res:1470x956 hz:60 color_depth:8 enabled:true scaling:on origin:(1920,68) degree:0"'
    
  4. source ~/,zshrc or source ~/.bashrcで反映させる

参考にさせていただいた記事

https://zenn.dev/uekou/articles/80cca5e2a23cd5

GitHubで編集を提案

Discussion