실행 중인 Tmux 세션에서 tmux가 사용하는 구성 파일을 어떻게 찾을 수 있나요?

실행 중인 Tmux 세션에서 tmux가 사용하는 구성 파일을 어떻게 찾을 수 있나요?

tmux저는 Arch Linux를 사용하고 있으며 이것을 터미널에서 실행하고 있습니다.

~ ❯ tmux -V
tmux 3.2a

tmux 세션 내에서 실행할 때 다음 사항을 어떻게 확인합니까?

  1. A가 tmux.conf사용하고 있다
  2. 사용 중인 파일의 위치입니다 tmux.conf.

답변1

오해가 있을 수 있다고 생각합니다. "tmux 세션 중"일 때는 tmux.conf"사용 중"이 아니라이미 사용 된. 비교하다Bash에 대한 이 답변과.bashrc,비슷한 상황. 연결된 답변의 단락 중 하나는 "bash"에서 "tmux"로 "번역"될 수 있습니다. "번역된" 버전은 다음과 같습니다:

tmux 서버 의 현재 설정을 보유하는 파일로 생각하지 마십시오 . 소스가 있다는 뜻이에요.bashrc tmux.conf깨끗한 쉘 tmux 서버 에 들어가면 자동으로. 사람들은 때때로 수동으로 다시 가져오고 작동합니다* [...]

* 이전 작업을 두 번 실행하면 발생할 수 있는 부작용에 적용됩니다.

구성 파일을 구문 분석한 후 tmux 서버는 해당 파일을 잊어버릴 수도 있습니다. 이제 서버 구성이 완료되었습니다.그 자체그것이 가장 중요한 것입니다. 구성은 파일에 의해 적용되지만 파일에서 저장되거나 업데이트되지 않습니다. 파일(즉, 이전 버전)이 이미 처리되었기 때문에 파일 변경 사항은 이미 실행 중인 서버에 영향을 미치지 않습니다.

그러나 Tmux는 로드된 구성 파일을 기억합니다. 이 정보는 다음과 같은 형식 변수로 제공됩니다.config_files. 예를 들어, tmux 내의 셸에서는 다음을 수행할 수 있습니다.

tmux display-message -p 'This is a list of config files: #{config_files}'

나에게 이 명령은 다음과 같이 인쇄됩니다.

This is a list of config files: /etc/tmux.conf,/home/kamil/.tmux.conf

이 파일에 대해 정말로 알고 싶다면존재하다사용 후 확인하세요current_file형식 변수. #{current_file}형식 문자열에서 처리 중인 파일의 경로 이름(auto 또는 Used )으로 확장됩니다 source-file. 파일 외부(예: tmux display-message -p '#{current_file}'tmux 내의 셸에서 실행 중인 경우)는 빈 문자열로 확장됩니다.

~에 따르면변경 로그, current_filetmux 3.2에 추가되었습니다.

답변2

좋지는 않지만 작동합니다 tmux -v(사용자에게 쓰기 권한이 있는 디렉터리에서 시작) grep loading tmux-server-<pid>.log. 로그가 빠르게 커지면 로그를 종료하고 삭제하는 것을 잊지 마십시오.

그러나 일반적으로 구성 파일 위치를 읽을 수 있는 가능성은 몇 가지 밖에 없습니다(3.2a에서 테스트됨).

  • 첫째, tmux -f configfile사용하면 다른 모든 것보다 우선합니다. 시스템 구성도 처리되지 않습니다.
  • -f명령줄에 없는 경우:
    • /etc/tmux.conf그런 다음 시스템을 처리합니다(있는 경우).
    • 그런 다음 사용자 구성을 처리합니다 ~/.tmux.conf(존재하는 경우).
    • 그런 다음 (3.2a에만 해당) 사용자 구성 ~/.config/tmux/tmux.conf(존재하는 경우)을 처리합니다.

물론, 그 중 어느 하나가 source-file다른 것이 될 수도 있고, 다른 하나가 source-file다른 것이 될 수도 있습니다. 하지만 적어도 플레이 중인 구성을 쉽게 풀 수 있어야 합니다.

관련 정보