Как поменять фоновую картинку в терминале командой?

Change background picture in iterm on MacOS automaticaly

Fullstack CTO
1 min readAug 12, 2021

Рецепт только для маководов. Основное приложение для работы в терминале у меня iTerm, так что и менять картинку буду в нем. Сам терминал у меня настроен под себя, полный конфиг всегда можете найти на гитхабе:

Зачем? Я захотел сделать так, чтобы при переходе в root режим, у меня фоновое изоюражение менялось. А еще чтобы оно менялось если я зашел по SSH куда-то. Чтобы я точно знал где я и когда. Ну и просто это очень красиво, модно, молодежно,… Хипстерня одним словом.

Чтобы поменять фоновое изображение из терминала в MacOS я заюзал AppleScript:

--Change the background picture in iTerm by arguments--
on run argv
tell application "iTerm"
tell current session of current window
set background image to "/Users/mayorov/Pictures/iTerm/" & (argv as text)
end tell
end tell
end run

По дефолту все скрипты сохраняются в директории:

~/Library/Mobile\ Documents/com~apple~ScriptEditor2/Documents

Сами картинки я положил в стандартную директорию для картинок, в подпапку iTerm

Далее пишем shell фнукцию:

function chbg()
{
osascript /Users/mayorov/Library/Mobile\ Documents/com~apple~ScriptEditor2/Documents/bgImgIterm.scpt $@
}

После чего в профайл скриптах добавляем:

if [ $(id -u) = 0 ]
then
chbg "root.jpg"
else
chbg "user.jpg"
fi
function logout() { chbg “user.jpg” }trap logout EXIT

На выходе получаем вот такую красоту

--

--

Fullstack CTO
Fullstack CTO

Written by Fullstack CTO

CTO and co-founder at NEWHR & Geekjob

No responses yet