我经常同时使用 3 台机器工作,X 上有多个会话,Y 上有多个会话,Z 是我的本地机器,因此显然那里有一些会话 - 所有会话都位于终端窗口/选项卡中。
问题是,我经常将本地机器与远程机器混淆,这会导致有趣但有时有些悲惨的结果。
我希望有强烈的视觉提示,这些提示会在我登录到另一台机器时自动触发,针对我所在的机器,或者至少针对不同的机器提供有显著差异的提示。
到目前为止,我一直在手动切换远程主机的配色方案(使用 Konsole),但这是:1. 手动和 2. 不区分不同的主机。而 1. 手动,这是最烦人的部分。如果您忘记进行此设置,您会有一种虚假的安全感。
笔记:
- 我已经有了 PS1 拼写出主机名,我需要一些比这更引人注目的东西。
- 任何合理的启发式方法都可以用于决定何时切换主机,并且您可以假设我只使用 ssh(如果有帮助的话)。
- 支持 SSHing-within-SSHing 的解决方案非常受欢迎。
- 我特别(但并非唯一)对终端仿真器应用感兴趣,这些应用不仅允许您控制纯色背景,还允许您在某处浮动一些图像,或者更改会话栏/窗口标题栏的颜色,或其他类型的花哨功能。实际上,带有实际花哨功能的东西可能会奏效 :-)
答案1
看一眼特米尼克斯。它包括如下功能,引用其主页:“基于主机名和目录的自动(触发)配置文件切换”。
(或者如果您使用的是 Mac,则使用 iTerm2,但是,您目前使用 Konsole 表明情况可能并非如此。)
答案2
我的基本提示:
$ echo $PS1
\u@\h\w\$
如果我希望主机为绿色,我会从 ansi 颜色列表中挑选出绿色的转义序列(\e[32分钟) 并在前面添加主机序列 (\H)并把重置序列([0米)以便其他部分使用正常字符。因此,我的新 PS1 是
export PS1='\u@\e[32m\h\e[0m\w\$ '
将其放入我的 .bashrc 将导致我选择该主机的提示。
如果我想要更多,比如说我的背景是青色,那么我会用 echo 命令设置背景序列,然后清除屏幕:
echo -e '\e[46m'; clear