Add command to spawn an xterm
This commit is contained in:
@@ -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
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user