在/etc/passwd 中尝试更改默认的shell 时,chsh用户不存在

分享于 

2分钟阅读

ubuntu

  繁體

问题

我想将默认的shell从tcsh更改为bash,


>sudo chsh userid


Changing the login shell for userid


Enter the new value, or press ENTER for the default


 Login Shell [/xhbin/tcsh]: /bin/bash


chsh: user 'userid' does not exist in /etc/passwd




答案1

必须执行chsh。


答案2

gnome-terminal有一个解决方法:

  • 转到编辑->配置文件首选项->标题和命令
  • 检查运行自定义命令而不是shell
  • 提供bash作为自定义命令(或fish或内容)

  • 答案3

    只需键入:

     
    chsh
    
    
    
    

    没有sudo和不带参数。

    另请参见man chsh

    The chsh command changes the user login shell. This determines the name
    of the user's initial login command. A normal user may only change the
    login shell for her own account; the superuser may change the login
    shell for any account.

    答案4

    如果忘记了用户名,可以使用whoami命令记住你。

    尝试使用:

    
    sudo chsh $(whoami)
    
    
    
    

    如果在/etc/passwd文件中不存在以您的用户名开头的行(这似乎莫名其妙),则可以添加一个新的,如下所示:

    username:x:1000:1000:your real name,,,:/home/username:/bin/bash


    USE  用户  DEF  Shell  默认  exi  
    相关文章