AndroidタブレットにUbuntuをインストールする

# はじめに

タイトルは大仰ですが，UserLAndとXServer XSDLを突っ込んでUbuntu環境を作ろうというお話です．

今回は手持ちのZenPad 3S 10にインストールしてみました．

次のブログを大変参考にさせてもらっています．
参考：[ホイール欲しい ハンドル欲しい](https://wlog.flatlib.jp/ "ホイール欲しい ハンドル欲しい")

# アプリのインストール

とりあえず[UserLAnd](https://play.google.com/store/apps/details?id=tech.ula&hl=ja "UserLAnd")と[XServer XSDL](https://play.google.com/store/apps/details?id=x.org.server "XServer XSDL")をインストールしましょう．

あと，[Hacker's Keyboard](https://play.google.com/store/apps/details?id=org.pocketworkstation.pckeyboard "Hacker's Keyboard")もあると便利です．Bluetoothキーボードなどを使う場合には，[ハードウェアキーボード配列変更 (+親指Ctrl) [英語配列]](https://play.google.com/store/apps/details?id=jp.kcm.thumbctrl.en.layout "ハードウェアキーボード配列変更 (+親指Ctrl) [英語配列]")をインストールしておくと，CtrlとCaps Lockキーの入れ替えなどが設定できて便利です．

# UserLAndの設定

UserLAndを起動すると，アプリの一覧が表示されます．

<img width="768" alt="Screenshot_20190510-170113.jpg" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131152/09209e35-b42c-a59b-89a8-5ede825a3445.jpeg">

今回は[Distribution]から[Ubuntu]を選択します．

<img width="768" alt="Screenshot_20190510-170708.jpg" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131152/e3e955ba-e9cd-396e-e906-e03f8a3f9739.jpeg">

Usernameとパスワードを2つ決めて[CONTINUE]を押します．

<img width="768" alt="Screenshot_20190511-161217.jpg" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131152/bea3fb7f-7bac-6fa8-3568-418bdc24d8da.jpeg">

システムへの接続方法を決めます．ここではSSHにしておきます．[CONTINUE]を押すとファイル等の展開が始まりますので，しばらく待ちます．

<img width="768" alt="Screenshot_20190511-161906.jpg" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131152/695aebb2-b987-e3b5-fe38-0177efcbfe68.jpeg">

セットアップが終了するとログインブロンプトが表示されますので，先ほど決めたパスワードでログインしましょう．

# Ubuntuの設定

Ubuntu 自体を使いやすくするために設定していきます．まずはシステムを最新の状態に更新します．

```
sudo apt update 
sudo apt upgrade 
``` 

途中で続けるかどうかの確認がありますので「y」を押します．

終わったら，必要なアプリケーションをインストールしていきます．まずは何はなくともtcshをインストールして，ログインシェルを変更しましょう．

```
sudo apt install tcsh
which tcsh 
``` 

どうやら```/usr/bin```にインストールされているようなので注意しましょう．

``` 
chsh __User__
/usr/bin/tcsh 
``` 

エディタは``ee``…が使えないので，``nano``とかいうのをインストールすることにします．調べてみると``nano-tiny``というパッケージがあるようです．

``` 
sudo apt search nano 
sudo apt install nano-tiny 
``` 

あとはxfce4とnotoフォントをインストールしておきましょう．

``` 
sudo apt install fonts-noto-cjk xfce4 
``` 

# XServerの設定

Xfce4を使うためにはXServerの設定をしなければいけません．インストールしてあるXServer XSDLを実行します．

![Screenshot_20190511-164125.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131152/eac1ba0a-e944-5611-32a5-48f802f99d08.jpeg)


画面の指示に従って，``DISPLAY``と``PULSE_SERVER``という環境変数を指定します．

```
setenv DISPLAY :0
setenv PULSE_SERVER tcp:127.0.0.1:4712
```

Xfce4を実行します．

```
startxfce4 &
```

![Screenshot_20190511-165831.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131152/642161c7-7503-6b0f-ca73-0f550fba4576.jpeg)

うまく表示されました．
この2つの環境変数を``~/.cshrc``で読み込めるようにしておきましょう．

```~/.cshrc
setenv DISPLAY :0
setenv PULSE_SERVER tcp:127.0.0.1:4712
```


![Screenshot_20190511-172455.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131152/9a2f1dd0-3fc7-f041-7509-4e7e2e8b47fb.jpeg)

しかし，フォントが小さいので使いにくそうですね．TerminalもXfce4-terminalがインストールされていないようです．

```
sudo apt install xfce4-terminal
```

![Screenshot_20190512-004548.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131152/724342ff-3c39-e6f7-0612-02795952623d.jpeg)

メニューの[Setting] - [Appearance] - [Font]からフォントサイズを変更してやることでだいぶ見やすくなりました．ここまでくれば，後はgitで設定ファイルを持ってくるなり何なりでどうとでもできますね．

## （追記）

XSDLの起動時に設定することで，解像度などを変更できるようです．

参考：[Android で動く Linux 環境 UserLAnd が XServer XSDL に対応](https://wlog.flatlib.jp/item/1866/ "Android で動く Linux 環境 UserLAnd が XServer XSDL に対応")

私は解像度1280x960で，フォントスケールをx0.7にすることにしました．

![Screenshot_20190521-095339.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131152/ad5fc5a9-e042-2e69-bd6a-1cdeb21b1507.jpeg)

# タイムゾーンの設定

よく見ると時計がずれてしまってますね．タイムゾーンが合っていないようです．

調べるてみると，Ubuntuでは``timedatectl``というコマンドでタイムゾーンを設定できるようなのですが，UserLAndではエラーが出て設定できません．

「[DockerのUbuntu16.04でtimedatectl出来ないときの対処法](https://qiita.com/hashibiroko/items/38046a42b6d0461491d0 "DockerのUbuntu16.04でtimedatectl出来ないときの対処法")」にあるように，tzdataパッケージをインストールしてから，手動でシンボリックリンクを張ってやると良いようです．

```
sudo apt install tzdata
ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
```

# ロケールの設定

環境変数``LANG``にja_JP.UTF-8を指定するだけでは日本語化されないようです．

ということで，日本語化に必要なパッケージをインストールして，ロケールを設定します．

```
sudo apt install language-pack-ja language-pack-ja-base
locale-gen ja_JP.UTF-8
```

これでターミナルでも日本語が使えます．

# その他パッケージ

必要なものをどんどんインストールしていきます．

``apt``関連のもの．

```
sudo apt install apt-utils
```

こちらは仕事関係．

```
sudo apt install cmigemo emacs25 git r-base tmux yatex zathura
```

インターネット関連．

```
sudo apt install chromium-browser keepassxc rsync syncthing
```

ちょっとしたエディタとか．

```
sudo apt install geany
```

Rでパッケージのインストールに必要になるライブラリなど．

```
sudo apt install libboost-dev libfreetype6-dev libxml2-dev
```

TeXLiveはaptだとうまくインストールできなかったので，本家からtarballをダウンロードしてインストールすることにします．

# TeXLiveのインストール

ネットワーク越しにインストールすると途方もない時間がかかるので，一旦ローカルにリポジトリをダウンロードしてからインストールすることにします．

参考: [How to resume install-tl installation for tex live after interrupted download?] (https://askubuntu.com/questions/912055/how-to-resume-install-tl-installation-for-tex-live-after-interrupted-download "How to resume install-tl installation for tex live after interrupted download?")

```
rsync -a -v --delete --progress rsync://ftp.jaist.ac.jp/systems/texlive/tlnet/ ~/Download/texlive
cd ~/Download/texlive
./install-tl
```

途中であふれてしまったので，諦めて必要なパッケージのみ``apt``でインストールすることにします．

```
sudo apt install latexmk texlive texlive-lang-cjk texlive-fonts-recommended texlive-fonts-extra
```

# 日本語入力

ibusは嫌いなのでuim-mozcを使うことにします．

```
apt install uim-gtk3 uim-mozc
```

これで``uim-pref-gtk3``を使えば``mozc``が登録でき…ない．

どうやら手動でmozcをuimに登録しなければいけないようです．

```
uim-module-manager --register mozc
```

# おわりに

ということで，しばらくUbuntuでLinuxの勉強をしてみようかと思います．