Home About
macOS , Ubuntu , X11

WLI-UTX-AG300/C と Ubuntu 18.04 server の導入 それから Mac から X11 で AndroidStudio 起動まで

Ubuntu 18.04 がリリースされた直後のゴールデンウィークに、諸事情により使っていなかったサーバー用デスクトップを復活させることに。

以前書いたように このデスクトップには Ubuntu Server ではなく Ubuntu Desktop エディション を入れて使っていた。 モニタレスで運用していたが、起動時に WiFiがつかめないことがあり、その結果 クライアントから ssh で接続できないから何もできない。 何が起きているのか、モニタをつないで確認する…という面倒なことになっていた。 たびたびそんなことが起きるので、面倒になりあまり使わなくなっていたのだが、最近 WLI-UTX-AG300/C という製品があることを知り、これなら、起動時に WiFi がつかめなくて面倒になるのが避けられるのではと思い購入。 導入してみるととても便利で、Ubuntu サーバはあくまで有線LAN がある状態で設定できるため、インストールも楽。 さらに WiFi の通信速度が以前より安定していて速いようです。

これなら、サーバ側に Android Studio を起動して開発できるのではないか! そうなれば、負荷のかかる開発業務はサーバで済ますことができる。 クライアントノートPCは画面が広ければ、それほど速いCPUが必要なくて経済的になるのでは… と期待が膨らみます。

Mac の XQuartz に Ubuntu のアプリを表示して使う

もしクライアント側が Mac ではなく Ubuntu などであれば、単に ssh -XC foo@192.168.0.100 するだけの話のはず。 しかし、Mac から ssh -XC してもアプリの描画が XQuartz に来ないのであった。 XQuartz って Retina にも対応していないし、この先使い続けても大丈夫なのかな。

あれこれやってなんとか Mac 側の XQuartz に Ubuntu のアプリ を表示させられるようになったので、その手順をメモしておきます。

Mac の X11(XQuartz) に ubuntu 14.04 の GUI アプリを表示させる

Mac側の確認

netstat -na | grep 6000 して 6000 ポートを Listen しているか確認する.

Listen していればこんな風に出力されるのでOK

tcp4       0      0  *.6000                 *.*                    LISTEN
tcp6       0      0  *.6000                 *.*                    LISTEN

何も出なければ、Listen していないと思うので, defaults コマンドにて確認する.

$ defaults read org.macosforge.xquartz.X11
{
	〜省略〜
    "nolisten_tcp" = 0;
}

nolisten_tcp が 0 ならOK、1 の場合は defaults write コマンドで 0 に設定します。(詳細はググってください。)

えっと話を簡単にするため、以下、クライアント側 Mac は 192.168.0.32, サーバ側 Ubuntu は 192.168.0.100 とします。

この状態で、 Macで

ログインできたら Ubuntu サーバ側で

これで、Mac側の Quartz に目玉が表示されれば成功です。

WLI-UTX-AG300/C の設定

AOSS ボタンで簡単設定とかあるのですが、ワイヤレスルータがAOSSに対応していないので、手動で設定しました。 WLI-UTX-AG300/C 本体が 初期状態で 1.1.1.1 の IP が設定されているから、設定に使うクライアント側のPC を 1.1.1.2 などの IP に設定した上で、 http://1.1.1.1 にアクセスすれば設定画面に入れる。

あとは、使う環境のネットワークが 192.168.0.* であれば、WLI-UTX-AG300/C を 192.168.0.99 などに設定してやれば(自分の環境では)OKでした。

まとめ

これで、AndroidStudio を Ubuntu Server で作動させて ノートPC で開発する体制ができました。 今のところ、そこそこ使えています。

Liked some of this entry? Buy me a coffee, please.