나는 fedora 25 gnome 버전, zsh 쉘을 사용하고 있습니다. 터미널에서 마우스 오른쪽 버튼을 클릭하고 폴더를 열 수 있습니다. tmux가 열릴 때 tmux를 시작하도록 gnome 터미널을 구성했습니다.
이제 터미널에서 폴더를 열면 터미널은 현재 있는 실제 디렉터리 대신 기본 사용자 디렉터리를 엽니다. 어떻게 고치나요?
gnome-terminal의 tmux 또는 Nautilus에 추가 매개변수를 전달해야 합니다.
이것이 다른 파일 관리자에서도 작동한다면 알려주시면 전환 가능성을 고려해 보겠습니다. 하지만 노틸러스를 사용하여 수행할 수 있다면 더욱 좋을 것입니다.
답변1
Linux를 기본 드라이버로 사용한 지 꽤 되었지만 이 작업을 수행할 수 있는 프로그램이 있었지만 nautilus-open-terminal
Fedora가 이를 지원하는지 확실하지 않습니다. 또한 Ubuntu/Debian 시스템이 아닌 시스템에 설치할 수 있는지는 모르겠지만 Canonical의 Unity DE에는 이 기능이 내장되어 있으며 아마도 Gnome에서 사용되는 방법을 복제할 수 있습니다.
.profile
편집: 귀하의 의견에 따라 gnome-terminal의 현재 작업 디렉토리에 있는 항상 열려 있는 tmux에 거부된 프로세스(예: )로 행을 추가하여 tmux ./; disown -r && killall gnome-terminal
디렉토리에서 터미널을 마우스 오른쪽 버튼으로 클릭하고 열면 열릴 수 있습니다. gnome -terminal을 실행하고 즉시 별도의 tmux 창을 열고 노틸러스가 받은 작업 디렉터리를 인수로 전달합니다.
업데이트: 좋습니다. 두 가지 방법을 찾았습니다. 이제 각각에는 고유한 문제가 있지만 이 중 하나가 귀하에게 충분할 수 있기를 바랍니다. 이러한 방법은 Bash를 셸로 사용하고 nautilus-open-terminal
현재 Nautilus/Nemo 디렉터리에서 터미널 창을 시작하는 프로그램을 사용하여 Debian 8.7 설치에서 테스트되었습니다.
방법 1.) tmux
파일 끝에 .bashrc
(또는 귀하의 경우 .zshrc
) 추가하십시오. 이제 열려는 모든 터미널 창은 즉시 작업 디렉터리의 프로세스로 tmux를 엽니다.
이 방법의 장점은 간단하고 창을 하나만 열 수 있다는 것입니다.
이 방법의 가장 큰 단점은 현재 셸에서 항상 중첩된 프로세스로 실행되므로 이것이 문제가 되면 다른 방법을 사용해야 할 수도 있다는 것입니다.
방법 2.) gnome-terminal -e tmux ./
이 줄(이번에는 프로세스 이름을 따옴표 없이)을 .bashrc
또는 .zshrc
파일에 추가합니다. 그러면 tmux가 기본 프로세스로 포함된 새 터미널 창이 열립니다.
이 방법의 장점은 tmux 창이 별도의 프로세스이고 여전히 열려 있으며 현재 작업 디렉터리인 Nautilus/Nemo 창 디렉터리로 설정된다는 것입니다.
단점은 tmux 특정 창을 여는 동안 파일 exit
에 추가할 수 없거나 .bashrc
tmux 창도 종료된다는 것입니다. 하지만 tmux 창을 생성하는 데 사용된 gnome 터미널은 여전히 x
창을 클릭하여 수동으로 닫거나 exit
tmux가 열린 후 gnome 터미널에서 직접 실행할 수 있습니다.
두 번째 방법은 덜 편리하며 중복 터미널 창을 수동으로 닫아야 합니다. Open In Terminal
상황에 맞는 메뉴 옵션을 클릭하면 현재 디렉터리에 전용 tmux 창이 열립니다.
답변2
나는 다음을 추가했습니다:
# Start tmux if tmux is not already running
pgrep tmux >/dev/null 2>&1 || exec tmux
내 .bashrc가 끝나면 모든 것이 제대로 작동하는 것 같습니다. gnome 터미널을 수동으로 (처음으로) 시작하면 tmux가 시작됩니다. 다른 터미널을 열면 tmux(내가 원하는 것)가 없습니다. 노틸러스의 폴더에서 터미널 열기("터미널에서 열기" 사용)도 예상대로 작동합니다.
답변3
TMUX
환경 변수를 통해 exit
tmux 세션을 종료할 때 원래 터미널을 자동으로 종료할 수 있습니다.
if [[ "$TMUX" == "" ]] # if not on tmux
then
tmux
exit
fi
또한 tmux 세션 내 sessions should be nested with care, unset $TMUX to force
호출로 인해 발생하는 "" 메시지 도 방지합니다.tmux