ECS LIVA Z (N4200) (OS無し) に Ubuntu MATE をインストールして SSH & VNC 接続するまで


本稿の目的

急にわけもなく「ミニPC」が欲しくなり実施した、ECS LIVA Z (N4200) (OS無し) に Ubuntu MATE (ウブントゥ マテ) をインストールして SSH & VNC 接続するまでの記録です。このような情報のニーズは寡少かと思いますが、メモとして残します。

使用機材等

ミニPC ECS LIVA Z (N4200) (OS無し)

ECS LIVA Z (N4200) のアウトレット(メーカー再生品)を Amazon で入手しました。18,800円(税・送料込)でした。スペックは以下です。

  • SoC (CPU): インテル Pentium N4200
    • Apollo Lake
    • 4 コア (4 スレッド)
    • 1.1 GHz ~ 2.5 GHz
    • インテル HD グラフィックス 505
  • メモリ: SO-DIMM DDR3L 4 GB
  • ストレージ: eMMC 32 GB
  • OS: 無し
  • サイズ: 117 x 128 x 33 mm
  • 重量: 約 365g
  • 2017年1月~

メモリ増設

4 GB のメモリを1枚増設して、8 GB にしました。1,812円でした。増設方法は取説に詳しく書いてあり、とても簡単です。増設は必須ではありませんが、気分の問題です。

シリコンパワー ノートPC用メモリ 1.35V (低電圧) DDR3L 1600 PC3L-12800 4GB

SSD 増設

240 GB の SSD を1枚増設しました。3,899円でした。増設方法は取説に詳しく書いてあり、とても簡単です。増設は必須ではありませんが、気分の問題です。

TCSUNBOW SSD M.2 NGFF 2242内蔵ソリッドステートドライブ(N4 240GB)

キーボード

以前からラズパイ遊びに使っていた以下のキーボード(2,680円)を使いました。「Bluetooth ではない」ほうです。

Ewin ミニ キーボード ワイヤレス 2.4GHz タッチパッド搭載 超小型

起動イメージ(SD カード & USB アダプタ)

OS のイメージは Ubuntu MATE の 18.04.2 LTS (64bit) を使いました。

起動イメージ用のメディアには、自宅で余っていた 8 GB の microSD カードを、日経 Linux 2019年7月号の付録だった USB アダプタに挿して使いました。Windows の PC にて、これを SDメモリカードフォーマッター でフォーマットして、balena Etcher で iso を書き込みました。

その他

  • テレビ(HDMI 接続できるもの)
  • HDMI ケーブル
  • LAN ケーブル
  • Windows10 の PC(イメージの準備と VNC 接続のための端末として)

起動確認

メモリと SSD を増設し、キーボードの USBドングルを挿した後、起動イメージを使わないで起動してみました。OS が入っていないので、当然ながら BIOS (UEFI) が起動するのみです。これの Boot タブで、Linux を指定して、起動ディスクの順序を適当に調整しました。

ちなみに、OS インストール後に BIOS (UEFI) を表示させるには、起動開始直後に「F2」キーでした。

Ubuntu MATE のインストール

ブート

Ubuntu MATE の iso イメージを入れた USB ドングルを LIVA に挿し、起動すると、以下の選択肢が表示されます。上から2番目の「Install Ubuntu MATE」を選んで Enter します。

  • Try Ubuntu MATE without installing
  • Install Ubuntu MATE
  • OEM install (for manufacturers)
  • Check disk for defects

その後の流れ

