題 如何更改AWS實例上的默認shell?


我想將我的shell從默認的bash shell更改為我的Amazon EC2實例上的zsh。我該怎麼做呢?謝謝!


119
2018-01-11 11:31


起源




答案:


嘗試使用 chsh 命令。

例如

chsh -s / bin / zsh

您可以通過運行確認zsh的位置 whereis zsh或者只是簡單地跑

chsh -s $(哪個zsh)

如果要更改用戶帳戶的shell而不是登錄用戶帳戶,則需要以root身份運行它,因此要更改john的shell,請執行以下操作:

sudo chsh -s $(哪個zsh)john

請注意,您需要註銷並重新登錄才能使更改生效。如果您正在使用Gnome或其他窗口管理器,您還需要完全退出該會話 - 只需關閉並打開您的終端就不夠了。


155
2018-01-11 11:36



我確實試過了,但是root用戶!!我的AMI Image有ubuntu而不是root。不得不切換到ubuntu用戶更改shell!謝謝你的暗示:) - Shripad Krishna
@Paddy如果你是root用戶,可以通過運行為其他用戶更改它 chsh -s /bin/zsh username。 - John T
太棒了:)更容易。謝謝你的信息。 - Shripad Krishna
@We是世界:您需要將/ usr / local / bin / zsh添加為/ etc / shells的新行 - Nate Parsons
我使用的是一個略有不同的版本 sudo chsh -s $(which zsh) $(whoami) - SergioAraujo


打開/ etc / passwd:

sudo vi /etc/passwd

找到包含您用戶名的行:

username:x:1634231:100:Your Name:/home/username:/bin/bash

並用zsh替換bash:

username:x:1634231:100:Your Name:/home/username:/bin/zsh

註銷並重新登錄以使更改生效。


19
2017-08-13 22:21



最好使用 chsh,但如果你是 真 去編輯 /etc/passwd 用手,至少使用 vipw 命令。 - Valmiky Arquissandas
我的機器上沒有chsh。此外,由於一些奇怪的原因,我的/ etc / passwd文件經常被默認文件覆蓋。你知道為什麼會這樣嗎? - Georgii Oleinikov
不要觸摸/ etc / passwd。 有更好的方法可以做到這一點,不需要搞亂passwd工具! - Andrew


在Ubuntu上,在GNOME終端內,通過chsh進行更改將不會產生預期的效果......

要解決此問題,請執行以下操作:

  • 右鍵單擊終端
  • 配置文件 - >配置文件首選項
  • 在“標題和命令”選項卡下,勾選“運行自定義命令而不是我的shell”並提供zsh可執行文件的路徑。
  • 重啟終端。

和平。

附:發布圖片時沒有10個聲望,所以所有的texty說明。 :)


4
2017-08-10 03:46



你有現在需要的代表。 :P - pradyunsg