Hi, Oleg Pykhalov skribis: > During testing in a virtual machine I found an issue, which could be > reproduced with the steps bellow. It's not an emergency issue which > blocks the patch from merging, because we still have a workaround in our > pocket (stop and start ‘shepherd’ manually on a specific ‘DISPLAY’). > > - start ‘shepherd’ manually on ‘127.0.0.1:5’ by typing ‘shepherd’ in a > GUI terminal; > - stop ‘x11-display’ with ‘herd stop x11-display’; > - start ‘x11-display’ with ‘herd start x11-display :1’; > - start ‘redshift’ with ‘herd start redshift’. > > The ‘redshift’ service starts a ‘redshift’ process. The > /proc/REDSHIFT_PID/environ file has a ‘DISPLAY’ variable setted to > ‘127.0.0.1:5’. Indeed, good catch! There was a bug: it’s not enough to call ‘setenv’ because ‘make-forkexec-constructor’ & co. have an explicit #:environment-variables parameter, which defaults to the environment of ‘shepherd’ when it was started. (On top of that, setting the ‘default-environment-variables’ SRFI-39 parameter from the ‘start’ method of ‘x11-display’ wouldn’t work because each fiber has its own dynamic environment…) I had to make the change below. Result pushed as commit 08d94fe20eca47b69678b3eced8749dd02c700a4. Thank you for reviewing and testing! Ludo’.