在Windows中使用putty,你可以保存连接到某个主机并使用某种文本颜色的会话......这对我来说非常有用,因为我使用了一堆远程主机,我想知道是否有(必须有)一种让终端(在Snow Leopard中)模仿这种行为的方法。
我想知道我会怎么做
1.保存连接(例如username@hostname.com),并始终以特定文本颜色打开该连接(例如#00ff00)
2.理想情况下,让任何终端窗口检测它所在的主机并相应地更改其颜色。因此,如果我在常规终端环境中并发布了成功的ssh username@hostname.com
,它会自动将该终端窗口(或标签)的文本颜色更改为#00ff00
让我知道,谢谢!
答案 0 :(得分:10)
好吧,如果你坚持从命令行调用ssh,这里应该有一些技巧:写一个shell脚本并将它保存在colorssh.sh
的某个地方。运行时,它会查看匹配主机的参数,并相应地设置活动终端窗口的颜色。然后它调用真正的ssh,传递这些参数。当ssh将执行返回到脚本时,它会将颜色设置回正常。
由于您可能希望继续键入ssh
而不是colorssh.sh
,因此您可以在.profile
中设置别名。
至于脚本本身?这是代码:
#!/bin/bash
function setTerminalColors {
osascript \
-e "tell application \"Terminal\"" \
-e "tell selected tab of front window" \
-e "set normal text color to $1" \
-e "set background color to $2" \
-e "end tell" \
-e "end tell"
}
for ARG in $*
do
case "$ARG" in
host.example.com)
username@host.example.com)
setTerminalColors "{0,65535,65535}" "{65535,0,0}"
;;
username@otherhost.example.com)
setTerminalColors "{65535,65535,0}" "{0,65535,0}"
;;
esac
done
ssh $*
# back to normal
setTerminalColors "{0,0,0}" "{65535,65535,65535}"
您必须编辑脚本以添加新的主机/颜色组合。
请注意,必须将颜色指定为整数的RGB三元组,范围为0-65535。我知道,很奇怪,对吧?
从技术上讲,AppleScript部分会更改已弃用的属性。您应该通过其“设置集”属性更改窗口的颜色,但我怀疑这将使用该设置更改所有窗口,而不仅仅是当前设置。
此外,此脚本假定白色黑色是您的“正常”设置。如果不是这种情况,您可以在运行前更改脚本以保存当前值,或使用默认设置集中的颜色。
答案 1 :(得分:4)
在终端中,您可以使用不同的窗口背景颜色,不透明度等定义配置文件。此外,在配置文件中,您可以指定启动命令。您可以使用启动命令“ssh me @ thathost”为您使用的每个主机设置不同的配置文件,但这只适用于新窗口。通过Shell轻松获取配置文件 - >新窗口。