Debian noroot 環境に MATE を導入する

# はじめに

[Debian noroot][DBNR] とは、 [Android OS][ANDR] 上において root 権限を取ることなく [Debian 環境][DEBI]を構築するためのアプリケーションです。

CPU の性能とメモリ容量が潤沢にある [Android OS][ANDR] 端末であれば、 [Debian noroot][DBNR] の導入によって [Android OS][ANDR] 端末上で非常に軽快な [Debian 環境][DEBI]を実現することが出来ます。

Linux ディストリビューションの１つである [Linux MINT][MINT] において採用されている統合デスクトップ環境の１つとして、[MATE][MATE] が知られています。

ここで、 [Debian noroot 環境][DBNR]においては、デフォルトの状態の統合デスクトップ環境として [Xfce4][XFCE] が導入されています。

本稿では、 [Debian noroot 環境][DBNR]において、デフォルトの統合デスクトップ環境の [Xfce4][XFCE] に代えて、 Linux ディストリビューションの１つである [Linux MINT][MINT] において採用されている統合デスクトップ環境である [MATE][MATE] を導入する手法について述べます。

本稿では最初に、"[MATE の導入][CHAP01]" の章において、[Debian noroot 環境][DBNR]へのデスクトップ環境 [MATE][MATE] の導入手法について述べます。

次に、 "[設定の変更][CHAP02]" の章において、  [Debian noroot 環境][DBNR]の起動時に [MATE][MATE] を自動的に起動するための設定の変更手法について述べます。

そして、 "[MATE の起動][CHAP03]" の章において、[Debian noroot 環境][DBNR]から、デスクトップ環境 [MATE][MATE] を起動する手法について述べます。

最後に、 "[結論][CHAP04]" の章において、本稿の結論について述べます。

# MATE の導入

統合デスクトップ環境の１つである [MATE][MATE] は、コマンドライン上から ```apt-get``` コマンドを用いて、以下のようにして導入することが出来ます。

```shell-session
 $ sudo apt-get install task-mate-desktop
```

# 設定の変更

[前章][CHAP01]の通りにパッケージ ```task-mate-desktop``` をインストールした後は、以下のように、[Debian noroot 環境][DBNR]の起動スクリプトの一つであるシェルスクリプト ```/startx.sh``` において、 ```dbus-launch``` 経由で ```xfce-session``` コマンドを起動している行を ```mate-session``` コマンドを起動するように書き換えます。

```sh:/start.sh
...
rm -f /var/run/dbus/pid
fakeroot-tcp /usr/bin/env PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin dbus-daemon --system

sleep 1
#dbus-launch --exit-with-session sh -c 'xfce4-session ; setsid sh -c "cd /proc/ ; for f in [0-9]* ; do [ \$f = \$\$ ] || kill -9 \$f ; done"' &
dbus-launch --exit-with-session sh -c 'mate-session ; setsid sh -c "cd /proc/ ; for f in [0-9]* ; do [ \$f = \$\$ ] || kill -9 \$f ; done"' &

wait
```

# MATE の起動

[前章][CHAP02]で述べた設定変更を行った後に [Debian noroot 環境][DBNR]を再起動すると、以下の画像のようにデスクトップ環境 [MATE][MATE] を起動することが出来ます。

![(Desktop MATE)][IMG1]

なお、デスクトップ環境 [MATE][MATE] 環境を使用している時に一定時間内に各種操作を行わなかった場合、 [MATE][MATE] 環境標準のスクリーンセイバーが起動し、スクリーンセイバーを解除する際にパスワードを求められる状況が発生する場合があります。

この時、予めデスクトップ環境 [MATE][MATE] 環境の導入直後に、 ```passwd``` コマンドによってユーザーのパスワードを以下の通りにユーザー以外に知り得ないものに変更しておくことで、そのパスワードによってスクリーンセイバーの解除を行うことが可能になります。

例えば、[Debian noroot 環境][DBNR]上でのユーザ名が u0_a200 であるとすると、以下のようにして、ユーザ u0_a200 のパスワードを変更します。

```shell-session
  $ env LANG=C LC_ALL=C sudo passwd u0_a200
  Changing password for u0_a200
  New UNIX password:			# (ユーザ自身以外に知り得ないパスワードを入力)
  Retype new UNIX password:		# (前に入力したパスワードを再入力)
  passwd: all authentication tokens updated successfully
  $
```

# 結論

本稿では、[Debian noroot 環境][DBNR]において、 Debian パッケージ管理システムより [Linux MINT][MINT] 等において採用されているデスクトップ環境である [MATE][MATE] を導入し、 [Debian noroot 環境][DBNR]の起動スクリプトの一つである ```/startx.sh``` を修正することにより、デフォルトの統合デスクトップ環境の [Xfce4][XFCE] に代えて [Debian noroot 環境][DBNR]の起動時にデスクトップ環境 [MATE][MATE] を起動させることが可能となりました。

デスクトップ環境 [MATE][MATE] は、デスクトップ環境 [GNOME2][GNM2] からフォークされたデスクトップ環境であるため、 [Debian noroot 環境][DBNR]へのデスクトップ環境 [MATE][MATE] の導入によって、各種 Linux ディストリビューションを導入した PC 端末と同様な快適性を持つデスクトップ環境として使用できる事が示されました。

# 謝辞

本稿の記述に当たって、 [Android OS][ANDR] 端末上で非常に軽快な [Debian 環境][DEBI]を実現することを可能にした [Debian noroot 環境][DBNR]の開発者である [pelya 氏][PELY]に心より感謝致します。

そして最後に、 [Debian noroot 環境][DBNR]と [Android OS][ANDR] 及び [Debian 環境][DEBI]の全ての事に関わる全ての皆様に心より感謝致します。

<!-- 各章のリンク一覧 -->

[CHAP01]:#mate-の導入
[CHAP02]:#設定の変更
[CHAP03]:#mate-の起動
[CHAP04]:#結論

<!-- 外部リンク一覧 -->

[DBNR]:https://play.google.com/store/apps/details?id=com.cuntubuntu&hl=ja
[ANDR]:https://www.android.com/intl/ja_jp/
[DEBI]:https://www.debian.org/index.ja.html
[MINT]:https://www.linuxmint.com/
[XFCE]:https://xfce.org/
[MATE]:https://mate-desktop.org/
[GNM2]:https://www.gnome.org/
[IMG1]:https://qiita-image-store.s3.amazonaws.com/0/86258/7fe11e83-6b08-dbac-cf9e-cdabfea51a35.jpeg
[PELY]:https://github.com/pelya