【发布时间】:2012-04-10 10:10:28
【问题描述】:
我正在编写一个带有关闭按钮的 QT 应用程序。我想用这个按钮关闭系统,但是当我使用 shell 命令“shutdown -h now”时,系统要求输入密码。
我想在没有密码的情况下关机。
我的QT代码是:
QObject *parent;
myProcess = new QProcess(this);
QString command= "sudo shutdown";
QStringList arguments;
arguments << "-h " << "now" ;
myProcess->start(command,arguments);
【问题讨论】:
-
你考虑过权限吗?要么让你的程序 setuid(坏主意),要么让
/sbin/shutdownsetuid(坏主意),要么将当前用户添加到/etc/sudoers文件,这样你就可以从你的程序中运行sudo /sbin/shutdown(麻烦)。
标签: linux qt ubuntu ubuntu-11.04