我使用Ubuntu 14.04在Digital Ocean上托管了一个开发服务器。我将我的shell改为ZSH并决定使用 Agnoster 主题。为了让user@hostname
停止显示,我在我的.zshrc文件中设置了DEFAULT_USER
。
由于某种原因,在ubuntu服务器上,这不起作用。主机名仍然显示,并且不会消失。我在我的Mac OSX上做了完全相同的事情,它运行正常。
以下是一些截图:
任何人都知道发生了什么?我甚至试过DEFAULT_USER="$USER@$HOST"
没有运气。
如果我回到默认的 Robby Russell 主题,它的效果会很好。
答案 0 :(得分:62)
根据this的特征;当我们ssh
时,将显示主机名。
覆盖 Agnoster 主题上的功能prompt_context
或build_prompt
将会解救。例如,在~/.zshrc
的最后放置下面的代码段。
# redefine prompt_context for hiding user@hostname
prompt_context () { }
答案 1 :(得分:39)
这是我前两个答案的版本。他们解释得很清楚。我会再次合并。
步骤1.按.zshrc
vim .zshrc
文件
第2步。转到文件末尾。
粘贴此代码:
再次仔细缩进代码
prompt_context() {
if [[ "$USER" != "$DEFAULT_USER" || -n "$SSH_CLIENT" ]]; then
prompt_segment black default "%(!.%{%F{yellow}%}.)$USER"
fi
}
参考链接:agnoster theme code
希望这有帮助:)
答案 2 :(得分:20)
我也使用agnoster主题。
修改agnoster.zsh-theme
并找到$user@%m
并删除@%m
。
图片示例:
答案 3 :(得分:10)
您可以在DEFAULT_USER="[user name]"
文件中设置.zshrc
,它将停止在您的终端中显示user@hostname
。
要获取[user name]
,请在终端中输入id -un
,然后输出[user name]
值。
答案 4 :(得分:2)
如果您使用 macOS ,则在~/.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连接。
答案 5 :(得分:1)
1。
打开〜/ .zshrc
添加行:
DEFAULT_USER = whoami
或导出DEFAULT_USER = myusername(mac os x)
2。 打开〜/ .oh-my-zsh / themes / agnoster.zsh-theme files。
找到##主要提示 为prompt_context行添加#。
答案 6 :(得分:1)
与上下文有关: 有时通过“ source〜/ .zshrc”来采购zshrc可能无法正常工作。启动一个新的终端以查看更新的更改。
答案 7 :(得分:1)
我在~/.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]} "
}
答案 8 :(得分:0)
将此文件放在.zshrc文件的“源$ ZSH / oh-my-zsh.sh”之前
DEFAULT_USER=drewr
我也使用Agnoster,这就是我删除显示用户名的原因。
希望这会有所帮助。
答案 9 :(得分:0)
我们无需编辑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'
来显示我们想要的东西。
答案 10 :(得分:0)
尽管接受的答案是完全可以的,但我还是希望尽可能少地修改.zshrc
文件,以保持环境整洁。
因此,一种略有不同的方法是覆盖主题(如https://github.com/robbyrussell/oh-my-zsh/wiki/Customization#overriding-and-adding-themes上的建议)。
~/.oh-my-zsh/custom/themes
文件夹agnoster.zsh-theme
的文件prompt_context()
,使其无任何作用):prompt_context() {}
source ~/.zshrc