gpt4 book ai didi

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

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:17:00 26 4
gpt4 key购买 nike

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

通常你可以通过编写类似的东西来启动一个新的交互式 bash,其中运行一个特定的应用程序

$ bash -i -c some_command

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

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

为了

Executable: bash
Arguments: -i -c htop

我明白了

Starting external tool '/bin/bash' -i -c htop

bash: no job control in this shell

Error opening terminal: unknown.

'/bin/bash' finished

为了

Executable: bash
Arguments: htop

Starting external tool '/bin/bash' htop

/usr/bin/htop: /usr/bin/htop: cannot execute binary file

'/bin/bash' finished

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

有趣的是,使用xterm(它也是QtCreator 的默认外部终端(尽管一开始我的系统上没有-_-)就像一个魅力。如果我对我的 htop-tool 使用以下设置

Executable: xterm
Arguments: -e htop

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

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

最佳答案

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

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

Executable: LXTerminal
Arguments: -e htop

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

关于linux - QtCreator - 在交互式 bash 中启动外部工具,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28788156/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com