Blob Blame History Raw
From c8f7b53b8b42b12ecf80dfb7a615b4e9ae070cf3 Mon Sep 17 00:00:00 2001
From: Robin Lee <cheeselee@fedoraproject.org>
Date: Thu, 3 Dec 2020 15:38:41 +0800
Subject: [PATCH 9/9] 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>
---
 image_effect/image_effect.go | 4 ++--
 rpm/dde-daemon.spec          | 1 +
 2 files changed, 3 insertions(+), 2 deletions(-)

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 49307a12..a0b36e3d 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:       /usr/bin/xvfb-run
 
 Recommends:     lshw
 Recommends:     iso-codes
-- 
2.26.2