我正在尝试为 iTerm2 编写一个 MacOS 配置脚本,它将(1)加载动态配置文件并(2)将其设置为默认配置文件。
加载配置文件只需将其放入即可~/Library/Application\ Support/iTerm2/DynamicProfiles
。将该配置文件设置为默认配置文件有点棘手。
我看到 Python API 公开了一种更新默认配置文件的方法,但我希望能够使用 plist com.googlecode.iterm2
。我看到有一个Default Bookmark Guid
plist 条目,但设置它似乎没有效果。
有人这样做过吗?同样,我的目标是零用户交互来指定默认配置文件。
答案1
iTerm 有一个 Python API 允许您执行此操作。
就我个人而言,我通过创建解决了这个问题这个脚本:
import iterm2
async def main(connection):
all_profiles = await iterm2.PartialProfile.async_query(connection)
for profile in all_profiles:
if profile.name == "Projects":
await profile.async_make_default()
return
iterm2.run_until_complete(main)
然后,使用 Ansible,我将该脚本链接到 iTerm 的自动运行目录:
- name: Link iTerm AutoLaunch Scripts
file:
src: "{{role_path}}/files/iTerm/change_default_profile.py"
path: "{{iterm.autorun_dir}}/change_default_profile.py"
state: link
force: true
然后,无论何时启动 iTerm,它都应该默认使用启动 python 脚本中定义的配置文件。