diff --git a/core-modules/000QubesVm.py b/core-modules/000QubesVm.py index d72692fc..8919f6fe 100644 --- a/core-modules/000QubesVm.py +++ b/core-modules/000QubesVm.py @@ -1715,15 +1715,20 @@ class QubesVm(object): # Run GUI daemon in "invisible" mode, so applications started by # prerun script will not disturb the user extra_guid_args = ['-I'] + elif not os.path.exists('/var/run/shm.id'): + # Start GUI daemon only when shmoverride is loaded; unless + # preparing DispVM, where it isn't needed because of "invisible" + # mode + start_guid = False - if self._start_guid_first and start_guid and os.path.exists('/var/run/shm.id'): + if self._start_guid_first and start_guid: self.start_guid(verbose=verbose, notify_function=notify_function, before_qrexec=True, extra_guid_args=extra_guid_args) if not preparing_dvm: self.start_qrexec_daemon(verbose=verbose,notify_function=notify_function) - if start_guid and os.path.exists('/var/run/shm.id'): + if start_guid: self.start_guid(verbose=verbose, notify_function=notify_function, extra_guid_args=extra_guid_args)