登录到不同机器的自动视觉提示?


0

我经常同时使用3台机器,X上有几个会话,Y上有几个,Z是我的本地机器,所以很明显有些会话 - 所有会议都在终端窗口/标签中。

问题是,我经常把我的本地机器与一些远程机器混淆,这导致有趣但偶尔会有些悲惨的结果。

我希望有强大的视觉提示,这是由我登录到不同的机器自动触发的,我所在的机器,或者至少是不同机器的显着不同的提示。

到目前为止,我一直在手动切换远程主机的配色方案(使用Konsole),但这是:1。手动和2.不区分不同的主机。而且1.手册,那是最烦人的部分。如果您忘记进行此设置,则会产生错误的安全感。

笔记:

  • 我已经有PS1拼写出主机名,我需要一些比这更引人注目的东西。
  • 任何合理的启发式方法来判断我何时切换主机都没问题,你可以假设我只使用ssh,如果这有帮助的话。
  • 也支持SSH-SSH-SSHing的解决方案非常受欢迎。
  • 我特别(但不是唯一地)对终端模拟器应用程序感兴趣,它不仅可以控制背景为纯色,还可以在某处浮动某些图像,或者更改会话栏/窗口标题栏或其他颜色各种钟声和口哨声。实际上,实际的花里胡哨的东西可能会成功:-)

使用shell的.rc中的颜色和/或主机特定字符串调整提示符(PS1)是避免此类灾难的常用方法。实际上,它也不是最终的安全。不是在任何地方使用root,而是使用自己的id并通过sudo启动所有敏感的东西,在所有主机上都有不同的密码(无论如何都是必须的,不是吗?)真的会阻止你在你想要的时候在X上启动sudo ugly_command在Y.
GombaiSándor

此外,在.rc中回显正确的ansi颜色序列(echo -e'...')可以设置会话的背景。试一试:echo -e“\ e [44m”; 然后看到这个:en.wikipedia.org/wiki/ANSI_escape_code#Colors
GombaiSándor2016年

@GombaiSándor:无论如何我到处都是非root用户(大多数地方我都没有root访问权限),所以这没什么用。我想,在PS1中使用escapess着色我的提示可能很有用。如果你用一个例子来回答它你有一个upvote :-)
einpoklum 2016年

Answers:


1

看看Terminix吧。它包括引用其主页:“基于主机名和目录的自动(触发)配置文件切换”等功能。

(或者iTerm2,如果你在Mac上,但是,你现在使用Konsole表明它可能不是这样。)


0

我的基本提示:

$ echo $PS1
\u@\h\w\$

如果我希望主机为绿色,我从ansi颜色列表中选择绿色的转义序列(\ e [32m ]并在其前面添加主机序列(\ h)并放置重置序列([0m ]以便其他部分具有正常字符。因此,我的新PS1是

export PS1='\u@\e[32m\h\e[0m\w\$ '

将它放入我的.bashrc会导致我选择该主机的提示。

如果我想要更多,让我们说我的背景是青色的,那么我会用echo命令设置背景序列,然后清除屏幕:

echo -e '\e[46m'; clear
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.