Linux

debian 9終端無法更改為su

  • July 3, 2017

我昨天安裝了 debian 拉伸。我安裝了fish shell。我通過以下方式將預設shell更改為fish

su chsh -s 'which fish'

然後再次輸入這個命令

su chsh -s `which fish`

現在,在我重新啟動 PC 後,我在使用“su”時遇到了以下錯誤

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

(因為我無法發表評論。所以在這裡發布)

  1. 將使用者更改為 su

$ su

(然後輸入密碼)

  1. 類型

# chsh [username]

在你的情況下:

# chsh root

  1. 進入登錄shell/usr/bin/fish
  2. 就是這樣。註銷並重新登錄。應該管用

來自評論:很明顯,您要將使用者的登錄 shell 更改rootfish. 做:

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

或者簡單地說:

sudo chsh -s "$(which fish)"

如果不存在,您可能必須輸入絕對路徑(通常fish在安裝包時由維護者腳本完成)。/etc/shells``postinst


如果你沒有sudo安裝,你有更大的問題要解決恕我直言。無論如何,這是使用以下方法執行此操作su

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

在這種情況下,您需要root’ 的密碼(像往常一樣)。

引用自:https://unix.stackexchange.com/questions/374893