Как запустить команду print lpr -p программно через привилегию root в Qt

Я хочу запустить команду печати lpr -p программно через привилегии root в Qt. На самом деле я хочу напечатать файл PDF, используя эти команды. Эта команда работает через терминал, но не программно.

Заранее спасибо.

1

Решение

вы можете запускать команды, которым нужны права root, запустив:

echo myPass | sudo -S lpr -p

Хотя выводить пароль в оболочке не очень хорошая идея, вы можете сделать это в Qt через Qprocess лайк :

QProcess process1;
QProcess process2;

process1.setStandardOutputProcess(&process2);

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

Другие решения


По вопросам рекламы [email protected]