qubes/ext/gui: remove is-fully-usable and is_guid_running
This commit is contained in:
parent
0fdcbfc237
commit
a9755ed76a
@ -27,36 +27,11 @@ import qubes.config
|
||||
import qubes.ext
|
||||
|
||||
|
||||
|
||||
class GUI(qubes.ext.Extension):
|
||||
# TODO put this somewhere...
|
||||
@staticmethod
|
||||
def send_gui_mode(vm):
|
||||
vm.run_service('qubes.SetGuiMode',
|
||||
input=('SEAMLESS'
|
||||
if vm.features.get('gui-seamless', False)
|
||||
else 'FULLSCREEN'))
|
||||
|
||||
|
||||
@staticmethod
|
||||
def is_guid_running(vm):
|
||||
'''Check whether gui daemon for this domain is available.
|
||||
|
||||
Notice: this will be irrelevant here, after real splitting GUI/Admin.
|
||||
|
||||
:returns: :py:obj:`True` if guid is running, \
|
||||
:py:obj:`False` otherwise.
|
||||
:rtype: bool
|
||||
'''
|
||||
xid = vm.xid
|
||||
if xid < 0:
|
||||
return False
|
||||
if not os.path.exists('/var/run/qubes/guid-running.{}'.format(xid)):
|
||||
return False
|
||||
return True
|
||||
|
||||
|
||||
@qubes.ext.handler('domain-is-fully-usable')
|
||||
def on_domain_is_fully_usable(self, vm, event):
|
||||
# pylint: disable=unused-argument
|
||||
if not self.is_guid_running(vm):
|
||||
yield False
|
||||
|
@ -683,9 +683,6 @@ class QubesVM(qubes.vm.mix.net.NetVMMixin, qubes.vm.BaseVM):
|
||||
self._libvirt_domain = None
|
||||
self._qdb_connection = None
|
||||
|
||||
#: this :py:class:`asyncio.Event` will fire when session is obtained
|
||||
self.have_session = asyncio.Event()
|
||||
|
||||
if xml is None:
|
||||
# we are creating new VM and attributes came through kwargs
|
||||
assert hasattr(self, 'qid')
|
||||
@ -923,8 +920,6 @@ class QubesVM(qubes.vm.mix.net.NetVMMixin, qubes.vm.BaseVM):
|
||||
if qmemman_client:
|
||||
qmemman_client.close()
|
||||
|
||||
asyncio.ensure_future(self._wait_for_session())
|
||||
|
||||
return self
|
||||
|
||||
@qubes.events.handler('domain-shutdown')
|
||||
@ -1081,9 +1076,6 @@ class QubesVM(qubes.vm.mix.net.NetVMMixin, qubes.vm.BaseVM):
|
||||
raise qubes.exc.QubesVMError(
|
||||
self, 'Domain {!r}: qrexec not connected'.format(self.name))
|
||||
|
||||
if gui and not self.have_session.is_set():
|
||||
raise qubes.exc.QubesVMError(self, 'don\'t have session yet')
|
||||
|
||||
self.fire_event_pre('domain-cmd-pre-run', start_guid=gui)
|
||||
|
||||
return (yield from asyncio.create_subprocess_exec(
|
||||
@ -1264,23 +1256,6 @@ class QubesVM(qubes.vm.mix.net.NetVMMixin, qubes.vm.BaseVM):
|
||||
except subprocess.CalledProcessError:
|
||||
raise qubes.exc.QubesException('Cannot execute qubesdb-daemon')
|
||||
|
||||
@asyncio.coroutine
|
||||
def _wait_for_session(self):
|
||||
'''Wait until machine finished boot sequence.
|
||||
|
||||
This is done by executing qubes RPC call that checks if dummy system
|
||||
service (which is started late in standard runlevel) is active.
|
||||
'''
|
||||
|
||||
self.log.info('Waiting for qubes-session')
|
||||
|
||||
yield from self.run_service_for_stdio('qubes.WaitForSession',
|
||||
user='root', gui=False, input=self.default_user.encode())
|
||||
|
||||
self.log.info('qubes-session acquired')
|
||||
self.have_session.set()
|
||||
self.fire_event('domain-has-session')
|
||||
|
||||
@asyncio.coroutine
|
||||
def create_on_disk(self, pool=None, pools=None):
|
||||
'''Create files needed for VM.
|
||||
|
Loading…
Reference in New Issue
Block a user