Mac OS Xターミナルの配色を変更するために使用できるコマンドはありますか?実行するスクリプトに応じて色を変更できるというアイデアが気に入っています。これまでのところ、PS1でbashプロンプトの色を変更していますが、これは大丈夫ですが、私が望むほど目立ちません。
Mac OS Xターミナルの配色を変更するために使用できるコマンドはありますか?実行するスクリプトに応じて色を変更できるというアイデアが気に入っています。これまでのところ、PS1でbashプロンプトの色を変更していますが、これは大丈夫ですが、私が望むほど目立ちません。
回答:
正確に何を達成したいかに応じて、ターミナルスタイルを使用したAppleScriptのアイデアをいくつか紹介します。これらはtput
、色付きのプロンプトによってリセットされるため、より堅牢です。など(少なくとも私にとって)。
これにより、Pythonを実行するすべてのタブ(現在テストに使用できるSSHサーバーはありません)がHomebrewに設定され、他のタブはOceanに設定されます。
tell application "Terminal"
repeat with w from 1 to count windows
repeat with t from 1 to count tabs of window w
if processes of tab t of window w contains "Python" then
set current settings of tab t of window w to (first settings set whose name is "Homebrew")
else
set current settings of tab t of window w to (first settings set whose name is "Ocean")
end if
end repeat
end repeat
end tell
スクリプトとして保存しosascript Name.scpt
、シェルの色を変更したいときにいつでも実行します(もちろん、これをシェルスクリプトまたは何かとしてラップできます)。
すべての長時間実行プロセスを別々に表示する場合は、次の条件を使用します。
if busy of tab t of window w is true then
または、手動で選択した単一のタブのスタイルを設定できます。
on run argv
tell application "Terminal" to set current settings of tab (item 1 of argv as number) of front window to first settings set whose name is (item 2 of argv)
end run
次のように実行します。
osascript StyleTerm.scpt 3 Homebrew
->最前面のターミナルウィンドウの3番目のタブにHomebrewスタイルが追加されました!
バックグラウンドウィンドウを変更する場合は、「フロントウィンドウ」を「タブ」の直後のように括弧で囲んだ式に置き換えます。選択した「現在のタブ」を常に変更する場合は、のselected tab
代わりに使用しますtab (item 1 of argv as number)
。
.bash_profile
最初の解決策が手作業すぎる場合は、次を追加します。
PROMPT_COMMAND='osascript "/path/to/Name.scpt"'
現在、すべてのプロンプトの前に実行されます(問題のみ:何かを開始した後でssh
はありません。しかし、このトピックはとにかく派手なbashトリックに関するものではありません。これは単なるポインターです)。
スクリプトはこのtput
コマンドを使用して、ポータブルな方法で色を設定できます。次のスクリプトを試してみると、端末が明るいシアンのテキストを含む暗いシアンの背景にクリアされます。
#!/bin/bash
tput setab 6
tput clear
tput setaf 14
echo Hello World
これについての詳細man 5 terminfo
は、「カラー処理」セクションを参照してください。
端末が直接認識するエスケープシーケンスをエコーすることで、同じことを行うことができます。より高速になりますが、別の端末プログラムを使用して動作しない場合があります。それらの多くはxtermシーケンスを認識し、ここに上記のスクリプトがそれらを使用するように見えるものがあります。
#!/bin/bash
printf "\033[48;5;6m" # or "\033[46m"
printf "\033[H\033[2J" # your system's clear command does something similar
printf "\033[38;5;14m" # or "\033[96m"
echo Hello World
xtermの制御シーケンスに関する詳細はこちらにあります。
Terminal -> Preferences -> Settings
ますか?
osascript
が、私はそれをよく知りません。
applescriptを使用して、すべての新しい端末にランダムなテーマを与えることができます。
を編集して.bash_profile
このコマンドを追加します
osascript -e "tell application \"Terminal\" to set current settings of front window to some settings set"
同じランダムテーマターミナルを入手した場合は、いつでも⌘I
手動でヒットして設定できます。
これは、見た目が異なる端末テーマがたくさんある場合に便利です。周りを見ると、そのための多くのサイトがあります。
Terminal -> Preferences -> Settings
、コマンドでこれを行うことを除いて、端末の背景色を同じ方法で変更されるように変更することです。次のようなスクリプトを作成しますchangeBackgroundTheme; ssh; changeBackgroundTheme
。これは、現在どのウィンドウがにあるかを思い出させるのに役立ちますssh
。