首页 文章

xterm不能在mininet中工作

提问于
浏览
2

我正在使用mininet版本2.1.0 . 我的设置是这样的,我将从远程机器运行mininet命令,例如,

ssh -X user @ IP python mininet.py

X11转发似乎没问题 . X转发仅在mininet shell中不起作用,但它可以从SSH shell运行 .

但是,我无法在mininet上运行xterm命令 . 运行xterm命令后,我没有得到任何输出 .

mininet> pingall
*** Ping: testing ping reachability
h1 -> h2 h3
h2 -> h1 h3
h3 -> h1 h2
*** Results: 0% dropped (6/6 received)
mininet> xterm h1
mininet> h1 xterm
Warning: This program is an suid-root program or is being run by the root user.
The full text of the error or warning message cannot be safely formatted in
this environment. You may get a more descriptive message by running the 
program as a non-root user or by removing the suid bit on the executable.
xterm: Xt error: Can't open display: %s

当我从本地机器启动mininet时,xterm工作并打开一个新窗口 .

在这种情况下,我应该在哪里查找xterm相关日志?

我已经花了一天多的时间 . 我还将mininet版本更新到最新的2.2.1,但仍然没有成功 .

提前致谢!

2 回答

  • 2

    当我搬到Ubuntu 18.04时,Mininet xterm停止了工作 . 我所做的就是在Ubuntu中安装xterm“sudo apt install xterm” . 之后我开始使用mininet(sudo mn)并打电话给mininet> xterm h1 . 像往常一样弹出xterm窗口 . 希望这会有所帮助 .

  • 0

    “h1 xterm”命令在mininet控制台下无法运行的原因是:

    两个重要的xterm相关环境变量($ XAUTHORITY,$ DISPLAY)没有传递给mininet控制台,如果你运行:“h1 echo $ DISPLAY $ XAUTHORITY”;两个变量都将返回空白 .

    为了保持主机环境变量不变,请在mn命令中添加-E参数 . “sudo -E mn”,然后你就能成功运行“h1 xterm” .

相关问题