diff --git a/deepin-devicemanager-server/deepin-devicecontrol/src/drivercontrol/drivermanager.cpp b/deepin-devicemanager-server/deepin-devicecontrol/src/drivercontrol/drivermanager.cpp index d4106e58..5d278eed 100644 --- a/deepin-devicemanager-server/deepin-devicecontrol/src/drivercontrol/drivermanager.cpp +++ b/deepin-devicemanager-server/deepin-devicecontrol/src/drivercontrol/drivermanager.cpp @@ -610,8 +610,7 @@ QList DriverManager::parsePrinterInfo(const QByteArr bool DriverManager::printerHasInstalled(const QString &packageName) { QProcess p; - QString cmd = "sudo dpkg -s " + packageName; - p.start(cmd); + p.start("dpkg", QStringList() << "-s" << packageName); p.waitForFinished(-1); QByteArray r = p.readAll(); @@ -626,7 +625,7 @@ bool DriverManager::printerHasInstalled(const QString &packageName) bool DriverManager::installPrinter(const QString &packageName) { QProcess p; - p.start("sudo apt install " + packageName); + p.start("apt", QStringList() << "install" << packageName); p.waitForFinished(-1); return printerHasInstalled(packageName); @@ -640,7 +639,7 @@ bool DriverManager::installPrinter(const QString &packageName) bool DriverManager::unInstallPrinter(const QString &packageName) { QProcess p; - p.start("sudo dpkg -r " + packageName); + p.start("dpkg", QStringList() << "-r" << packageName); p.waitForFinished(-1); return !printerHasInstalled(packageName); diff --git a/deepin-devicemanager-server/deepin-devicecontrol/src/drivercontrol/utils.cpp b/deepin-devicemanager-server/deepin-devicecontrol/src/drivercontrol/utils.cpp index 796983c1..085b6efc 100644 --- a/deepin-devicemanager-server/deepin-devicecontrol/src/drivercontrol/utils.cpp +++ b/deepin-devicemanager-server/deepin-devicecontrol/src/drivercontrol/utils.cpp @@ -89,7 +89,7 @@ bool Utils::addModBlackList(const QString &moduleName) bool Utils::unInstallPackage(const QString &packageName) { QProcess process; - process.start(QString("apt remove %1").arg(packageName)); + process.start("apt", QStringList() << "remove" << packageName); if (!process.waitForFinished()) return false; return true; diff --git a/deepin-devicemanager/src/Page/PageInfo.cpp b/deepin-devicemanager/src/Page/PageInfo.cpp index 7d0b03e9..be81451a 100644 --- a/deepin-devicemanager/src/Page/PageInfo.cpp +++ b/deepin-devicemanager/src/Page/PageInfo.cpp @@ -67,8 +67,7 @@ bool PageInfo::getMultiFlag() bool PageInfo::packageHasInstalled(const QString &packageName) { QProcess p; - QString cmd = "dpkg -s " + packageName; - p.start(cmd); + p.start("dpkg", QStringList() << "-s" << packageName); p.waitForFinished(-1); QByteArray r = p.readAll();