terminfo를 나열하고 삭제하는 방법은 무엇입니까?

terminfo를 나열하고 삭제하는 방법은 무엇입니까?

terminfo몇 가지 사용자 정의 명령을 설치했습니다 tic. terminfo데이터베이스의 모든 항목(예 : )을 어떻게 나열 infocmp하고 특정 콘텐츠를 삭제하려면 어떻게 해야 합니까 terminfo?

지금 내가 생각하는 것은 이렇다.

Linux에서 시스템 전체 데이터베이스는 (Debian), (Arch) 및 (Solaris) terminfo에 있습니다 ./lib/terminfo/usr/share/terminfo/usr/share/lib/terminfo

macOS에서 시스템 전체 terminfo데이터베이스는 다음 위치에 있습니다 /usr/share/terminfo.

사용자 정의 terminfo데이터베이스는 에 있습니다 ~/.terminfo.

terminfo이제는 이 디렉터리에서 컴파일된 프로젝트를 삭제하여 데이터베이스 프로젝트를 변경하는 것이 가능하다고 생각합니다 . 따라서 추가 질문은 다음과 같습니다. 프로젝트가 terminfo두 개의 16진수 디렉터리(예: 31, 7a)로 구성되는 이유는 무엇입니까? 어떻게 구성되어 있나요? 기존 이름을 사용하여 데이터베이스 terminfo에 새 이름을 쓰는 경우 이전 이름을 덮어쓰게 됩니까?ticterminfo

답변1

이것은 단순한 질문이 아닙니다. 이 모든 내용은 매뉴얼 페이지에 있습니다.

  • 데이터베이스의 모든 terminfo를 나열하는 방법(예: infocmp 사용)
    ncurses infocmp 프로그램은 터미널 데이터베이스의 컴파일 위치 목록을 사용하며 사용할 수 있습니다.TERMINFO_DIRS환경 변수. 이것tic(그리고infocmp) -D옵션 표시 목록:

     -D     tells tic to print the database locations that it  knows  about,
            and exit.  The first location shown is the one to which it would
            write compiled terminal descriptions.  If tic  is  not  able  to
            find  a  writable  database  location  according  to  the  rules
            summarized above, it will print a diagnostic and  exit  with  an
            error rather than printing a list of database locations.
    
  • ncurses도 사용합니다HOME환경 변수는 기본 위치에 쓸 수 있는 권한이 없을 때 터미널 설명을 쓸 수 있는 위치를 tic에 알려줍니다. 이 기능에 문제가 있습니다(최신 상태로 유지하고 다음과 호환되도록 하세요).모두컴퓨터에 설치될 수 있는 ncurses 버전 등).

  • 특정 용어 정보를 삭제하는 방법
    일반적으로 특정 위치에 대한 전체 터미널 데이터베이스가 상호 참조를 처리하기 위해 하나의 단위로 생성되므로 터미널 설명을 삭제하기 위한 특별한 명령은 없습니다. 일반적으로 터미널 데이터베이스는 파일 모음이지만 해시 데이터베이스를 사용하도록 설정할 수도 있습니다. 전자(파일 모음)의 경우 infocmp가 보고서 시작 부분의 설명에 인쇄하는 파일을 제거할 수 있습니다.

  • 프로젝트 terminfo가 두 개의 16진수 디렉토리(예: 31, 7a)로 구성되는 이유는 무엇입니까?
    일부 터미널 설명 이름은 대문자를 사용하는데, 이는 대소문자를 무시하는 파일 시스템에서 파일 이름으로 사용될 때 다른 소문자 이름과 충돌할 수 있습니다. MacOS의 기본 파일 시스템은 대소문자를 무시합니다. Cygwin에서도 마찬가지입니다. 특정 시스템에 대해 ncurses가 구성되면 구성 스크립트는 파일 시스템이 대소문자를 구분하는지 확인합니다. 이것term 매뉴얼 페이지는 이것을 읽을 수 있는 곳입니다.

때로는 다른 사용자(또는 해당 주제에 익숙하지 않은 개발자)가 제안하는 내용을 볼 수도 있습니다.복사한 컴퓨터에서 다른 컴퓨터로 컴파일된 터미널 설명입니다. 이는 이전 정보를 전혀 고려하지 않기 때문에 잘못된 조언입니다.

관련 정보