如何通过Qt中的root权限以编程方式运行print命令lpr -p

时间:2014-11-12 10:31:22

标签: c++ qt printing root-access

我想通过Qt中的root权限以编程方式运行print命令lpr -p。其实我想用这些命令打印pdf文件。此命令正在通过终端进行,但不能通过编程方式进行。

提前致谢。

1 个答案:

答案 0 :(得分:2)

您可以通过运行以下命令运行需要root权限的命令:

echo myPass | sudo -S lpr -p

虽然在shell中回显您的密码不是一个好主意,但您可以通过Qprocess在Qt中执行此操作,如:

QProcess process1;
QProcess process2;

process1.setStandardOutputProcess(&process2);

process1.start("echo myPass");
process2.start("sudo -S lpr -p");
process2.setProcessChannelMode(QProcess::ForwardedChannels);


process2.waitForFinished(3000);