mirror of
https://github.com/virt-manager/virt-manager.git
synced 2025-02-20 11:48:28 -06:00
Set the 'launch terminal' button sensitivity according ot whether we can access the /dev/pts/* device
This commit is contained in:
parent
fb7968a3bc
commit
916a8ab43b
@ -218,7 +218,6 @@ class vmmConsole(gobject.GObject):
|
||||
|
||||
def update_widget_states(self, vm, status):
|
||||
self.ignorePause = True
|
||||
try:
|
||||
if status in [ libvirt.VIR_DOMAIN_SHUTOFF, libvirt.VIR_DOMAIN_CRASHED ]:
|
||||
self.window.get_widget("control-run").set_sensitive(True)
|
||||
self.window.get_widget("menu-vm-run").set_sensitive(True)
|
||||
@ -226,23 +225,28 @@ class vmmConsole(gobject.GObject):
|
||||
self.window.get_widget("control-run").set_sensitive(False)
|
||||
self.window.get_widget("menu-vm-run").set_sensitive(False)
|
||||
|
||||
if vm.is_serial_console_tty_accessible():
|
||||
print "Access"
|
||||
self.window.get_widget("control-terminal").set_sensitive(True)
|
||||
self.window.get_widget("menu-vm-terminal").set_sensitive(True)
|
||||
else:
|
||||
print "Denied"
|
||||
self.window.get_widget("control-terminal").set_sensitive(False)
|
||||
self.window.get_widget("menu-vm-terminal").set_sensitive(False)
|
||||
|
||||
if status in [ libvirt.VIR_DOMAIN_SHUTDOWN, libvirt.VIR_DOMAIN_SHUTOFF ,libvirt.VIR_DOMAIN_CRASHED ] or vm.is_read_only():
|
||||
self.window.get_widget("control-pause").set_sensitive(False)
|
||||
self.window.get_widget("control-shutdown").set_sensitive(False)
|
||||
self.window.get_widget("control-terminal").set_sensitive(False)
|
||||
self.window.get_widget("control-save").set_sensitive(False)
|
||||
self.window.get_widget("menu-vm-pause").set_sensitive(False)
|
||||
self.window.get_widget("menu-vm-shutdown").set_sensitive(False)
|
||||
self.window.get_widget("menu-vm-terminal").set_sensitive(False)
|
||||
self.window.get_widget("menu-vm-save").set_sensitive(False)
|
||||
else:
|
||||
self.window.get_widget("control-pause").set_sensitive(True)
|
||||
self.window.get_widget("control-shutdown").set_sensitive(True)
|
||||
self.window.get_widget("control-terminal").set_sensitive(True)
|
||||
self.window.get_widget("control-save").set_sensitive(True)
|
||||
self.window.get_widget("menu-vm-pause").set_sensitive(True)
|
||||
self.window.get_widget("menu-vm-shutdown").set_sensitive(True)
|
||||
self.window.get_widget("menu-vm-terminal").set_sensitive(True)
|
||||
self.window.get_widget("menu-vm-save").set_sensitive(True)
|
||||
if status == libvirt.VIR_DOMAIN_PAUSED:
|
||||
self.window.get_widget("control-pause").set_active(True)
|
||||
@ -283,6 +287,7 @@ class vmmConsole(gobject.GObject):
|
||||
else:
|
||||
self.activate_unavailable_page()
|
||||
else:
|
||||
try:
|
||||
self.try_login()
|
||||
except:
|
||||
print _("Couldn't open console: ") + str(sys.exc_info()[0]) + " " + str(sys.exc_info()[1])
|
||||
|
@ -20,6 +20,7 @@
|
||||
import gobject
|
||||
import libvirt
|
||||
import libxml2
|
||||
import os
|
||||
|
||||
class vmmDomain(gobject.GObject):
|
||||
__gsignals__ = {
|
||||
@ -288,6 +289,12 @@ class vmmDomain(gobject.GObject):
|
||||
def get_serial_console_tty(self):
|
||||
return self.get_xml_string("/domain/devices/console/@tty")
|
||||
|
||||
def is_serial_console_tty_accessible(self):
|
||||
tty = self.get_serial_console_tty()
|
||||
if tty == None:
|
||||
return False
|
||||
return os.access(tty, os.R_OK | os.W_OK)
|
||||
|
||||
def get_graphics_console(self):
|
||||
type = self.get_xml_string("/domain/devices/graphics/@type")
|
||||
port = None
|
||||
@ -300,7 +307,8 @@ class vmmDomain(gobject.GObject):
|
||||
return [type, "localhost", port]
|
||||
|
||||
def set_vcpu_count(self, vcpus):
|
||||
print "If this was implemented, it would set this domain to have " + `vcpus` + " virtual cpus."
|
||||
vcpus = int(vcpus)
|
||||
self.vm.setVcpus(vcpus)
|
||||
|
||||
def set_memory(self, memory):
|
||||
memory = int(memory)
|
||||
|
Loading…
Reference in New Issue
Block a user