bash:__ vte_prompt_command:找不到命令

时间:2014-03-09 11:57:04

标签: linux bash terminal fedora gnome-terminal

bash: __vte_prompt_command: command not found

每当我打开一个终端时,我都会受到这条线路的欢迎。此外,每次我在终端输入命令时都会打印出来。

我是一名Linux-noob,如果有人能指出我的某些资源,或者暗示可能的解决方案,我会很乐意阅读。我尝试了google-ing,但无法提供任何有用的结果。

在这个开始弹出之前我没有做任何具体的事情。

提前致谢:)

其他信息:

  • 我使用的终端是默认的gnome-terminal

  • Fedora 20

4 个答案:

答案 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