【问题标题】:Execute project in Qt Creator as root在 Qt Creator 中以 root 身份执行项目
【发布时间】:2014-01-27 11:56:42
【问题描述】:

我有一个现有的 cmake 项目,我正在使用 qtcreator 打开它。它已成功构建,但生成的可执行文件必须以 root 身份运行,因为它需要连接到 eth0 接口。

我无法添加这些“自定义构建设置”(它已被禁用),如果我尝试添加

ssh-askpass Sudo Password | sudo -S bash /to/my/executable/file

我有一个

cannot execute binary file

错误。 我不想以 root 身份运行 qtcreator。运行可执行文件时是否有可能要求输入 root 密码。我对 cmake 和 qtcreator 很陌生。

我将不胜感激。

谢谢!

【问题讨论】:

  • 我怀疑 Qt Creator 能否正确处理管道。它旨在执行二进制文件,并且不通过命令解释器(例如 bash)传递其命令。尝试编辑 sudoers 以允许在没有密码的情况下执行您的命令。之后,您将能够在没有 ssh-askpass 的情况下使用 sudo 运行程序。反正比在项目配置里写sudo密码要好。
  • 谢谢...sudo mycommand 无需密码即可工作...但现在我有一个最后一个愚蠢的问题...我在哪里输入此命令的“sudo”?我想通过按“播放”按钮从 qtcreator 中启动可执行文件。这可能吗?...请说是的! ;)
  • 在项目运行设置中将/usr/bin/sudo 设置为可执行文件,将命令的其余部分设置为参数。

标签: qt cmake root sudo


【解决方案1】:

只需在与可执行文件相同的位置创建一个单行文件即可:

launcher.sh 的内容:

echo "root password" | sudo -S ./executable

别忘了chmod:

sudo chmod a+x launcher.sh // Yeah it's dirty I know!

然后,正常启动 QtCreator,打开您的项目,进入设置并创建一个新的运行配置。可执行文件应该是您的 launcher.sh 文件。 勾选“在终端中运行”复选框

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-10-25
    • 2023-03-25
    • 2010-11-02
    • 2013-07-14
    • 2012-02-10
    • 1970-01-01
    • 2016-11-15
    • 1970-01-01
    相关资源
    最近更新 更多