Log*_*gan 6 ubuntu sudo qmake qt-creator
我的目标是成功将文件夹链接到需要与sudo一起运行的/ opt /目录.
我试过这个:
system(sudo ln -s $$OUT_PWD/xampp /opt/lampp):message("You should manually link LAMPP")
Run Code Online (Sandbox Code Playgroud)
但是从qt-creator构建它不会提示输入sudo密码,因此我无法将其链接到该文件夹.我在编译器输出中遇到"密码尝试错误..."错误.然后我用构建步骤尝试了这些:
make
sudo make install
Run Code Online (Sandbox Code Playgroud)
看它是否会在那里提示我,但它在make install步骤中失败了同样的错误,这是详细的:
00:31:20: Starting: "/usr/bin/sudo" make install
sudo: no tty present and no askpass program specified
sudo: no tty present and no askpass program specified
Sorry, try again.
sudo: no tty present and no askpass program specified
sudo: no tty present and no askpass program specified
Sorry, try again.
sudo: no tty present and no askpass program specified
sudo: no tty present and no askpass program specified
Sorry, try again.
sudo: 3 incorrect password attempts
00:31:20: The process "/usr/bin/sudo" exited with code 1.
Run Code Online (Sandbox Code Playgroud)
system()当我qmake && make && make install在终端使用时,qmake脚本中的函数工作正常,因为它在sudo ln...命令之前提示我; 但为了快速测试目的,我觉得在Qt Creator中用CTRL-B构建也应该使用sudo命令...
有没有办法从Qt Creator提示,或者解决这个问题?就像在Qt Creator中存储sudo pass一样(虽然它有风险)......或者也许让它在终端上运行构建步骤,它会提示我?就prompt()在聚会sudo的密码QMAKE工作发挥作用?
欢迎任何建议......
经过大量研究:
ssh-askpass Sudo Password | sudo -S bash ./script
Run Code Online (Sandbox Code Playgroud)
它的工作原理就像一个魅力,它要求在单独的窗口/提示框中输入密码。我将其添加到自定义构建步骤下。重要的是让我们sudo知道它需要通过-S选项输入密码。
echo "password" | sudo -S bash ./script
Run Code Online (Sandbox Code Playgroud)
也适用于 bash 脚本,但是您可能认为将 sudo 密码存储在脚本中是不安全的。据说读取权限应该可以解决这个问题。
| 归档时间: |
|
| 查看次数: |
2771 次 |
| 最近记录: |