その後は GUI で進みます。今回は以下のように進めました。

  • 「ようこそ」画面で「日本語」を選択
  • 「キーボードレイアウト」で「日本語」「日本語(かな)」を選択
  • 「アップデートの他のソフトウェア」では…
    • [o] 通常のインストール
    • Ubuntu MATE のインストール中にアップデートをダウンロードする
    • グラフィックスとWi-Fiハードウェアと追加のメディアフォーマットのサードパーティ製ソフトウェアをインストールする
  • 「インストールの種類」では…
    • [o] ディスクを削除して Ubuntu MATE をインストール
  • 「ドライブの選択」では…
    • 「MMC/SDカード」を選択(つまり内蔵 eMMC)
  • 「どこに住んでいますか?」では…
    • Tokyo を選択(愛知県民ですが)
  • 「あなたの情報を入力してください」では…
    • 任意の「あなたの名前」
    • 任意の「コンピューターの名前」
    • 任意の「ユーザー名」
    • 任意の「パスワード」
    • [o] ログイン時にパスワードを要求する

設定は以上です。あとはインストールが終わるまでしばらく待ちます。しばらくといっても、10分もかかりません。
インストールが完了すると再起動を促されるので、「今すぐ再起動する」をクリックします。
再起動が始まると「Please remove the installation medium, then press ENTER:」と表示されます。その指示の通り、iso イメージの入った USB アダプタを抜いて、キーボードで Enter します。
すると、起動しました!

この状態でログインして、普通のパソコンとして使えます。
これ以降は、SSH と VNC の設定をして、テレビやキーボードは使わず、リモート接続して使うように設定します。

Ubuntu MATE の初期設定

とりあえず更新

Linux を入れた後の定番、更新作業をしておきます。
ターミナル(MATE 端末)で以下を実行します。

$ sudo apt update
$ sudo apt upgrade
$ sudo apt autoremove

SSH のインストール

リモートからコマンドで操作できるようにするために、SSH をインストールします。

$ sudo apt install ssh

ユーザフォルダ以下のフォルダ名を英語にする

OS を日本語でインストールした状態だと、ユーザフォルダ以下のフォルダ名が「デスクトップ」や「ドキュメント」のようなカタカナになっています。この状態だと、ターミナル等からコマンドで操作するのに向きません。そこで、これを英語表記(Desktop や Documents)に変えます。

$ LANG=C xdg-user-dirs-gtk-update

これを実行すると「Update standard folders to current language?」というダイアログが出ますから、[x] Don't ask me this again にチェックを入れて、「Update Names」ボタンをクリックします。

参考にした情報はこちら

IP アドレスを固定する

SSH や VNC で接続するため、IPアドレスを固定しておきます。

  • デスクトップの右上のネットワークアイコン(有線接続している場合は上下の矢印)をクリックすると出てくるメニューで、一番下の「接続を編集する...」をクリック
  • つなげているネットワーク(例えば「有線接続1」)をダブルクリック
  • 出てくるダイアログの「IPv4 設定」タブにて
    • 方式 (M):「手動」を選択
    • 「アドレス」欄の右側の「追加 (A)」ボタンをクリック
    • アドレス:所望の IP アドレスを指定(例:192.168.0.100)
    • ネットマスク:所望のサブネットマスクを指定(例:255.255.255.0)
    • ゲートウェイ:ルータのアドレスを指定(例:192.168.0.1)
    • DNSサーバー:所望の DNS のアドレスを指定(例:8.8.8.8,8.8.4.4)← Google の DNS の場合
  • 「保存」をクリック

最後にマシンを再起動して、固定 IP アドレスの設定を反映させます。

$ sudo reboot

これ以降の作業は全て SSH か VNC 経由で行うので、ここで HDMI ケーブルとキーボードは抜いてしまって構いません。

VNC サーバのインストールと諸設定

SSH で接続

SSH クライアントで LIVA (上述で固定した IP アドレス)に接続します。
私は RLogin を愛用しています。クライアントは何でも構いません。

vnc4server のインストールとスタートアップスクリプトの編集

VNC 接続するためのサービスをインストールします。これまで使ったことがある CentOS では「tigervnc-server」というのが定番ですが、Ubuntu では「vnc4server」というのが定番のようです。

$ sudo apt install vnc4server

いったん vncserver を開始します。

$ vncserver :1

VNC 接続用のパスワードを聞かれるので、任意のパスワードを決めて、2回入力します。
起動すると以下のように表示され、デフォルトのスタートアップスクリプトが生成されます。

