xterm 中的转义码 50

Mar*_*oij 6 xterm escape-characters

我的同事在~/.bash_profile我们的许多服务器中都有以下内容:

echo -e "\033]50;SetProfile=Production\a"
Run Code Online (Sandbox Code Playgroud)

文本似乎无关紧要,因为这也有效:

echo -e "\033]50;ANY_TEXT\a"
Run Code Online (Sandbox Code Playgroud)

但没有文字不起作用;的\a也是必需的。

这会导致他在 OSX 中的终端更改配置文件(不同颜色等);但是在我的 xterm 中,它将字体更改为巨大的;我似乎无法重置。

我试图用以下方法重置它:

  1. 使用 shift+右键单击设置 VT 字体
  2. 使用 shift+中键单击执行“软重置”和“完全重置”
  3. 发送各种转义码和命令:

    $ echo -e "\033c"    # Reset terminal, no effect
    $ echo -e "\033[0;m" # Reset attributes, no effect
    $ tput sgr0          # No effect
    $ tput reset         # No effect
    
    Run Code Online (Sandbox Code Playgroud)

我的问题:

  1. 为什么这适用于 xterm 以及它究竟是做什么的?代码 50 被列为“保留”?
  2. 我该如何重置?

截屏:

在此处输入图片说明

cel*_*chk 5

查看xterm 转义码列表显示(esc)]50;name(bel)将 xterm 的字体设置为 font name,或者如果的第一个字符name是 a则设置为字体菜单中的条目#

重置它的最简单方法是使用 xterm 的字体菜单(Ctrl+ 鼠标右键单击)并选择除Default. 或者,您可以找出 xterm 在启动时使用的字体,并使用转义序列进行设置。

在字体菜单中,您还会找到一个选项Allow Font Ops;如果取消选中,则不能再使用转义序列更改字体。