練馬日記

練馬はあんまり関係ないかも

Macの標準ターミナルの背景色をCLIから指定する

 絶賛ブログを放置中ですが、今回はMacのターミナルに関する長年の悩みが解決したので共有したいと思います。
 それは、 .command ファイルをダブルクリックしてMacのターミナルを起動したときにターミナルの背景色を変えたいというものです。

背景

 私はターミナルはとくにこだわりなくMacの標準のターミナルを愛用しています。
 起動したいシステムがある場合に .commandファイルを作成してそこに環境変数とともにシステムの起動コマンドを書いています。 .commandファイルに実行属性を付けダブルクリックでMac上でシステムを起動するようしています。 このとき起動するターミナルを.commandファイル別に背景色を変えられたらいいなあと10年くらい思っていましたが、なかなか良い解決方法が見つかっていませんでした。
 MacBookProのノートにタッチバーが搭載されていたときは簡単にターミナルの背景色を変えられましたが、その後会社から支給されるMacがタッチバー非搭載のものになったときは苦肉の策でタッチバーのエミュレーションプログラムを導入したりしていました。

redsweater.com

そんな長年の悩みが解決したので共有します。 (どのくらい需要があるのだろう)

Macの標準ターミナルの背景色をCLIから指定する

結論ファースト。osascriptで変更します。

#!/bin/bash 
osascript -e 'tell application "Terminal" to set current settings of window 1 to settings set "Pro"' 
# コマンドを実行する部分 
echo "Hello, World!" 

 osascriptはMacのアプリケーションを操作するスクリプトを実行出来るコマンドです。  あらかじめ背景色を設定したプロファイルをターミナル内に用意ししておいて、.commandファイル実行時にosascriptでターミナルにそのプロファイルを指定してあげます。

ChatGPTすごいね

 実はこれなんとなくChatGPTに質問したら回答してくれたのです。2つ提案してくれたうち、こちらが簡単そうだったのでやってみました。(最初にテキトーを教えられたけど)

ChatGPTに聞いてみる

chat.openai.com

ChatGPTはまだまだ精度に問題があったりするけど、不意に使える回答をくれるので面白いですね。