2010-08-26 83 views
4

我在OS X下使用的终端非常广泛。视觉区分本地和远程终端会话

我觉得很烦人(也有点危险),我的本地和远程会话在终端中看起来完全一样。我想知道是否有可能 - 可以通过一些bash编程 - 清楚地区分本地和远程会话。不同的背景颜色将是一个了不起的开始。

注意:我不确定在这里或在超级用户发布此问题。它可能会涉及一些bash编程,并且可能会让很多开发人员感兴趣,所以我最终选择了Stack Overflow。如果你认为我应该将它移动到SU,请发表评论...

回答

0

这是Leopard和Snow Leopard的建议(我没有Tiger来验证它是否有效)。

  1. 在终端首选项中,选择设置选项卡,并创建一个具有不同背景的新设置并将其命名为远程主机。
  2. 单击外壳标签按钮,检查运行命令框并输入ssh命令以连接到远程主机
  3. 现在您可以单击终端的Shell菜单(顶部),选择New Window或New Tab,选择您刚创建的设置。
1

我已经寻找了一个程序化的方式来从壳本身做到这一点(我有很多不同的本地用户,像postgres,甲骨文等东西)。

看起来你可以通过AppleScript的(这考虑到这坐落在一个基本的脚本框架上表明,它应该可以做别的东西)做。

http://www.red-sweater.com/blog/220/random-color-terminal

一些进一步深挖打开了这一点 - osascript显然是命令行访问的AppleScript。这里列出了几种方法,但它确实看起来像是一种以编程方式从终端内更改活动终端窗口的方式(所以如果不是远程登录,您应该能够在登录时更改本地会话)。

http://hints.macworld.com/article.php?story=20040823015557368

这样做可能是包裹脚本来打开SSH会话特定颜色终端,并创建一个单独的图标的第三条道路。

0

在Terminal.app,可以用于连接到不同的主机创建用于每一个使用不同的设置值,即不同颜色的背景或其它特征或运行不同的应用程序。 iTerm中的配置文件功能提供了类似的功能,可能更易于使用或更透明。由于您可以在使用设置或配置文件时运行脚本,因此可以通过附加适当的脚本来完成任何终端外观更改。

另外,还可以设置提示出现在.bashrc中调节不同PS1或/ etc/bashrc中(或本地版本)。有在What is your favorite Bash prompt?一个类似的问题(也是在StackOverflow上),告诉如何设置背景颜色以及文本颜色。我主要在.bashrc(或者主要是/ etc/bashrc)中调整文本颜色,并在Terminal/iTerm设置/配置文件中设置背景。

由于通常只有极少数的用户,并且我们普遍认为bash提示应该是什么样子,所以我喜欢在/ etc中使用全局设置。在某些系统上,不鼓励用户直接更改/ etc/bashrc,而是提供有关创建/etc/bash.bashrc.local等的线索。其他系统没有全局默认值。对于没有全局缺省的系统,我创建了一个调用/etc/bash.bashrc.local的/ etc/bashrc,但几乎没有其他的东西。

而且,之前的回答指出Terminal.app中的设置适用于Leopard和Snow Leopard,但对Tiger没有把握。我在小牛队中使用了这个功能,我相信狮子和山狮是完全相同的。