데비안 9 터미널을 su로 변경할 수 없습니다

데비안 9 터미널을 su로 변경할 수 없습니다

어제 Debian Stretch를 설치했습니다. 생선껍질을 설치했어요. 다음을 통해 기본 쉘을 Fish로 변경했습니다.

su chsh -s 'which fish'

그런 다음 이 명령을 다시 입력하세요.

su chsh -s `which fish`

이제 컴퓨터를 다시 시작한 후 "su"를 사용하는 동안 다음 오류가 발생합니다.

sathish@localhost ~> su
Password: 
Cannot execute which fish: No such file or directory

답변1

(댓글을 달 수 없어서 여기에 올립니다)

  1. 사용자를 su로 변경

$ su

(그러면 비밀번호를 입력하세요)

  1. 유형

# chsh [username]

귀하의 경우:

# chsh root

  1. 로그인 쉘 입력/usr/bin/fish
  2. 그게 다야. 로그아웃했다가 다시 로그인하세요. 작동해야 한다

답변2

root의견에서: 분명히 사용자의 로그인 쉘을 다음과 같이 변경하고 싶습니다 fish.

sudo chsh -s "$(which fish)" root

또는 간단하게:

sudo chsh -s "$(which fish)"

존재하지 않는 경우 절대 경로를 입력해야 할 수도 있습니다 fish(일반적으로 패키지를 설치할 때 관리자 스크립트에 의해 수행됨)./etc/shellspostinst


아직 설치 하지 않았다면 sudoIMHO를 해결해야 할 더 큰 문제가 있습니다. 어쨌든 다음을 사용하여 수행하는 방법은 다음과 같습니다 su.

su root -c 'chsh -s "$(which fish)"'

이 경우 root평소와 같이 비밀번호가 필요합니다.

관련 정보