이것은다른 질문으로 후속 조치.
gnome-terminal 구성 파일에서 사용자 정의 command()를 사용하고 있습니다 /usr/bin/fish
. Ubuntu 14.04를 사용하는 경우 Ctrl-Shift-N을 누르십시오.동일한디렉터리를 현재 터미널로 사용합니다. 16.04에서는 상황이 바뀌었고 이제는 항상 끝납니다 $HOME
. 이전 동작을 원합니다.
이는 조달과는 아무런 관련이 없습니다 /etc/profile.d/vte.sh
. Fish는 제목 표시줄에서 디렉토리 변경 사항을 관찰할 수 있으므로 이 작업을 올바르게 수행합니다. gnome-terminal 구성 파일에서 사용자 정의 명령 상자를 선택 취소하면 새 터미널 창에서 현재 디렉터리를 올바르게 사용합니다. 그러나 내 시스템의 기본 셸인 bash를 사용합니다.
chsh
내 시스템 쉘( )은 다른 시스템에서 공유되고 Fish는 해당 시스템에서 사용할 수 없기 때문에 변경할 수 없습니다 .
현재 디렉토리를 터미널에서 사용할 수 없기 때문에 Fish에서 이 문제를 해결할 방법을 찾지 못했습니다.
편집: 이것은 우분투에서의 회귀이기 때문에 나도우분투에 #1609342로 보고하세요..
답변1
Gilles가 의견에서 언급했듯이 SHELL 변수 설정도 작동합니다. 다른 답변의 단점이 없습니다. 세부사항은 다음과 같습니다:
.xsessionrc
홈 디렉터리에 콘텐츠를 만듭니다.SHELL=/usr/bin/fish
gnome-terminal 구성 파일 옵션에서 사용자 정의 명령을 비활성화합니다.
- 로그아웃했다가 다시 로그인하세요.
Gnome 터미널은 이 변수를 존중하고 이 사용자 정의 명령을 사용해야 합니다. Ubuntu 16.04.1에서 저에게 효과적이었고 작업 디렉토리 문제를 해결했습니다.
답변2
Wayland 세션을 운영하는 분들을 위해,이 솔루션SHELL 변수 설정을 기반으로 한 접근 방식은 Wayland가 .xsessionc, .profile 또는 .bashrc를 포함한 쉘 파일을 얻지 못하기 때문에 작동하지 않습니다.
나에게 도움이 된 해결 방법의 변형은 GNOME 터미널용 사용자 정의 실행 프로그램을 만들고 env를 사용하여 SHELL 환경 변수를 설정하는 것이었습니다.
env SHELL=/usr/bin/fish gnome-terminal
답변3
한 가지 해결 방법은 다음을 추가하는 것입니다 .bashrc
.
if [ -f /usr/bin/fish ]; then
exec /usr/bin/fish
fi
단점: Fish 사용자로서 POSIX 호환 쉘이 필요한 경우가 있습니다. 위의 해킹을 수행하면 bash
또 다른 물고기 껍질을 얻을 수 있습니다.