在视觉上区分本地和远程终端会话

时间:2010-08-26 15:48:10

标签: macos bash ssh terminal

我在OS X下使用终端非常广泛。

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

注意:我不确定在此处或在SuperUser上发布此问题。它可能涉及一些bash编程,它可能是许多开发人员感兴趣的,所以我最终选择了Stack Overflow。如果您认为我应该将其移至SU,请发表评论......

3 个答案:

答案 0 :(得分:1)

我一直在寻找一种程序化的方式来自shell(我有很多不同的本地用户,比如postgres,oracle等)。

看起来你可以通过AppleScript来实现它(假设它位于底层脚本框架之上,这表明应该可以用其他东西来做)。

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

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

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

第三种方法可以是包装脚本以打开SSH会话的特定颜色终端,并为其创建单独的图标。

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

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

此外,您可以通过调整.bashrc或/ etc / bashrc(或本地版本)中的PS1来将提示设置为显示不同。在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来说并不确定。我在小牛队中使用了这个功能,我确信Lion和Mountain Lion基本相同。