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