iTerm2 README

The project's README from github.com/gnachman/iTerm2. As one markdown file: README.md.

iTerm2

macOS Terminal Replacement

Version Platform

Website • Downloads • Documentation • Features


About

iTerm2 is a powerful terminal emulator for macOS that brings the terminal into the modern age with features you never knew you always wanted.

Key Features


Installation

Download

Get the latest version from iterm2.com/downloads

For the bleeding edge without building, try the nightly build.

Build from Source

Note: Development builds may be less stable than official releases.

Prerequisites

Clone

git clone https://github.com/gnachman/iTerm2.git

Setup (first time)

make setup

make setup is interactive and will prompt for confirmation before any privileged or security-sensitive operation. It performs the following steps:

To skip all confirmation prompts, use make dangerous-setup instead.

After setup, compile native dependencies and build:

make paranoid-deps   # compile OpenSSL, libsixel, libgit2, Sparkle, etc. (sandboxed)
make                 # build iTerm2

Re-run make paranoid-deps whenever your active Xcode version changes -- the file last-xcode-version tracks which version was last used.

If your Xcode version differs from the one committed in last-xcode-version (e.g. you're on an older machine), suppress the noise without committing your local version:

git update-index --skip-worktree last-xcode-version

To undo: git update-index --no-skip-worktree last-xcode-version

Build

make Development

Run

make run

Architecture

Builds target your native architecture by default. To produce a universal (arm64 + x86_64) binary:

UNIVERSAL=1 make Development

Code signing

Code signing is disabled by default to keep contributor builds simple. To enable it with the project's signing identity:

SIGNED=1 make Development

Building in Xcode

If you prefer building from Xcode instead of the command line:

  1. Complete the Clone and Setup steps above.

  2. Configure code signing with your team ID:

    tools/set_team_id.sh YOUR_TEAM_ID
    

    This script updates DEVELOPMENT_TEAM in all Xcode project files (iTerm2 and its dependencies like Sparkle, SwiftyMarkdown, etc.) so code signing works with your identity.

    To find your team ID: Open Keychain Access, find your "Apple Development" or "Developer ID" certificate, and look for the 10-character string in parentheses (e.g., "H7V7XYVQ7D").

    No Developer account? Skip this step and select "Sign to Run Locally" in Xcode's Signing & Capabilities tab.

  3. Open iTerm2.xcodeproj in Xcode.

  4. Edit Scheme (Cmd-<) and set Build Configuration to Development.

  5. Press Cmd-R to build and run.


Development

Contributing

We welcome contributions! Please read our contribution guide before submitting pull requests.


Bug Reports & Issues

Note: We use GitLab for issues because it provides better support for attachments.


Resources

Resource Link
Official Website iterm2.com
Documentation iterm2.com/documentation
Community iTerm2 Discussions
Downloads iterm2.com/downloads

License

iTerm2 is distributed under the GPLv3 license.


Support

If you love iTerm2, consider:


Made by George Nachman and contributors

iTerm2 (gnachman/iTerm2)

Searching Database…

18.2K ·GitHub
这是什么?iTerm2 是一款适用于 macOS 的终端模拟器,可替代 Apple 自带的 Terminal.app,并提供高级功能,例如 tmux 集成、深度 shell 感知、内联图片,以及内置的 AI 聊天窗口。
没有付费的 Apple 开发者账号,我能构建并进行代码签名吗?可以。贡献者构建默认禁用代码签名;如果没有开发者账号,在 Xcode 中直接选择 'Sign to Run Locally' 即可。
它只能在 Apple Silicon 上运行,还是也支持 Intel 芯片的 Mac?构建默认使用当前机器的原生架构,但该项目也支持生成通用二进制文件,同时覆盖 arm64 和 x86_64 的 Mac。
它的 tmux 集成有什么特别之处?运行 tmux -CC 后,tmux 窗口会变成真正的原生 macOS 窗口和标签页,因此会话在应用崩溃、SSH 断开和应用升级后依然保留,而且两个人可以连接到同一个会话。
我能用脚本或自动化来控制 iTerm2 吗?可以。完整的 Python 脚本 API 让你可以构建自定义状态栏组件、触发器、菜单项,甚至全新的功能。
它内置了网页浏览器吗?内置了。浏览器配置文件会把网页浏览整合进 iTerm2 的窗口/标签页/窗格层级中,而且复制模式、触发器和 AI 聊天等功能也可以在浏览器会话中使用。
Shell Integration 实际能给我带来什么?它会跟踪命令、目录、主机名和用户名,从而支持通过 SCP 点击下载、拖放上传、按主机查看命令历史,以及在每个提示符处添加标记。
What are similar projects?CopyQ, agentbox, forel, cmux, AutoHotkey, Codync, ClawX, MacPacker
Creator
gnachman
Size
606.6 MB
Stars
18.2K
Updated
CommitOct 16
Age
15y
Commits · 90 Days