【问题标题】:ZSH Agnoster Theme showing machine nameZSH Agnoster Theme 显示机器名称
【发布时间】:2015-04-14 00:20:44
【问题描述】:

我有一个使用 Ubuntu 14.04 托管在 Digital Ocean 上的开发服务器。我将 shell 切换到 ZSH 并决定使用 Agnoster 主题。为了让user@hostname 停止显示,我在我的.zshrc 文件中设置了DEFAULT_USER

由于某种原因,在 ubuntu 服务器上,这不起作用。主机名仍然显示,并且不会消失。我在我的 Mac OSX 上做同样的事情,而且效果很好。

以下是一些截图:

有人知道发生了什么吗?我什至尝试了DEFAULT_USER="$USER@$HOST",但没有成功。

如果我回到默认的 Robby Russell 主题,它工作得很好。

【问题讨论】:

    标签: shell ubuntu zsh digital-ocean oh-my-zsh


    【解决方案1】:

    虽然接受的答案非常好,但我更愿意尽可能少地修改我的 .zshrc 文件以保持干净。

    因此,一种稍微不同的方法是覆盖主题(如https://github.com/robbyrussell/oh-my-zsh/wiki/Customization#overriding-and-adding-themes 上的建议)。

    1. 转到您的 ~/.oh-my-zsh/custom/themes 文件夹
    2. 创建一个名为agnoster.zsh-theme的文件
    3. 添加您的自定义并保存(例如,在此处重新定义 prompt_context(),使其不执行任何操作):
    prompt_context() {}
    
    1. 用您的更改更新您的终端:
    source ~/.zshrc
    

    【讨论】:

      【解决方案2】:

      我在~/.oh-my-zsh/themes/agnoster.zsh-theme中的配置

      prompt_context() {
        # Custom (Random emoji)
        emojis=("⚡️" "?" "?" "?" "?" "?" "?" "?" "?" "?" "?" "?" "?" "?" "??" "?" "?")
        RAND_EMOJI_N=$(( $RANDOM % ${#emojis[@]} + 1))
        prompt_segment black default "${emojis[$RAND_EMOJI_N]} "
      }
      

      【讨论】:

        【解决方案3】:

        与上下文相关: 有时通过“source ~/.zshrc”获取 zshrc 可能不起作用。启动一个新终端以查看更新的更改。

        【讨论】:

          【解决方案4】:

          我们不需要编辑agnoster.zsh-theme,而是在.zshrc的末尾添加下面的代码:

          export USER=''
          prompt_context() {
            if [[ "$USER" != "$DEFAULT_USER" || -n "$SSH_CLIENT" ]]; then
              prompt_segment black default "%(!.%{%F{yellow}%}.)$USER"
            fi
          }
          

          我们可以将export USER='' 更改为export USER='john' 以显示我们想要的内容。

          【讨论】:

            【解决方案5】:

            把它放在你的 .zshrc 文件中'source $ZSH/oh-my-zsh.sh'之前

            DEFAULT_USER=drewr
            

            我也使用 Agnoster,这就是我用来取消显示用户名的内容。

            希望这会有所帮助。

            【讨论】:

              【解决方案6】:

              如果您使用的是 ma​​cOS,则在您的 ~/.zshrc 文件中添加一行就足以在终端中隐藏机器名称:

              # Where we specify the theme
              ZSH_THEME="agnoster"
              # Force yourself as the system's default user
              DEFAULT_USER="$(whoami)"
              

              这将否定"$user" != "$DEFAULT_USER" 检查here,从而在本地隐藏机器名称,同时仍为 SSH 连接显示它。

              【讨论】:

                【解决方案7】:

                1。 打开 ~/.zshrc 添加行: DEFAULT_USER=whoami 或导出 DEFAULT_USER= myusername (mac os x)

                2。 打开 ~/.oh-my-zsh/themes/agnoster.zsh-theme 文件。

                find ## 主要提示 为 prompt_context 行添加 #。

                【讨论】:

                  【解决方案8】:

                  这是我前两个答案的版本。他们解释得很清楚。我会再次合并。

                  1. 步骤 1. 通过vim .zshrc打开您的.zshrc文件

                  2. 第 2 步。转到文件末尾。

                  3. 粘贴此代码:

                  再次小心缩进你的代码

                  prompt_context() {
                    if [[ "$USER" != "$DEFAULT_USER" || -n "$SSH_CLIENT" ]]; then
                      prompt_segment black default "%(!.%{%F{yellow}%}.)$USER"
                    fi
                  }
                  

                  参考链接:agnoster theme code

                  希望有帮助:)

                  【讨论】:

                  • 这应该是批准的答案,他不会修改以后可能会出现问题的库源代码。
                  • 同意,这是最有帮助的答案^_^
                  【解决方案9】:

                  我也在使用 agnoster 主题。

                  编辑agnoster.zsh-theme并找到$user@%m并删除@%m

                  图片样本:

                  【讨论】:

                    【解决方案10】:

                    您可以在您的.zshrc 文件中设置DEFAULT_USER="[user name]",它将停止在您的终端中显示user@hostname

                    要获取[user name],请在终端中输入id -un,它将输出[user name] 值。

                    【讨论】:

                    • $DEFAULT_USER 在 cygwin 上为空,也可能在某些 linux 机器上。添加到 .zshrc 的第一行 export DEFAULT_USER=`id -un`
                    【解决方案11】:

                    this的特征;当我们sshing 时,会显示主机名。

                    Agnoster 主题上覆盖函数 prompt_contextbuild_prompt 将救援。例如,在~/.zshrc 的最后放置 sn-ps。

                    # redefine prompt_context for hiding user@hostname
                    prompt_context () { }
                    

                    【讨论】:

                      猜你喜欢
                      • 1970-01-01
                      • 1970-01-01
                      • 1970-01-01
                      • 2013-12-30
                      • 1970-01-01
                      • 2016-12-20
                      • 2017-07-19
                      • 2023-04-05
                      • 1970-01-01
                      相关资源
                      最近更新 更多