ラップトップにbunt 17.10、およびMininet 2.2.2をパッケージ(Sudo apt-get install mininet
)からインストールしました。ネイティブ、つまり、実際のマシン上の実際のOS あらゆる種類の仮想マシンなし。ラップトップは2017 MacBook Pro 13インチのタッチバーなし(MacBookPro14,1)であり、Ubuntuは高速USBキーで実行されます。完全を期すために書いているだけで、関連性はないと思います。
カスタムテストを実行し、各ノードを通過するトラフィックを観察するには、作成する各ミニネットホストへのCLIアクセスが必要です。
以前のラップトップでも同様のセットアップを行いましたが、Ubuntuの古いバージョンとおそらくMininetを使用し、必要なすべてのMininetホストからxterm
sを生成することができました。問題は、どうやってやったのかまったく覚えていないことです=)。
echo $DISPLAY
は:0
を返します。通常のシェルまたはミニネットホストで実行しても、通常のシェルでxterm
はxtermウィンドウを開きます。 h1
が私のミニネットホストであるとします。 Sudo mn
でMininetを起動すると、次の結果が得られます。
h1 echo $DISPLAY
-> :0
xterm h1
->何も、何も起こらないh1 xterm &
->何も、何も起こらないh1 xterm
-> No protocol specified. 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
私が見つけることができるすべての情報は、sshでのX11転送に関連しており、私が試したすべてが失敗しました。
何か案が?
問題を解決するには、スーパーユーザーにならずに端末でxhost +local:
を実行します。詳細の下。
この問題は、セキュリティ上の理由から、スーパーユーザーとして認証された場合にデフォルトでxtermが機能しないためです(ミニネットはスーパーユーザーとして実行する必要があります)。
これが問題かどうかを確認するには、通常どおりログインしているときに端末でxterm
とSudo xterm
を実行します(このチェックが無意味になる前にSudo su
のようなことをした場合)。 xterm
が開くが、Sudo xterm
が開かない場合は、実行する必要があります
xhost +local:
Sudo xterm
は、Mininet内のh1 xterm
と同様に動作するはずです。これは、そのコマンドを使用して、Sudo
またはsu
として実行されているアプリケーションへのグラフィカルサーバーアクセスを提供したためです。
設定は再起動間は保持されず、xhost -
で元に戻すことができます。
これを行うことにより、システムまたはネットワーク上のすべてのユーザーに認証なしで$ DISPLAYへのアクセス権を与えることに注意してください( https://wiki.archlinux.org/index.php/Xhost )。