Xterm

xterm中的轉義碼50

  • November 27, 2016

我的同事在我們的許多伺服器中都有以下內容~/.bash_profile

echo -e "\033]50;SetProfile=Production\a"

文本似乎無關緊要,因為這也有效:

echo -e "\033]50;ANY_TEXT\a"

但是沒有文本不起作用;也是\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

我的問題:

  1. 為什麼這適用於 xterm 以及它究竟是做什麼的?程式碼 50 被列為“保留”?
  2. 我該如何重置?

截屏:

在此處輸入圖像描述

查看xterm 轉義碼列表會發現(esc)]50;name(bel)將 xterm 的字型設置為 font name,或者如果第一個字元name是 a ,則設置為字型菜單中的一個條目#

重置它的最簡單方法是使用 xterm 的字型菜單(Ctrl+ 滑鼠右鍵點擊)並選擇Default. 或者,您可以找出 xterm 在啟動時使用的字型,並使用轉義序列進行設置。

在字型菜單中,您還可以找到一個選項Allow Font Ops;如果取消選中,則不能再使用轉義序列更改字型。

引用自:https://unix.stackexchange.com/questions/152369