iTerm 2 设置主题背景以及SSH自动连接服务器

本文详细介绍了iTerm2的下载与安装过程,并提供了如何设置快捷键、主题、背景及SSH连接的方法。同时,还讲解了如何创建个性化配置文件及Profile的具体步骤。

iTerm 2 下载与安装

官方下载地址 http://www.iterm2.com/downloads.html

目前最新版本是iTerm2-3_1_5 。下载之后是iTerm2-3_1_5.zip 解压后就是iTerm的应用程序双击出现如下图

点击Move to Application Folder 就可以将此应用移动到应用程序的目录。下次就可以在Launchpad中找到

设置快捷键

在 Keys -> Hotkey 中设置 command + 、(数字1左边的键)快速显示和隐藏 iTerm

设置主题

下载 iTerm2-Color-Schemes

在 Profiles -> Default -> Colors -> Color Presets… 将其导入喜欢的主题,作为默认颜色。

设置背景

在 Profiles -> 选择一个Profile Name -> Window ->勾选 Background Image并选择一张本地的图片。

设置SSH

设置配置文件

在任何文件夹下创建一个脚本文件并做如下设置

#!/usr/bin/expect -f
set user root
set host 192.168.94.134
set password javen.zhou
set port 12345
set timeout -1

spawn ssh -p $port $user@$host
expect "*assword:*"
send "$password\r"
interact
expect eof

其中
1、user 为连接服务器的用户名
2、host 为目标服务器的IP
3、password 为连接服务器的密码
4、port为连接服务器的端口号

iTerm 中添加一个新的Profile

具体操作如下图

1、选择一个已经配置好个性化的Profile
2、复制一份(Duplicate Profile)
3、修改名称
4、设置连接服务器脚本文件路径

使用上面设置的快捷键(command + 、)呼出ITerm 选择Profiles如何下图

文章到此结束,iTerm 2 相关的设置你Get到了吗?

<think>好的,我现在需要帮助用户解决如何在iTerm2中配置远程服务器会话并始终显示服务器IP地址的问题。首先,我得回想一下用户提供的引用内容,看看有没有相关的信息。 根据引用[1],用户提到了使用expect脚本和配置文件来连接服务器,可能涉及自动登录和文件传输的问题。引用[2]和[3]都提到了使用iTerm2Profiles和expect脚本来快捷登录SSH,特别是设置自动连接和跳转目录。引用[4]则讨论了分屏和远程桌面的操作,但可能不太相关。 用户的主要需求是在iTerm2中配置会话,使得连接远程服务器时始终显示服务器的IP地址。这可能需要修改终端的提示符(Prompt),或者利用iTerm2自身的功能来动态显示会话信息。 首先,iTerm2本身支持在窗口标题或状态栏显示当前会话的信息。例如,可以通过配置Profile中的标题设置,使用动态变量如\(session.username)@\(session.hostname)来显示用户名和主机名,但这可能不直接显示IP地址。不过,如果主机名解析为IP地址,或者通过SSH连接时传递了IP地址,可能可以显示出来。 另外,用户提到的引用[3]中使用了expect脚本来自动登录服务器并跳转目录。或许可以在登录后,通过修改服务器的shell配置文件(如.bashrc或.zshrc)来设置PS1变量,加入主机IP地址的显示。例如,在远程服务器的.bashrc中添加如下行: PS1='\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h(\$(hostname -I | awk "{print \$1}"))\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ ' 这里,\$(hostname -I | awk "{print \$1}")会获取服务器的IP地址并显示在提示符中。这样,每次登录后,提示符都会包含IP地址。 不过,这种方法依赖于远程服务器的配置,用户可能没有权限修改。所以另一个方法是利用iTerm2的Badge功能,在Profile设置Badge文本为服务器的IP地址。例如,在Profile的Session设置里,Badge可以填入[\(session.hostname)],但需要确保session.hostname是IP地址。如果用户通过SSH连接时使用的是IP地址而非主机名,那么Badge就能正确显示。或者,可以通过expect脚本在连接设置一个环境变量,然后在Badge中使用该变量。 另外,参考引用[1]中的方案一,使用expect脚本自动登录时,可以在脚本中加入发送IP地址到终端标题的指令。例如,在expect脚本登录成功后发送: send "export PROMPT_COMMAND='echo -ne \"\\033]0;user@ip_address\\007\"'\r" 这样每次命令执行后,终端标题都会显示IP地址,iTerm2的窗口标题栏会显示该信息。 综合以上方法,最可行的方案可能是结合修改远程服务器的shell提示符和iTerm2的Badge功能。如果用户有权限修改服务器配置,建议在.bashrc或.zshrc中添加IP显示;如果没有权限,则通过iTerm2的Badge或动态标题来显示,但需要确保连接时使用的是IP地址作为主机名。 此外,用户可能需要为每个服务器创建不同的Profile,并在每个Profile的Badge或标题中指定对应的IP地址。例如,在Profile的Badge文本中直接输入IP地址,这样每次使用该Profile连接时,Badge会显示预设的IP。 最后,需要验证这些方法的可行性,确保IP地址能正确显示,并且不影响其他功能如rz/sz的上传下载。可能需要指导用户一步步配置Profile、编辑expect脚本或修改远程服务器的配置文件,并提供具体的命令示例。</think>### 分步配置iTerm2显示服务器IP地址的方法 #### 方法一:通过iTerm2的Badge功能(无需修改服务器配置) 1. **创建/编辑Profile** - 打开iTerm2 → Preferences → Profiles → 选择或新建一个服务器连接配置 - 在 **General** 标签页的 **Badge** 字段输入: ``` [IP地址] ``` 例如:`[192.168.1.100]` - 若需动态显示,可使用`ssh`命令变量(需确保连接时使用IP地址作为主机名): ``` [\(session.hostname)] ``` 2. **验证效果** - 使用该Profile连接服务器时,窗口右下角会显示预设的IP地址[^3]。 --- #### 方法二:修改服务器Shell提示符(需服务器权限) 1. **登录远程服务器** 通过iTerm2连接到目标服务器,执行: ```bash vim ~/.bashrc # 或 ~/.zshrc ``` 2. **在配置文件中添加IP显示** 在文件末尾插入: ```bash PS1='\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h($(hostname -I | awk "{print \$1}"))\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ ' ``` 保存退出后执行: ```bash source ~/.bashrc ``` 3. **效果验证** 新打开的终端会话将显示类似: ``` user@server(192.168.1.100):~/projects$ ``` --- #### 方法三:通过Expect脚本动态设置标题 1. **编写Expect脚本** 参考引用[3],在本地创建脚本文件(如`connect_server.exp`): ```expect #!/usr/bin/expect set IP "192.168.1.100" spawn ssh user@$IP expect "password:" send "your_password\r" expect "*$ " send "export PROMPT_COMMAND='echo -ne \"\\033]0;user@$IP\\007\"'\r" interact ``` 2. **配置Profile调用脚本** - 在Profile的 **General** → **Command** 中选择 **Custom Command** - 输入: ``` /usr/bin/expect /path/to/connect_server.exp ``` --- ### 方案对比 | 方法 | 优点 | 缺点 | |------------|--------------------------|--------------------------| | **Badge** | 无需服务器权限,配置简单 | 需手动维护多个Profile | | **Shell** | 显示稳定,无需本地配置 | 需服务器权限 | | **Expect** | 动态控制标题内容 | 脚本维护成本较高 | ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值