def power(self, vm): '''Current power state. r running t transient p paused s suspended h halting d dying c crashed ? unknown ''' state = vm.get_power_state().lower() if state == 'unknown': return '?' elif state in ('running', 'transient', 'paused', 'suspended', 'halting', 'dying', 'crashed'): return state[0]
def on_connection_established(self, _subject, _event, **_kwargs): """Handler of 'connection-established' event, used to launch GUI/AUDIO daemon for domains started before this tool. """ monitor_layout = get_monitor_layout() self.app.domains.clear_cache() for vm in self.app.domains: if vm.klass == 'AdminVM': continue power_state = vm.get_power_state() if power_state == 'Running': asyncio.ensure_future( self.start_gui(vm, monitor_layout=monitor_layout)) asyncio.ensure_future(self.start_audio(vm)) elif power_state == 'Transient': # it is still starting, we'll get 'domain-start' # event when fully started if vm.virt_mode == 'hvm': asyncio.ensure_future(self.start_gui_for_stubdomain(vm))
def on_connection_established(self, _subject, _event, **_kwargs): '''Handler of 'connection-established' event, used to launch GUI daemon for domains started before this tool. ''' monitor_layout = get_monitor_layout() self.app.domains.clear_cache() for vm in self.app.domains: if vm.klass == 'AdminVM': continue if not vm.features.check_with_template('gui', True): continue power_state = vm.get_power_state() if power_state == 'Running': asyncio.ensure_future( self.start_gui(vm, monitor_layout=monitor_layout)) elif power_state == 'Transient': # it is still starting, we'll get 'domain-start' event when # fully started if vm.virt_mode == 'hvm': asyncio.ensure_future(self.start_gui_for_stubdomain(vm))
def domain_data(vm: QubesVM) -> Dict[dbus.String, Any]: ''' Serializes a `qubes.vm.qubesvm.QubesVM` to a dictionary ''' result = dbus.Dictionary({}, signature='sv') for prop in vm.property_list(): name = str(prop) try: value = serialize_val(getattr(vm, name)) except AttributeError: value = dbus.String('') result[name] = value # Additional data result['state'] = serialize_state(vm.get_power_state()) if vm.name == 'dom0': result['networked'] = False else: result['networked'] = serialize_val(vm.is_networked()) result['memory_usage'] = 0 result['cpu_time'] = 0 result['cpu_usage'] = 0 return result
return 0 def calc_used(vm, volume_name): ''' Calculates the volume usage in percent ''' size = calc_size(vm, volume_name) if size == 0: return 0 usage = calc_usage(vm, volume_name) return usage * 100 // size # todo maxmem Column('STATE', attr=(lambda vm: vm.get_power_state()), doc='Current power state.') Column('CLASS', attr=(lambda vm: type(vm).__name__), doc='Class of the qube.') Column('GATEWAY', attr='netvm.gateway', doc='Network gateway.') Column('MEMORY', attr=(lambda vm: vm.get_mem() / 1024 if vm.is_running() else None), doc='Memory currently used by VM') Column('DISK', attr=(lambda vm: vm.get_disk_utilization() // 1024 // 1024), doc='Total disk utilisation.') Column('PRIV-CURR',