iTerm2 允许设置背景图像或颜色,可以为当前窗口或默认窗口(用于所有新窗口)。
但是,我也可以设置当前窗口的背景图像或颜色从命令行? 即是否有一些神奇的 iTerm2 终端命令来设置活动窗口的背景?
我很乐意在脚本中使用它来更改背景,以反映我已登录到某些远程系统,从而自动在本地或远程 shell 之间产生视觉差异,甚至在特定服务器上为 ssh 会话使用特定的背景。
答案1
我只是想做同样的事情 :-)。 就这样,使用 AppleScript 和一些 bash(如果你喜欢的话)。
--this goes inside for example bgImgIterm.scpt--
tell application "iTerm2"
tell current session of current window
set background image to "/path/to/img/img.jpg"
end tell
end tell
然后你可以在 bash 中运行它
#!/bin/bash
osascript /path/to/scpt/bgImgIterm.scpt
我当前的 OSX 版本是 10.11.5,iTerm2 版本是 3.0.10
答案2
不使用 osascript,Iterm2 支持“echo 命令”来更改背景图像。试试这个 zsh 脚本。
#bin/zsh!
change() {
thumbnails='/path/to/images/folder'
images=(`ls $thumbnails`)
num_images=${#images[*]}
myfilename="${thumbnails}/`echo ${images[$((RANDOM%$num_images + 1))]}`"
echo $myfilename > $current_tty
base64filename=`echo ""${myfilename}"" | base64`;
echo "\033]1337;SetBackgroundImageFile=${base64filename}\a" > $current_tty;
unset $RANDOM
}
请注意,您必须对所有图像首次确认 iterm2 的消息。
而且,该脚本在 tmux 甚至 vim 中都能很好地运行。