我在 gnome-terminal 的首选项中选择了“替换初始标题”设置,但它只显示默认标题“终端”。阅读后这个答案,我将其添加到我的.bashrc
:
PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME}: ${PWD/$HOME/~}\007"'
并注释掉这一行:
#PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
重新启动终端后,它开始显示user@hostname: ~/currentdir
其标题,每当我转到另一个目录时它都会更改。但是当我启动 CLI 程序(如和)cd
时它仍然不会更改(例如,vim 将当前文件名设置为标题)。cmus
vim
我已经安装rxvt
并且一切运行正常。
Ubuntu 13.04,gnome-terminal 3.6.1。
我的 .bashrc- 几乎与默认 ubuntu 安装附带的相同。
答案1
首先,你的问题有些矛盾。你说,“它开始显示user@hostname: ~/currentdir
在标题中,每当我cd
转到另一个目录时它就会改变”,但所附图片却说了其他内容。我几乎可以肯定,如果您在 gnome-terminal 的首选项中选择了“替换初始标题”设置,并且使用这个 ~/.bashrc 文件正如您所说的,您的终端应该如下图所示:
其次,你完全错了:例如,“vim 将当前文件名设置为标题”。为此,您必须 .vimrc
在主目录中保存一个名为的文件,其中包含以下代码:
let &titlestring = $USER . "@" . hostname() . ": vim " . expand("%:t")
if &term == "screen"
set t_ts=^[k
set t_fs=^[\
endif
if &term == "screen" || &term == "xterm"
set title
endif
还有一件事:我还不明白你if
从文件中的第 11 行到第 40 行使用这段代码到底是为了什么.bashrc
,但在这种情况下,在第 33 行进行设置TERM="gnome-256color"
可能会有问题。因此,我建议你注释掉该行,或者删除第 11 行到第 40 行之间的所有代码。
完成所有这些操作后,当您使用时vim
,您的终端应该如下所示:
答案2
以下是对我有用的方法:
- 安装该
xttitle
包。
sudo apt-get install xttitle
添加
~/.bashrc
:
PS1='\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[1;31m\]($?)\[\033[00m\]\$ '
添加
.bashrc
# from the "xttitle(1)" man page - put info in window title update_title() { [ $TERM = xterm -o $TERM = xterm-color ] && xttitle "[$$] ${USER}@${HOSTNAME}:$PWD" } cd() { builtin cd "${@}" update_title }
答案3
只是为了确定一下,当您编辑默认配置文件时,您是否尝试保存该配置?关闭终端,然后重新打开它?失败了吗?
根据我的经验,正常的开箱即用安装确实取代了初始标题,因此我对这个问题感到有点惊讶。
尝试这个方法:
- 打开终端
- 在屏幕顶部的收费栏上单击“编辑”>“个人资料”
- 选择默认配置文件
- 点击“编辑”按钮,突出显示默认配置文件
- 点击“标题和命令”选项卡
- 确保“替换初始标题”按钮可见
- 点击每个屏幕上的“关闭”按钮返回终端
- 退出终端
- 重新启动终端会话
您应该将标题自动替换为您主目录中的唯一用户名和路径。