Help us understand the problem. What is going on with this article?

Debian noroot 環境に LXDE を導入する

はじめに

Debian noroot とは、 Android OS 上において root 権限を取ることなく Debian 環境を構築するためのアプリケーションです。
CPU の性能とメモリ容量が潤沢にある Android 端末であれば、 Debian noroot の導入によって Android 端末上で非常に軽快な Debian 環境を実現することが出来ます。

Ubuntu 及び ArchLinux 等の各種 Linux ディストリビューションにおいて導入されている統合デスクトップ環境のうち、軽量に動作するものとして良く知られているものに Xfce4 及び LXDE 等が挙げられます。 Debian noroot 環境においては、デフォルトの状態の統合デスクトップ環境として Xfce4 が導入されています。

本稿では、 Debian noroot 環境において、デフォルトの統合デスクトップ環境の Xfce4 に代えて、軽量な統合デスクトップ環境である LXDE を導入する手法について述べます。

本稿では最初に、"LXDE の導入" の章において、軽量の統合デスクトップ環境である LXDE の導入手法について述べます。

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

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

LXDE の導入

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

 # apt-get install task-lxde-desktop

また、 LXDEapt-get コマンドの他にも、Debian パッケージ管理の GUI フロントエンドである Synaptic を用いても導入することが出来ます。

なお、 LXDE のインストールの際、有線若しくは無線 LAN の設定・制御を行うためのツールパッケージ wicd, wicd-daemon, wicd-gtk がインストール出来ない問題が発生する場合があります。

ここで、 Debian noroot 環境においては、 Debian noroot 環境と端末本体の Android OS でカーネル及びハードウェアのリソースを共有し、 LAN 関連の設定は、 Android OS 側の設定を用いるので、パッケージ wicd, wicd-daemon, wicd-gtk のインストールは必要有りません。

従って、これらのパッケージを以下の通りにしてアンインストールします。

sudo apt-get remove --purge wicd wicd-daemon wicd-gtk

設定の変更

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

/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 'startlxde ; setsid sh -c "cd /proc/ ; for f in [0-9]* ; do [ \$f = \$\$ ] || kill -9 \$f ; done"' &

wait

LXDE の起動

前章で述べた設定変更を行った後に Debian noroot 環境を再起動すると、以下の画像のように LXDE を起動することが出来ます。

(Desktop LXDE)

なお、 LXDE の起動を行った際に、以下の画像のように、エラーダイアログ [No session for pid xxxxx] (ここに、 xxxxx は任意の 10 進数) が表示される場合があります。

(Error Dialog of LXDE)

これは、非特権ユーザが、 root 権限を要求するハードウェア等の設定を行う場合に、設定に必要な権限を非特権ユーザに渡すことができるように制御するためのツール polkit のプロセスによるものであり、 Debian noroot 環境の利用の際には特に支障はありませんが、このエラーダイアログの表示を抑止するには、以下の操作を行います。

  • 以下の画像のように、画面左下の LXDE のマークをクリック → [設定] を選択する。 (Setting of LXDE) (Setting of LXDE)
  • 次に、以下の画像のように [設定] の選択 → [LXSession のデフォルトのアプリケーション] を選択する。 (Setting of Default Application of LXSession)
  • ここで、以下の画像のように [LXSession Configuration] のウィンドウが表示されるので、 [Core Applications] を選択する。 (Default Application of LXSession) (Default Application of LXSession)
  • 以下の画像のように [Core Applications] において、 [Polkit agent] の項目を空欄とする。 (Default Application of LXSession)

以上の操作により、 エラーダイアログ [No session for pid xxxxx] の表示が抑止されます。

結論

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

また、 LXDE は、 Lubuntu 等多くの軽量 Ubuntu 系ディストリビューションに採用されているため、 Debian noroot 環境において、非常に軽量かつ快適に使用できるデスクトップ環境であると考えられます。

謝辞

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

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

追記

2019/02/11 現在の追記

有線若しくは無線 LAN の設定・制御を行うためのツールパッケージ wicd, wicd-daemon, wicd-gtk 及び、 非特権ユーザが、 root 権限を要求するハードウェア等の設定を行う場合に、設定に必要な権限を非特権ユーザに渡すことができるように制御するためのツール polkit のプロセスの問題において、 @cakecakecake 様の御指摘に関する内容について追記し、本稿の改稿を行いました。

@cakecakecake 様におかれましては、誠に御手数をお掛け致しますと共に、御指摘に心より感謝致します。

2019/02/12 現在の追記

polkit 関連のエラーダイアログの表示の抑止の説明について画像の添付を行いました。

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away