1diff --git a/accounts1/user.go b/accounts1/user.go
2index 8101d9c6..16c7f15f 100644
3--- a/accounts1/user.go
4+++ b/accounts1/user.go
5@@ -482,7 +482,7 @@ func (u *User) checkIsControlCenter(sender dbus.Sender) bool {
6 return false
7 }
8
9- if exe == controlCenterPath {
10+ if strings.Contains(exe, "dde-control-center") {
11 return true
12 }
13
14diff --git a/accounts1/user_chpwd_union_id.go b/accounts1/user_chpwd_union_id.go
15index 61a691d9..47d2163e 100644
16--- a/accounts1/user_chpwd_union_id.go
17+++ b/accounts1/user_chpwd_union_id.go
18@@ -89,14 +89,13 @@ func newCaller(service *dbusutil.Service, sender dbus.Sender) (ret *caller, err
19
20 // 只允许来自控制中心, 锁屏和 greetter 的调用
21 var app string
22- switch exe {
23- case "/usr/bin/dde-control-center":
24+ if (strings.Contains(exe, "dde-control-center")) {
25 app = "control-center"
26- case "/usr/bin/dde-lock":
27+ } else if (strings.Contains(exe, "dde-lock")) {
28 app = "lock"
29- case "/usr/bin/lightdm-deepin-greeter":
30+ } else if (strings.Contains(exe, "lightdm-deepin-greeter")) {
31 app = "greeter"
32- default:
33+ } else {
34 err = fmt.Errorf("set password with Union ID called by %s, which is not allow", exe)
35 return
36 }
37diff --git a/bin/dde-authority/fprint_transaction.go b/bin/dde-authority/fprint_transaction.go
38index ca2951a0..3223ad25 100644
39--- a/bin/dde-authority/fprint_transaction.go
40+++ b/bin/dde-authority/fprint_transaction.go
41@@ -461,7 +461,7 @@ func (tx *FPrintTransaction) End(sender dbus.Sender) *dbus.Error {
42
43 func killFPrintDaemon() {
44 logger.Debug("kill fprintd")
45- err := exec.Command("pkill", "-f", "/usr/lib/fprintd/fprintd").Run()
46+ err := exec.Command("pkill", "fprintd").Run()
47 if err != nil {
48 logger.Warning("failed to kill fprintd:", err)
49 }
50diff --git a/grub2/grub2.go b/grub2/grub2.go
51index 085b7157..10cb8256 100644
52--- a/grub2/grub2.go
53+++ b/grub2/grub2.go
54@@ -603,7 +603,7 @@ func checkInvokePermission(service *dbusutil.Service, sender dbus.Sender) error
55 if err != nil {
56 return err
57 }
58- if cmd == "/usr/bin/dde-control-center" {
59+ if strings.Contains(cmd, "dde-control-center") {
60 return nil
61 }
62 uid, err := service.GetConnUID(string(sender))
63diff --git a/misc/etc/acpi/powerbtn.sh b/misc/etc/acpi/powerbtn.sh
64index 5c536b9e..39c28987 100755
65--- a/misc/etc/acpi/powerbtn.sh
66+++ b/misc/etc/acpi/powerbtn.sh
67@@ -58,4 +58,4 @@ elif test "$XUSER" != "" && test -x /usr/bin/qdbus; then
68 fi
69
70 # If all else failed, just initiate a plain shutdown.
71-/sbin/shutdown -h now "Power button pressed"
72+shutdown -h now "Power button pressed"
73diff --git a/misc/udev-rules/80-deepin-fprintd.rules b/misc/udev-rules/80-deepin-fprintd.rules
74index 7063a40c..c4c6103a 100644
75--- a/misc/udev-rules/80-deepin-fprintd.rules
76+++ b/misc/udev-rules/80-deepin-fprintd.rules
77@@ -1 +1 @@
78-SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_interface", ACTION=="add|remove", ENV{LIBFPRINT_DRIVER}!="", RUN+="/usr/bin/dbus-send --system --dest=org.deepin.dde.Fprintd1 --print-reply /org/deepin/dde/Fprintd1 org.deepin.dde.Fprintd1.TriggerUDevEvent"
79+SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_interface", ACTION=="add|remove", ENV{LIBFPRINT_DRIVER}!="", RUN+="@dbus@/bin/dbus-send --system --dest=org.deepin.dde.Fprintd1 --print-reply /org/deepin/dde/Fprintd1 org.deepin.dde.Fprintd1.TriggerUDevEvent"
80diff --git a/system/display/displaycfg.go b/system/display/displaycfg.go
81index cda69a77..e394ae07 100644
82--- a/system/display/displaycfg.go
83+++ b/system/display/displaycfg.go
84@@ -255,7 +255,7 @@ func (d *Display) doDetectSupportWayland(sender dbus.Sender) (bool, error) {
85 return false, err
86 }
87 var cmd *exec.Cmd
88- if execPath == "/usr/bin/lightdm-deepin-greeter" {
89+ if strings.Contains(execPath, "lightdm-deepin-greeter") {
90 cmd = exec.Command("runuser", "-u", "lightdm", "glxinfo") // runuser -u lightdm glxinfo
91 } else {
92 cmd = exec.Command("glxinfo")