Как поменять фоновую картинку в терминале командой?
Change background picture in iterm on MacOS automaticaly
Рецепт только для маководов. Основное приложение для работы в терминале у меня 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"
fifunction logout() { chbg “user.jpg” }trap logout EXIT
На выходе получаем вот такую красоту