Raspberry PiにUbuntu MATEをインストール + リモート接続


Raspberry Piに Ubuntu MATEをインストールする機会があったので，メモ．

# isoファイルのダウンロード
以下のサイトから，Raspberry Piを選択．
[Download | Ubuntu MATE](https://ubuntu-mate.org/download/)
今回は，Torrentを使わないので`ubuntu-mate-16.04.2-desktop-armhf-raspberry-pi.img.xz` をダウンロードする．

# xzファイルの解凍
## xzのインストール
圧縮フォーマットxzを取り扱うのに，xzコマンドがMacにはデフォルトでないので，brewでインストールする．

```bash
$ brew install xz
```
下記を参考にファイルを解凍  
[Mac で xz を使用する方法](https://qiita.com/kamayaplus/items/d5a355e03ee78095daf7)

```bash
$ xz -d ubuntu-mate-16.04.2-desktop-armhf-raspberry-pi.img.xz
```

# SDカードにOSを書き込む
SDカードにOSを書き込んで行きます．
## SDカードの準備
SDカードをPCに挿した後，マウントを解除してISOファイルを書き込む必要があります．
### ドライブのパスの探索
SDカードがどこにマウントされているのか分からない・・・．そこで，`diskutil`でマウントされているドライブを確認することができます．(``external: 外付けドライブ``，``physical: 物理接続``)

```bash
$ diskutil list  
/dev/disk0 (internal, physical):  
   #:                       TYPE NAME                    SIZE       IDENTIFIER  
   0:      GUID_partition_scheme                        *121.3 GB   disk0  
   1:                        EFI EFI                     209.7 MB   disk0s1  
   2:          Apple_CoreStorage Macintosh HD            120.5 GB   disk0s2  
   3:                 Apple_Boot Recovery HD             650.0 MB   disk0s3  

/dev/disk1 (internal, virtual):  
   #:                       TYPE NAME                    SIZE       IDENTIFIER  
   0:                  Apple_HFS Macintosh HD           +120.1 GB   disk1  
                                  Logical Volume on disk0s2  
                                  D0FCCA57-A99D-49A6-B77D-1556D2AD7C8E  
                                  Unencrypted
/dev/disk3 (external, physical):
#:                       TYPE NAME                    SIZE       IDENTIFIER
0:     FDisk_partition_scheme                        *8.0 GB     disk3
1:             Windows_FAT_32 boot                    43.8 MB    disk3s1
2:                      Linux                         7.9 GB     disk3s2                                
```

`/dev/disk3`がSDカードであることが分かりました．

### SDカードをunmount
今回は，`/dev/disk3`にSDカードがマウントされていたので，これをunmountします．

```bash
sudo diskutil umount /dev/disk3
```

これで，SDカードに書き込む準備ができました．

## OSの書き込み
実際にOSを書き込んでいきます．

```bash
dd if=ubuntu-mate-16.04.2-desktop-armhf-raspberry-pi.img of=/dev/disk3 bs=1m
```
if : isoファイル，of : 書き込みドライブ，bs : ブロックサイズになります．
bsは1mにしていますが，1時間かかるので，もう少し値が大きくても良いと思います．

以上で，OSのインストールは終了です．あとは，初回起動時に初期設定を行うだけで使えるようになりました．

# リモート環境の設定
## SSH
まずは，ssh接続できるようにするため，``openssh-server``をインストールします．

```bash
sudo apt update
sudo apt upgrade
sudo apt install openssh-server
```
これでインストールは完了です．  
いざ接続の際に，``port 22:Connection refused``とエラーが出るときは，RaspberryPi側の22番ポートが塞がっているので，解放します．

```bash
sudo ufw allow 22
# sshの再起動
sudo /etc/init.d/ssh restart
# 起動時にsshの起動
sudo systemctl enable ssh
```
これで，sshの設定は完了です．

## xrdp
次に，Remote Desktop環境を整えます．  
xrdpをインストールするだけなので，非常に簡単にできました．

```bash
sudo apt install xrdp
# 自動起動設定
sudo systemctl enable xrdp
```
これで，RDPでの接続も完了しました．

# まとめ
今回は，RaspberryPiにUbuntu MATEをインストールして，SSHとRDPの環境を整えました．  
ここから，色々なモジュールを入れるテストをしていかなくては・・・．

# 編集リクエストに対して
@Reetok さん: 参考にさせていただきました。自分の環境で実行したところ-getをつけて実行しないとパッケージが見つかりませんと出てきたので。
A: aptとapt-getがubuntu16.04の場合では，別のパッケージ管理をしているので，公式ではaptを使うことを推奨されているので．

```bash
$ sudo apt update
$ sudo apt install xrdp
```
でインストール可能だと思います．

# 参考文献
[How to setup SSH server for Ubuntu MATE Raspberry Pi 2 and Raspberry Pi 3](http://awesomeprojectsxyz.blogspot.jp/2016/06/how-to-setup-ssh-server-for-ubuntu-mate.html)  
[Raspberry PiにUbuntu Mateを入れてみよう | TIPS](https://boel.jp/tips/vol57_raspberry_pi.html)