bash: __vte_prompt_command: command not found
每当我打开一个终端时,我都会受到这条线路的欢迎。此外,每次我在终端输入命令时都会打印出来。
我是一名Linux-noob,如果有人能指出我的某些资源,或者暗示可能的解决方案,我会很乐意阅读。我尝试了google-ing,但无法提供任何有用的结果。
在这个开始弹出之前我没有做任何具体的事情。
提前致谢:)
其他信息:
我使用的终端是默认的gnome-terminal
Fedora 20
答案 0 :(得分:10)
听起来像名为VTE的程序已将您的bash环境变量PROMPT_COMMAND
设置为调用名为__vte_prompt_command
的函数。
PROMPT_COMMAND
环境变量定义在每个新提示显示到屏幕之前执行的命令。当此命令产生意外输出时,它可能非常烦人。
您可以通过在终端中输入以下命令暂时摆脱恼人的消息:
__vte_prompt_command() { true; }
这会创建一个不执行任何操作的虚拟函数 - 您可以通过查看此命令的输出来确认:
type __vte_prompt_command
将hack应用到我的系统后,我看到了:
__vte_prompt_command is a function
__vte_prompt_command ()
{
true
}
但是,这表明VTE可能未正确安装和/或可能损坏。如果可能,您可能想尝试重新安装VTE。我不建议将此永久保存到您的~/.bashrc
文件中。
答案 1 :(得分:1)
您可以使用~/.bashrc
修改sudo gedit ~/.bashrc
,使用STRG + F搜索字符串" vte" 并取消注释,从而停用相应的代码带有#
的行。
在我的系统上,线条看起来像这样,我想Ubuntu Budgie的旧安装把它放在那里:
if [ $TILIX_ID ] || [ $VTE_VERSION ] ; then source /etc/profile.d/vte.sh; fi # Ubuntu Budgie END
如果它看起来像这样,终端中的线将不再出现:
#if [ $TILIX_ID ] || [ $VTE_VERSION ] ; then source /etc/profile.d/vte.sh; fi # Ubuntu Budgie END
答案 2 :(得分:1)
我正在使用默认的gnome-terminal运行Ubuntu 18.04,遇到了相同的问题,但需要一个确定的解决方案。
尝试了先前建议的解决方案后,我仍然收到消息:
__vte_prompt_command: command not found
在启动新终端后以及每个命令终止后都会出现。
我在.bashrc
,.profile
中搜索了一个文件,该文件将做source /etc/profile.d/vte-2.91.sh
时没有运气。
比起我想起来,很久以前,我在~/.bashrc
中添加了以下行:
export PROMPT_COMMAND="${PROMPT_COMMAND:+$PROMPT_COMMAND$'\n'}history -a; history -c; history -r"
以便将命令行历史记录附加到所有打开的终端。我发现发表评论可以解决问题。
#export PROMPT_COMMAND="${PROMPT_COMMAND:+$PROMPT_COMMAND$'\n'}history -a; history -c; history -r"
than
$ source ~/.bashrc
我想将这个问题分享给遇到相同问题的任何人。
答案 3 :(得分:0)
对于CentOS7(64位):
尝试使用yum
命令进行安装。
sudo yum update -y
sudo yum install -y terminator
sudo yum install -y epel-release
sudo yum install -y terminator #again
重启命令提示终端,这对我有用(:
参考:http://bytefreaks.net/gnulinux/install-terminator-in-centos-7-64bit