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

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

Debian noroot 環境に plank を導入する

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


[BGM]: METAFIVE 「Musical Chairs」

本稿について

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

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

z80oolong.qrunch.io

追記 (2019/02/19)

LXDE 及び fxce4 の各デスクトップ環境における plank の自動起動の設定手法について追記し、本稿を改稿致しました。

どうか御了承下さい。

追記 (2019/02/28)

plank のソースコードのダウンロードとビルド及びインストールを自動的に行うためのシェルスクリプトに基づく plank の導入手法について追記しました。

また、 plank のインストール先となるディレクトリを /usr/local/opt/plank-0.11.4 に変更しました。

追記 (2019/03/04)

この度、本稿を大幅に加筆及び修正した上で、 ”[Qiita 半島][QIIT]” に投稿しました。今後は、本稿の追記及び訂正等は、以下の Qiita 半島の投稿において行いますので、どうか御了承下さい。

qiita.com

はじめに

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 の導入手法について述べます。

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/opt/plank-0.11.4 --disable-silent-rules
  $ make

plank のインストール

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

  $ make install

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

  $ cd /usr/local/opt
  $ xstow -v ./plank-0.11.4
  ...(略)...
  $

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

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

  $ plank

もし、ソースコードコンパイルする事が煩わしい場合や何らかの問題で困難である場合は、次に示す URL に置かれているシェルスクリプトを用いて、以下のように plank のソースコードのダウンロード及びビルドとインストールを自動的に行っても構いません。

  $ bash -c "$(wget -q -O - https://git.io/debian-noroot-build-plank.sh)"

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

https://techbear.co/installing-plank-dock-on-debian-jessie/techbear.co

デスクトップ環境への導入

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

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

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)

LXDE 環境への導入

次に、 plank を LXDE 環境において自動的に起動するように設定する手法について述べます。

  • まず最初に、以下の画像のようにして [設定] のメニューを開き、 [LXSession のデフォルトのアプリケーション] の項目を選択します。 (LXSession default app of LXDE)
  • ここで、 [LXSession Configuration] のウィンドウが開くので [Autostart] の項目を選択します。
    (LXSession Configuration of LXDE)
  • すると、以下の画像のように Manual Autostart Application のリストの末尾に [追加] のボタンと、その右隣にてテキストエリアが表示されているので、ここでテキストエリア内に @plank と入力して [追加] ボタンを押します。 (LXSession Configuration of LXDE)
  • [追加] ボタンを押した後、以下の画像のように Manual Autostart Application のリストの末尾に @plank が登録されていることを確認します。 (LXSession Configuration of LXDE)

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

fxce4 環境への導入

そして、plank を fxce4 環境において自動的に起動するように設定する手法について述べます。

  • まず最初に、以下の画像のようにして [設定] のメニューを開き、 [セッションと起動] の項目を選択します。 (Setting Manager of fxce4)
  • そして、以下の画像のように [セッションと起動] のウィンドウにおいて、[自動開始アプリケーション] の項目を選択します。 (Session and Start of fxce4)
  • すると、以下の画像のように自動起動するアプリケーションの一覧が表示されます。ここで、未だ plank が一覧に登録されていない場合は [追加] ボタンを押し、登録されている場合は plank が登録されている行をクリックして [編集] ボタンを押します。 (Session and Start of fxce4)
  • その後、以下の画像のように [アプリケーションの編集] のウィンドウにおいて、 plank の自動起動についての各項目を指定します。ここで、plank の実行ファイルの絶対パスは、必ず /usr/local/bin/plank とする必要があります。 (Edit app of fxce4)

以上の設定が完了した後、 Debian noroot 環境を再起動して、 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

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