Merge branch 'hvm' of 10.141.1.101:/var/lib/qubes/git/marmarek/core into hvm
This commit is contained in:
commit
da70b2ac03
@ -1301,7 +1301,7 @@ class QubesVm(object):
|
||||
|
||||
return conf
|
||||
|
||||
def run(self, command, verbose = True, autostart = False, notify_function = None, passio = False, passio_popen = False, localcmd = None, wait = False):
|
||||
def run(self, command, verbose = True, autostart = False, notify_function = None, passio = False, passio_popen = False, localcmd = None, wait = False, gui = True):
|
||||
"""command should be in form 'user:cmdline'"""
|
||||
|
||||
if not self.is_running():
|
||||
@ -1321,7 +1321,7 @@ class QubesVm(object):
|
||||
raise QubesException("Not enough memory to start '{0}' VM! Close one or more running VMs and try again.".format(self.name))
|
||||
|
||||
xid = self.get_xid()
|
||||
if os.getenv("DISPLAY") is not None and not self.is_guid_running():
|
||||
if gui and os.getenv("DISPLAY") is not None and not self.is_guid_running():
|
||||
self.start_guid(verbose = verbose, notify_function = notify_function)
|
||||
|
||||
args = [qrexec_client_path, "-d", str(xid), command]
|
||||
@ -2406,6 +2406,8 @@ class QubesHVm(QubesVm):
|
||||
|
||||
def run(self, command, **kwargs):
|
||||
if self.qrexec_installed:
|
||||
if 'gui' in kwargs and kwargs['gui']==False:
|
||||
command = "nogui:" + command
|
||||
super(QubesHVm, self).run(command, **kwargs)
|
||||
else:
|
||||
raise QubesException("Needs qrexec agent installed in VM to use this function. See also qvm-prefs.")
|
||||
|
@ -85,7 +85,7 @@ def vm_run_cmd(vm, cmd, options):
|
||||
return vm.run(cmd, autostart = options.auto,
|
||||
verbose = options.verbose,
|
||||
notify_function = tray_notify_generic if options.tray else None,
|
||||
passio = options.passio, localcmd = options.localcmd)
|
||||
passio = options.passio, localcmd = options.localcmd, gui = options.gui)
|
||||
except QubesException as err:
|
||||
if options.tray:
|
||||
tray_notify_error(str(err))
|
||||
@ -130,6 +130,9 @@ def main():
|
||||
parser.add_option ("--force", action="store_true", dest="force", default=False,
|
||||
help="Force operation, even if may damage other VMs (eg shutdown of NetVM)")
|
||||
|
||||
parser.add_option ("--nogui", action="store_false", dest="gui", default=True,
|
||||
help="Run command without gui")
|
||||
|
||||
(options, args) = parser.parse_args ()
|
||||
|
||||
|
||||
|
@ -91,7 +91,8 @@ def main():
|
||||
print >> sys.stderr, '--> Syncing \'%s\' clock.' % vm.name
|
||||
try:
|
||||
vm.run('root:date -u -s "%s"' % date_out, verbose=verbose)
|
||||
except NotImplementedError:
|
||||
except Exception as e:
|
||||
print >> sys.stderr, "ERROR syncing time in VM '%s': %s" % (vm.name, str(e))
|
||||
pass
|
||||
|
||||
main()
|
||||
|
Loading…
Reference in New Issue
Block a user