Creating default startup script /home/{ユーザ名}/.vnc/xstartup
Starting applications specified in /home/{ユーザ名}/.vnc/xstartup

ここでいったん vncserver を終了させ、上記のスタートアップスクリプト(/home/{ユーザ名}/.vnc/xstartup)を編集します。以下では例えば nano エディタを使っています。

$ vncserver -kill :1
$ nano ~/.vnc/xstartup

このスタートアップスクリプトの設定には様々あるようですが、私は今回以下のようにしました。

~/.vnc/xstartup
#!/bin/sh

# Uncomment the following two lines for normal desktop:
unset SESSION_MANAGER
exec /etc/X11/xinit/xinitrc

[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
x-window-manager &

mate-session &

まず、上から4行目の「unset...」と5行目の「exec...」部分をコメントアウトしました。コメントに「普通のデスクトップを使う場合は以下の2行をコメントアウトせよ」と書いてあるので、その通りにしました。
あとは最後の1行「mate-session &」を追加しました。

VNC サーバの起動

最後に vncserver を起動します。

$ vncserver :1

なお、解像度を指定する方法は以下です。例えば 1280x1024 の場合です。無指定(デフォルト)だと 1024x768 のようです。

$ vncserver :1 -geometry 1280x1024

VNC クライアントで接続

あとは、好みの VNC クライアントで 5901 番ポートを指定して接続します。私は VNC Viewer を愛用しています。

ただしこのままだと通信は暗号化されないので、SSH クライアント経由でポートフォワードして接続すると良いでしょう。

その他の Tips

VNC 経由での VSCode のトラブル

VNC 接続経由だと、「Software Boutique」で Visual Studio Code のインストールができませんでした。また、「Software Boutique」を使わない他の方法ではインストールできますが、起動しません。どうも GPU 絡みでうまく動かないということのようですが、詳しくは理解できていません。以下の1行を実行すると、VSCode が動作するようになりました。

$ sudo sed -i 's/BIG-REQUESTS/_IG-REQUESTS/' /usr/lib/x86_64-linux-gnu/libxcb.so.1

参考にした情報源はこちらこちら

無線 LAN も問題なし

2.4 GHz / 5 GHz ともに問題なく接続できました。ですから、電源さえあれば LIVA 本体はどこにでも置けます。

プリンタドライバが自動で入っていた

OS インストールの際に特に何も指定していませんが、自宅 LAN 内のプリンタ(ブラザー MFC-J837DN)を認識して、ドライバも自動で入っており、ちゃんと印刷できました。
(スキャナとしては認識してくれなかったようですが)

su したい時

Ubuntu は初期状態では root のパスワードが設定されていないそうです。よって初期状態では su で root になることができません。特に su しなくても、毎回 sudo と書けば済みますが、以下のようにすると root になれます。

$ sudo su -

こうすれば毎回 sudo と打つ必要がなくなります。
さらに root になった状態で以下を実行して root のパスワードを設定すれば su できるようになります。

# passwd

所感

思いつきで始めた遊びでしたが、個人的にけっこう楽しめました。とはいえこのPC、現状、明確な用途がないので、それを探すのが今後の課題です(笑)。

なお、実は Ubuntu MATE の前に、本家の Ubuntu 19.04 や 18.04 もインストールしました。しかしデフォルトでは VNC がうまくできずにハマりました。標準機能の「デスクトップ共有」だと動作がとても重たく、かつコンソールでログインしている必要がありますし…。デスクトップを Xfce にしたらうまく VNC で動きましたが、見た目がちょっと寂しい印象でした。そんな時に 日経 Linux の記事でみかけた Ubuntu MATE を試してみたら、いろいろと「すんなり」できて、動作も軽快でした。
Ubuntu MATE は Raspberry Pi でも動くようなので、それもそのうち試してみたいところです。

※ 本稿は筆者の思いつきで随時更新します。