Z.OOL.ネット信託統治領 はてな諸島

こちらは "Z.OOL.ネット信託統治領 はてな諸島" です。

Debian noroot 環境に plank を導入する

本稿は、技術的案件の速報的な投稿です。
今後、内容に訂正及び大幅な修正がある場合が
あります。どうか御了承下さい。


[BGM}: METAFIVE 「Musical Chairs」

本稿について

本稿は、技術的事項についての速報的で簡易な短信についての Z.OOL.ネット信託統治領 Qrunch 諸島からのクロス投稿です。

本稿は、以下の Qrunch 諸島の投稿から御覧になれます。どうか御了承下さい。

z80oolong.qrunch.io

はじめに

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

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

Debianのデスクトップ環境において、 Dock ランチャーソフトウェアを導入する事は、通常頻繁に使用するソフトウェアの起動を容易にする等、デスクトップ環境の利便性の向上に有用となります。

ここで、Debianのデスクトップ環境において、軽量な Dock ランチャーソフトウェアの1つとして plank が挙げられます。

しかし、 Debian Jessieを基にした Debian noroot 環境においては、適切な deb パッケージが存在しません。

そこで、 plank をソースコードからビルドし、MATE 環境の起動時において自動起動を行うように設定した所、Debian noroot 環境上のMATE 環境において plank を使用する事が出来るようになりました。

本稿では、 Debian noroot 環境における plank の導入手法について述べます。

なお、特段の断りの無い限り、前述の通り、 Debian noroot 環境のデスクトップ環境として のMATE を使用しているものとして本稿を記述します。

plank に依存するパッケージの導入

まず最初に、 plank をビルドする上で、 plank に依存するパッケージの導入を以下の通りに行います。

  $ sudo apt-get install automake gnome-common intltool pkg-config valac libbamf3-dev libdbusmenu-gtk3-dev libgdk-pixbuf2.0-dev libgee-dev libglib2.0-dev libgtk-3-dev libwnck-3-dev libx11-dev libgee-0.8-dev

また、上記に加え以下のパッケージの導入も合わせて行います。これは、 plank を /usr/local 以下に導入する際に plank の管理を容易にする為です。

  $ sudo apt-get install xstow

plank のソースコードのビルド

次に、 plank 本体のソースコードを以下の URL より取得します。

launchpad.net

なお本稿では、バージョン 0.11.4 のソースコードである plank-0.11.4.tar.xz を以下の通りに取得します。

その後、plank-0.11.4.tar.xz を適切なディレクトリに展開します。

  $ wget https://launchpad.net/plank/1.0/0.11.4/+download/plank-0.11.4.tar.xz
  $ tar -Jxvf plank-0.11.4.tar.xz

そして、カレントディレクトリを plank-0.11.4 に移動して、以下の通りにソースコードをビルドします。

ここで、plank のインストール先となるディレクトリは、前述した xstow によって plank の管理を容易にする為に /usr/local/xstow/plank-0.11.4 とします。

  $ ./configure --prefix=/usr/local/xstow/plank-0.11.4 --disable-silent-rules
  $ make

plank のインストール

その後、問題無くビルドが完了した後は、 make install を実行して、 plank の実行ファイル等を /usr/local/xstow/plank-0.11.4 にインストールします。

  $ make install

そして、カレントディレクトリを を /usr/local/xstow に移動して以下のコマンドを実行します。

  $ xstow -v ./plank-0.11.4
  ...(略)...
  $

以上により plank の実行ファイルのシンボリックリンクが、ディレクト/usr/local 以下に張られます。

最後に、以下の通りに plank コマンドを実行して、正常に plank が起動する事を確認します。

  $ plank

なお、以上の plank のソースコードのビルド及びインストールに関しては以下の web ページを参考にしました。

techbear.co

MATE 環境への導入

以下に、上記の手法でインストールした plank を MATE 環境において自動的に起動するように設定する手法について述べます。

  • まず最初に、以下の画像のようにして [設定] のメニューを開き、 [コントロールセンター] の項目を選択します。 (Setting of MATE)
  • 次に、以下の画像のように [コントロールセンター] のパネルにおいて、 [自動起動するアプリ] のボタンをクリックします。 (ControllCenterof MATE)
  • そして、以下の画像のように [自動起動するアプリの設定] のウィンドウにおいて、 [追加]のボタンをクリックします。 (Auto start app of MATE)
  • その後、以下の画像のように [自動起動するプログラムの編集] のウィンドウにおいて、 plank の自動起動についての各項目を指定します。ここで、plank の実行ファイルの絶対パスは、必ず /usr/local/bin/plank とする必要があります。 (Add Plank to Auto start app)

以上の設定が完了した後、 Debian noroot 環境を再起動して、以下の画像の通りに plank が自動的に起動する事を確認します。

(Plank in MATE)

なお、上記の画像にて示されている plank の表示については、 plank の動作確認時において、設定を修正したものであり、デフォルトの表示とは異なります。どうか御了承下さい。

plank に関する留意点

ここで、 plank について、現時点で判明している留意点について述べます。

まず、 plank のプロセスに SIGKILL が送られる等、何らかの理由で plank が異常終了した場合、次に plank を起動した場合に以下のエラーメッセージを出力して plank が起動しない場合があります。

  $ plank
  ...(略)...
[ERROR 01:22:33.123456] [Utils:42] GSettingsSchema 'net.launchpad.plank' not found
Trace/breakpoint trap
  $

この場合は以下のコマンドの実行により、問題が回避される事がありますが、場合によっては回避出来ない事があります。

  $ sudo glib-compile-schemas /usr/local/share/glib-2.0/schemas

問題が回避出来ない原因については現在調査中です。どうかご了承下さい。