QtCreator - 在交互式bash中启动外部工具

时间:2015-02-28 23:21:04

标签: linux bash terminal settings qt-creator

前段时间我发现您可以直接从IDE中调用QtCreator调用外部工具,并通过工具 - >外部将各种参数传递给它们。我发现这非常方便,但我目前正在努力解决在交互式bash中启动基于终端的应用程序的问题。我正在使用Lubuntu 12.04和QtCreator 2.5.2。

通常,您可以通过编写类似

的内容来启动一个新的交互式bash,其中包含运行在其中的特定应用程序
$ bash -i -c some_command

-i是交互模式的参数,-c告诉bash读取后面的字符串作为一些命令/命令。

在QtCreator中配置外部工具的对话框有两个字段,在我的例子中很重要 - 可执行文件参数。第一个指向您要启动的工具,第二个允许您使用一堆参数启动它。然而,这似乎不起作用!我尝试添加 htop (基于终端的高级任务管理器)以及其他有用的工具。但是,尝试使用bash时出现以下问题:

有关

Executable: bash
Arguments: -i -c htop

我得到了

  

启动外部工具' / bin / bash' -i -c htop

     

bash:此shell中没有作业控制

     

打开终端时出错:未知。

     

' /斌/庆典'完成

有关

Executable: bash
Arguments: htop
  

启动外部工具' / bin / bash' HTOP

     

/ usr / bin / htop:/ usr / bin / htop:无法执行二进制文件

     

' /斌/庆典'完成

这是完全正常的错误消息,因为 -c 参数正是在新bash中启动htop所需的。

有趣的是,使用 xterm (这也是QtCreator的默认外部终端(即使我最初没有在我的系统上使用它) - 就像一个如果我对我的htop-tool使用以下设置

Executable: xterm
Arguments: -e htop

它在运行 xterm 的外部窗口中打开一个完美工作的交互式htop。

有没有人知道如何用bash替换xterm,还是只是因为我错过了什么?我已经很好地设置了我的bash(即使我没有默认字体和字体大小以及xterm中缺少选项卡应该是一个不足以使用它的理由,除非有人想要手动配置它)并且真的想要使用它。我也尝试查看QtCreator的文档和外部工具XML文件,但无法找到足够的信息来解决我的问题。

1 个答案:

答案 0 :(得分:2)

xterm是终端模拟器,而Bash是shell。您需要终端仿真器在图形环境中以交互方式运行shell或其他基于文本的应用程序。

听起来你有一个启动Bash的预定义终端模拟器的快捷方式。我建议找出哪个终端模拟器(可能LXTerminal?)并使用该终端模拟器运行htop

Executable: LXTerminal
Arguments: -e htop

了解man page中的-e选项(您的版本文档可能会有所不同)。