xterm의 이스케이프 코드 50

xterm의 이스케이프 코드 50

~/.bash_profile내 동료는 많은 서버에 다음을 가지고 있습니다.

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

이 방법도 작동하므로 텍스트는 중요하지 않은 것 같습니다.

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

하지만 말 없이는 작동하지 않습니다 \a.

이로 인해 그의 OSX 터미널이 프로필(다른 색상 등)을 변경하지만 내 xterm에서는 글꼴이 크게 변경되는 것 같습니다.

다음을 사용하여 재설정을 시도했습니다.

  1. VT 글꼴을 설정하려면 Shift+오른쪽 클릭을 사용하세요.
  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. 어떻게 재설정하나요?

스크린샷:

여기에 이미지 설명을 입력하세요.

답변1

목록을 봐xterm 이스케이프 코드Display는 (esc)]50;name(bel)xterm의 글꼴을 글꼴로 설정하거나 첫 번째 문자가 이면 name글꼴 메뉴의 항목 으로 설정합니다.name#

재설정하는 가장 쉬운 방법은 xterm의 글꼴 메뉴( Ctrl+오른쪽 클릭)를 사용하고 를 선택하는 것 입니다 Default. 또는 시작 시 xterm이 사용하는 글꼴을 찾아 이스케이프 시퀀스를 사용하여 설정할 수도 있습니다.

글꼴 메뉴에서 옵션을 찾을 수도 있습니다 Allow Font Ops. 이 옵션을 선택 취소하면 더 이상 이스케이프 시퀀스를 사용하여 글꼴을 변경할 수 없습니다.

답변2

재설정 방법에 대한 질문에 대답하려면 다음을 수행하십시오.

xterm 이스케이프 코드를 OSC 50 ... BEL사용하여 글꼴을 설정할 수 있습니다(@celtschk의 답변 참조).

글꼴 이름으로 설정하는 것 외에도 Ctrl과 마우스 오른쪽 버튼을 통해 사용할 수 있는 글꼴 메뉴에서 색인으로 설정할 수도 있습니다.

메뉴 인덱스 0을 사용하여 기본 글꼴로 재설정할 수 있습니다.

echo -n "\e]50;#0\a

~에서XTerm 제어 시퀀스 - (2014/05/26):

OSC P s ; P t BEL  Set Text Parameters.

      P s = 5 0 → Set Font to P t. These controls may be disabled using the
      allowFontOps resource. If P t begins with a "#", index in the font menu,
      relative (if the next character is a plus or minus sign) or absolute. A
      number is expected but not required after the sign (the default is the
      current entry for relative, zero for absolute indexing).
      The same rule (plus or minus sign, optional number) is used when querying
      the font. The remainder of P t is ignored.
      A font can be specified after a "#" index expression, by adding a space
      and then the font specifier.
      If the "TrueType Fonts" menu entry is set (the renderFont resource),
      then this control sets/queries the faceName resource.

답변3

"예약됨"에 대한 설명은 혼란스럽습니다.OSC 501991년부터 글꼴 변경에 대한 제어 순서가 xterm에 문서화되었습니다. 이것은 링크입니다X11R5 버전.

웹페이지의 타이포그래피가 개선될 수 있습니다. 문제를 발견하는 데 도움이 되는 빠른 수정 방법은 다음과 같습니다.

추신=5 0 -> 글꼴을 다음으로 설정백금.

이러한 컨트롤은 다음 명령을 사용하여 비활성화할 수 있습니다.allowFontOps자원. 만약에백금"#"으로 시작하는 글꼴 메뉴의 색인, 상대(다음 문자가 더하기 또는 빼기 기호인 경우) 또는 절대값입니다. 기호 뒤에 숫자가 올 것으로 예상되지만 필수는 아닙니다(기본값은 상대 인덱스의 현재 항목이고 절대 인덱스의 0입니다). 글꼴(더하기 또는 빼기 기호, 선택적 숫자)을 쿼리할 때 동일한 규칙을 사용합니다. 남은백금무시당하다.

"#" 인덱스 표현식 뒤에 공백과 글꼴 지정자를 추가하여 글꼴을 지정할 수 있습니다.

만약에"트루타입 글꼴"메뉴 항목이 설정되었습니다(renderFont 리소스), 컨트롤 세트/쿼리faceName 자원.

문제는 마지막 단락에 있을 가능성이 가장 높습니다. 즉, TrueType 글꼴을 사용하고 있으며(단지모든 텍스트) 글꼴의 모양 이름을 글꼴과 일치하지 않는 값으로 설정합니다. Fontconfig...에는 유용한 오류 검사 기능이 없으며 응용 프로그램에 문제가 발생했음을 알리지 않고 기본 글꼴을 사용하여 "복구"할 뿐입니다. 이렇게 하면 메뉴를 통해 트루타입 글꼴 이름을 재설정할 수 없습니다(글꼴 메뉴의 명백한 옵션만 변경됨).크기). 그러나 제어 순서는 여전히 유효합니다.

OSX 터미널은 유용한 문서가 없어 이러한 상황을 보완합니다. 그러나 일부 기능은 다양한 위치에서 복사되었습니다(또는 다른 곳에서 복사했을 수도 있음). 프로필 변경 기능은 버그 보고 변경의 일부로 2008년 KDE Konsole에 나타났습니다.#155801(오히려 흥미로운 언급xterm 제어 순서 문서의 이전 사본누군가가 그것을 웹페이지로 만들었습니다.) 실제로502007 코드(하드코드)에 존재합니다. 그러나 2008년 변경으로 이름이 붙었고 xterm과의 충돌에 대해 언급했습니다.OSC 50.

관련 정보