diff --git a/deepin-devicemanager-server/deepin-devicecontrol/src/drivercontrol/drivermanager.cpp b/deepin-devicemanager-server/deepin-devicecontrol/src/drivercontrol/drivermanager.cpp index f0501f27a..253dd601f 100644 --- a/deepin-devicemanager-server/deepin-devicecontrol/src/drivercontrol/drivermanager.cpp +++ b/deepin-devicemanager-server/deepin-devicecontrol/src/drivercontrol/drivermanager.cpp @@ -591,8 +591,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("sudo", QStringList() << "dpkg" << "-s" << packageName); p.waitForFinished(-1); QByteArray r = p.readAll(); @@ -607,7 +606,7 @@ bool DriverManager::printerHasInstalled(const QString &packageName) bool DriverManager::installPrinter(const QString &packageName) { QProcess p; - p.start("sudo apt install " + packageName); + p.start("sudo", QStringList() << "apt" << "install" << packageName); p.waitForFinished(-1); return printerHasInstalled(packageName); @@ -621,7 +620,7 @@ bool DriverManager::installPrinter(const QString &packageName) bool DriverManager::unInstallPrinter(const QString &packageName) { QProcess p; - p.start("sudo dpkg -r " + packageName); + p.start("sudo", QStringList() << "dpkg" << "-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 34dd20503..449842d23 100644 --- a/deepin-devicemanager-server/deepin-devicecontrol/src/drivercontrol/utils.cpp +++ b/deepin-devicemanager-server/deepin-devicecontrol/src/drivercontrol/utils.cpp @@ -84,7 +84,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 1629ee490..ec23c9fae 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();