Add command to spawn an xterm

This commit is contained in:
Brandon Heller
2010-04-05 01:06:30 -07:00
parent b14b1ee441
commit ce9cd5bee5
2 changed files with 15 additions and 2 deletions
+13
View File
@@ -34,6 +34,7 @@ from subprocess import call
from cmd import Cmd from cmd import Cmd
from mininet.log import info, output, error from mininet.log import info, output, error
from mininet.xterm import makeXterms
class CLI( Cmd ): class CLI( Cmd ):
@@ -162,6 +163,18 @@ class CLI( Cmd ):
else: else:
self.mn.configLinkStatus( *args ) self.mn.configLinkStatus( *args )
def do_xterm( self, args ):
"Spawn xterm for the given node."
args = args.split()
if not args:
error( 'please specify node list: xterm node1 node2 ...\n' )
else:
for arg in args:
if arg not in self.nodemap:
error( 'arg not in network: %s\n' % arg )
else:
self.mn.terms += makeXterms( [ self.nodemap[ arg ] ] )
def do_exit( self, args ): def do_exit( self, args ):
"Exit" "Exit"
return 'exited by user command' return 'exited by user command'
+2 -2
View File
@@ -9,7 +9,7 @@ import re
from subprocess import Popen from subprocess import Popen
from mininet.util import quietRun from mininet.util import quietRun
def makeXterm( node, title ): def makeXterm( node, title = '' ):
"""Run screen on a node, and hook up an xterm. """Run screen on a node, and hook up an xterm.
node: Node object node: Node object
title: base title title: base title
@@ -34,7 +34,7 @@ def cleanUpScreens():
if m: if m:
quietRun( 'screen -S ' + m.group( 1 ) + ' -X kill' ) quietRun( 'screen -S ' + m.group( 1 ) + ' -X kill' )
def makeXterms( nodes, title ): def makeXterms( nodes, title = '' ):
"""Create XTerms. """Create XTerms.
nodes: list of Node objects nodes: list of Node objects
title: base title for each title: base title for each