From 43245cf684c02aeed9249785931df15b80cc3e1b Mon Sep 17 00:00:00 2001
From: Robin Lee <cheeselee@fedoraproject.org>
Date: Thu, 3 Dec 2020 15:38:41 +0800
Subject: [PATCH 3/4] feat(image_effect): run `dde-pixmix` under xvfb-run
Use `xvfb-run` to make `dde-pixmix` runnable without a real X server
Log: run `dde-pixmix` under xvfb-run
Signed-off-by: Robin Lee <cheeselee@fedoraproject.org>
---
debian/control | 1 +
image_effect/image_effect.go | 4 ++--
rpm/dde-daemon.spec | 1 +
3 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/debian/control b/debian/control
index 49d3f107..7f0fc12d 100644
--- a/debian/control
+++ b/debian/control
@@ -84,6 +84,7 @@ Depends: ${shlibs:Depends},
xkb-data,
libnotify-bin,
rfkill,
+ xvfb,
hwinfo,
dmidecode
Breaks: lastore-daemon(<< 0.9.64)
diff --git a/image_effect/image_effect.go b/image_effect/image_effect.go
index 9a888f6a..dfa6ae67 100644
--- a/image_effect/image_effect.go
+++ b/image_effect/image_effect.go
@@ -135,7 +135,7 @@ func newImageEffect() *ImageEffect {
}
func ddePixmix(uid int, inputFile, outputFile string, envVars []string) error {
- return runCmdRedirectStdOut(uid, outputFile, []string{"dde-pixmix", "-o=-", inputFile}, envVars)
+ return runCmdRedirectStdOut(uid, outputFile, []string{"xvfb-run", "dde-pixmix", "-o=-", inputFile}, envVars)
}
func (ie *ImageEffect) Get(sender dbus.Sender, effect, filename string) (outputFile string, busErr *dbus.Error) {
@@ -173,7 +173,7 @@ func (ie *ImageEffect) Get(sender dbus.Sender, effect, filename string) (outputF
err = xerrors.Errorf("failed to get process %d environ: %w", pid, err)
return
}
- var envVarNames = []string{"DISPLAY", "XDG_RUNTIME_DIR"}
+ var envVarNames = []string{"XDG_RUNTIME_DIR"}
var envVars = make([]string, len(envVarNames))
for idx, envVarName := range envVarNames {
envVarVal := processEnv.Get(envVarName)
diff --git a/rpm/dde-daemon.spec b/rpm/dde-daemon.spec
index bb22fc7a..39c8fb4a 100644
--- a/rpm/dde-daemon.spec
+++ b/rpm/dde-daemon.spec
@@ -93,6 +93,7 @@ Requires: dde-polkit-agent
Requires: rfkill
Requires: gvfs
Requires: iw
+Requires: %{_bindir}/xvfb-run
Recommends: lshw
Recommends: iso-codes
--
2.26.2