Debian noroot 環境に ratpoison を導入する

# はじめに

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

ここで、 [Debian noroot][DBNR] 環境を 5 インチから 6 インチ未満程度の小画面の [Android OS][ANDR] 搭載のスマートフォン端末上で動作させると、 [Debian noroot][DBNR] 環境で動作するソフトウェアの視覚的なインターフェースについて視認性が悪くなる問題があります。

また、小画面の [Android OS][ANDR] 端末上における [Debian noroot][DBNR] 環境上で動作するソフトウェアでは、ソフトウェアキーボード及び画面のタッチパネルを用いたソフトウェアの操作が著しく困難である問題も発生します。

そこで、 [Debian noroot][DBNR] 環境に、軽量なタイル型ウィンドウマネージャである [ratpoison][RATP] を導入することにより、小画面の [Android OS][ANDR] 端末においても、 [Debian noroot][DBNR] 環境のソフトウェアを全画面で起動することで視覚的なインターフェイスの視認性を高めることが可能となりました。

そして、 [ratpoison][RATP] が [GNU screen][SCRN] 及び [tmux][TMUX] 等の端末多重化ソフトウェアに影響を受けた物理キーボードによるユーザインターフェイスを持っているため、 [ratpoison][RATP] の導入によって、 [Debian noroot][DBNR] 環境において、物理キーボードに基づく軽快で快適な操作性を実現することが可能となりました。

本稿では、 [Debian noroot][DBNR] 環境における [ratpoison][RATP] を導入手法について述べます。

まず最初に、 "[ratpoison の導入][CHAP01]" の章において、 [Debian noroot][DBNR] 環境に軽量なタイル型ウィンドウマネージャである [ratpoison][RATP] 等のインストール手法について述べます。

次に、 "[ratpoison の設定][CHAP02]" の章において、 [ratpoison][RATP] を使用する為に必要となる [ratpoison][RATP] のキーバインド等の設定及び [ratpoison][RATP] を起動する為の設定の手法について述べます。

そして、 "[ratpoison の起動][CHAP03]" の章において、 [Debian noroot][DBNR] 環境における [ratpoison][RATP] の起動手法について述べます。

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

なお、本稿においては、予め "[Debian noroot 環境で日本語環境を導入する][ZOQ0]" の投稿に基づいて、 [Debian noroot][DBNR] 環境に日本語環境を導入した状態から [ratpoison][RATP] を導入するものとします。

また、 "[```$HOME/.ratpoisonrc``` の作成][SEC0201]" の節において後述する設定のキーバインドに関して特に説明するものを除き、デフォルトの [ratpoison][RATP] のキーバインド等の詳細については割愛致します。

[ratpoison][RATP] のデフォルトのキーバインド及び使用法の詳細については、下記の web ページ等を参照して下さい。

- [ratpoison の公式 Web ページ][RATP]における [ratpoison のマニュアルページ][RTPD]
- [ArchLinux の公式 Wiki ページ][ARCH]における [ratpoison 関連の記事][ARTP]

# ratpoison の導入

本章では、 [Debian noroot][DBNR] 環境に [ratpoison][RATP] 等をインストールする手法について述べます。

軽量のタイル型ウィンドウマネージャ [ratpoison][RATP] は、コマンドライン上から apt-get コマンドを用いて、以下のようにして導入することが出来ます。

```shell-session
  $ sudo apt-get install ratpoison
```

なお、追加のソフトウェアとして、コピーアンドペーストの管理を容易に行う為に、クリップボード管理を行うソフトウェアである [clipit][CLIP] も同時にインストールする事を御勧め致します。

```shell-session
  $ sudo apt-get install clipit
```

# ratpoison の設定

本章では、 [ratpoison][RATP] を使用する為に必要となる [ratpoison][RATP] のキーバインド及び、 [ratpoison][RATP] の起動直後に実行するコマンド等の設定及び [Debian noroot][DBNR] 環境において [ratpoison][RATP] を起動する為の設定の手法について述べます。

まず最初に、 "[```$HOME/.ratpoisonrc``` の作成][SEC0201]" の節において、 [ratpoison][RATP] のキーバインド等を指定する為の設定ファイルである ```$HOME/.ratpoisonrc``` の作成手法について述べます。

次に、 "[```$HOME/.ratpoisonrc``` の概要][SEC0202]" の節において、前節で作成した ```$HOME/.ratpoisonrc``` において行った設定の概要について述べます。

最後に、 "[```/startx.sh``` の修正][SEC0203]" の節において、前々節及び前節の設定が完了した後、 [Debian noroot][DBNR] 環境において [ratpoison][RATP] を起動するための設定手法について述べます。

## ```$HOME/.ratpoisonrc``` の作成

まず、 [ratpoison][RATP] のキーバインド及び [ratpoison][RATP] の起動直後に実行するコマンド等を指定する為の設定ファイルである ```.ratpoisonrc``` をユーザのホームディレクトリ上に下記の内容で作成します。

なお、 ```$HOME/. ratpoisonrc``` における設定の詳細については、[後節][SEC0202]にて後述します。

```$HOME/.ratpoisonrc
# $HOME/.ratpoison -- ratpoison の設定ファイルの一例。

# Debian noroot 環境関連の環境変数の設定。
# 日本語環境に関する変数等の設定を行う。

setenv TZ Asia/Tokyo
setenv LANG ja_JP.UTF-8
setenv LC_ALL ja_JP.UTF-8
setenv LANGUAGE ja
setenv XMODIFIERS @im=fcitx
setenv GTK_IM_MODULE fcitx
setenv QT_IM_MODULE fcitx
setenv QT4_IM_MODULE fcitx
setenv CLUTTER_IM_MODULE fcitx
setenv VTE_CJK_WIDTH 1

# ratpoison の起動直後に起動するソフトウェアを指定。
# xmodmap によるキーバインドと fcitx の起動及び端末エミュレータ mlterm 等の起動。

exec /usr/bin/xmodmap /xmodmap
exec fcitx
exec clipit
exec mlterm -w 26 --bg black --fg green --im=fcitx --pic=/home/user/Pictures/wall-papers/dolphin.jpg --ac 2 -e /bin/bash -l

# ratpoison のフォントの指定。

set font "Ume Gothic-8"
set border 0
set padding 2 2 2 2

## ratpoison のメッセージウィンドウに関する設定。

set barborder 1
set bargravity southwest
set barpadding 2 2 2 2
set inputwidth 500

set winname title
set winfmt [%n]: %30t%s 
set wingravity southwest
set winliststyle column

# プレフィックスキーを ctrl-t に設定。

escape C-t

# 追加のキーバインドの設定。
# ctrl-t - で画面の水平分割。 ctrl-t | で画面の垂直分割。
# ctrl-t ctrl-[0-9] で指定された番号の画面に切り替え。

bind bar hsplit
bind minus split

bind C-0 select 0
bind C-1 select 1
bind C-2 select 2
bind C-3 select 3
bind C-4 select 4
bind C-5 select 5
bind C-6 select 6
bind C-7 select 7
bind C-8 select 8
bind C-9 select 9

# alt-x を直接入力して、 ratpoison のコマンド入力。
# ctrl-alt-x を直接入力して、シェルスクリプトのコマンド入力。

definekey top M-x colon
definekey top C-M-x exec

unbind s
unbind C-s
unbind S
unbind C-S

# マウス関連の設定。
# alt-矢印キー等でマウスカーソルの移動等。
# alt-return で左マウスボタンのクリック等。

ratwarp 0 0

# alt-矢印キーでマウスカーソルを上下左右に 10 ピクセル分移動。

definekey top M-Up ratrelwarp 0 -10
definekey top M-Down ratrelwarp 0 10
definekey top M-Left ratrelwarp -10 0
definekey top M-Right ratrelwarp 10 0

# shift-alt-矢印キーでマウスカーソルを 50 ピクセル分移動。

definekey top S-M-Up ratrelwarp 0 -50
definekey top S-M-Down ratrelwarp 0 50
definekey top S-M-Left ratrelwarp -50 0
definekey top S-M-Right ratrelwarp 50 0

# ctrl-alt-矢印キーでマウスカーソルを 100 ピクセル分移動。

definekey top C-M-Up ratrelwarp 0 -100
definekey top C-M-Down ratrelwarp 0 100
definekey top C-M-Left ratrelwarp -100 0
definekey top C-M-Right ratrelwarp 100 0

# alt-1, alt-2, alt-3 で左・中央・右のマウスボタンをそれぞれクリック。

definekey top M-1 exec ratpoison -c "rathold up 1" -c "rathold up 2" -c "rathold up 3" -c "ratclick 1"
definekey top M-2 exec ratpoison -c "rathold up 1" -c "rathold up 2" -c "rathold up 3" -c "ratclick 2"
definekey top M-3 exec ratpoison -c "rathold up 1" -c "rathold up 2" -c "rathold up 3" -c "ratclick 3"

# alt-, (or alt-Return), alt-/, alt-. で左・中央・右のマウスボタンをそれぞれクリック。

definekey top M-comma exec ratpoison -c "rathold up 1" -c "rathold up 2" -c "rathold up 3" -c "ratclick 1"
definekey top M-Return exec ratpoison -c "rathold up 1" -c "rathold up 2" -c "rathold up 3" -c "ratclick 1"
definekey top M-slash exec ratpoison -c "rathold up 1" -c "rathold up 2" -c "rathold up 3" -c "ratclick 2"
definekey top M-period exec ratpoison -c "rathold up 1" -c "rathold up 2" -c "rathold up 3" -c "ratclick 3"

# shift-alt-, (or shift-alt-Return), shift-alt-/, ashift-alt-. で左・中央・右のマウスボタンをドラッグ。

definekey top S-M-comma exec ratpoison -c "rathold up 1" -c "rathold up 2" -c "rathold up 3" -c "rathold down 1"
definekey top S-M-Return exec ratpoison -c "rathold up 1" -c "rathold up 2" -c "rathold up 3" -c "rathold down 1"
definekey top S-M-slash exec ratpoison -c "rathold up 1" -c "rathold up 2" -c "rathold up 3" -c "rathold down 2"
definekey top S-M-period exec ratpoison -c "rathold up 1" -c "rathold up 2" -c "rathold up 3" -c "rathold down 3"

# 各種アプリケーション起動用キーマップの定義。
# キーマップ appskey に各種アプリケーションを起動する為のキーバインドを定義。
# ctrl-x にキーマップ appskey のプレフィックスを割り当て。

newkmap appskey
definekey top C-x readkey appskey

# ctrl-x c (or ctrl-c) で sakura が起動。
# ctrl-x m (or ctrl-m) で mlterm が起動。
# ctrl-x f (or ctrl-f) で Firefox が起動。
# ctrl-x l (or ctrl-l) で LibreOffice が起動。
# ctrl-x g (or ctrl-g) で geany が起動。
# ctrl-x s (or ctrl-s) で Sylpheed が起動。

definekey appskey c exec sakura
definekey appskey m exec mlterm -w 26 --bg black --fg green --im=fcitx --pic=/home/u0_a135/Pictures/wall-papers/dolphin.jpg --ac 2 -e /bin/bash -l
definekey appskey f exec firefox
definekey appskey l exec libreoffice
definekey appskey g exec geany
definekey appskey s exec sylpheed

definekey appskey C-c exec sakura
definekey appskey C-m exec mlterm -w 26 --bg black --fg green --im=fcitx --pic=/home/u0_a135/Pictures/wall-papers/dolphin.jpg --ac 2 -e /bin/bash -l
definekey appskey C-f exec firefox
definekey appskey C-l exec libreoffice
definekey appskey C-g exec geany
definekey appskey C-s exec sylpheed

# ctrl-x 自体を入力するには ctrl-x を２回連続して入力する。

definekey appskey C-x meta C-x

# ヘルプ表示用キーマップの定義。
# キーマップ helpkey に各キーマップのヘルプを表示する為の
# キーバインドを定義。
# ctrl-? (or ctrl-/) にキーマップ helpkey のプレフィックスを
# 割り当て。

newkmap helpkey
definekey top C-question readkey helpkey
definekey top C-slash readkey helpkey

# ctrl-? r (or ctrl-r) で通常のプレフィックスに続くキーバインドのヘルプ表示。
# ctrl-? t (or ctrl-t) で直接キー押し下げによるキーバインドのヘルプ表示。
# ctrl-? a (or ctrl-a) で各種アプリケーション起動用キーバインドのヘルプ表示。
# ctrl-? h (or ctrl-h) でヘルプ表示用のキーバインドのヘルプ表示。

definekey helpkey r help root
definekey helpkey t help top
definekey helpkey a help appskey
definekey helpkey h help helpkey
definekey helpkey question help helpkey

definekey helpkey C-r help root
definekey helpkey C-t help top
definekey helpkey C-a help appskey
definekey helpkey C-h help helpkey
definekey kelpkey C-slash help helpkey
definekey helpkey C-question help helpkey
```

## ```$HOME/.ratpoisonrc``` の概要

本節では、[前節][SEC0201]で作成した ```$HOME/.ratpoisonrc``` において行った設定の概要について述べます。

なお、 [前節][SEC0201]で作成した ```$HOME/.ratpoisonrc``` は [ratpoison][RATP] における設定の一例ですので、キーバインド等の設定は、 [ratpoison の公式 web ページ][RATP]内の [ratpoison のマニュアルページ][RTPD]等を参照して適宜変更することを御勧めします。 (但し、**キーバインドの設定は、 [Android OS][ANDR] 端末及び [Debian noroot][DBNR] 環境における他のアプリケーションのキーバインドと衝突しないように注意する必要があります。**)

### 環境変数の設定

設定ファイル ```.ratpoisonrc``` において、 ```setenv <varname> <value>``` コマンドによって、 [ratpoison][RATP] の起動時に環境変数を設定できます。

上記の ```$HOME/.ratpoisonrc``` では、環境変数 ```TZ, LANG, LC_ALL, LANGUAGE, XMODIFIERS``` 等の、主に [Debian noroot][DBNR] 環境における日本語環境に関する環境変数を中心に設定しています。

### ratpoison 起動時に実行するプロセスの設定

設定ファイル ```.ratpoisonrc``` において、 ```exec <command> [<arg1> [<arg2> ...]]``` コマンドによって、 [ratpoison][RATP] の起動時に実行するプログラムを指定出来ます。

上記の ```$HOME/.ratposonrc``` では、 X server でのキーバインドの設定を行うための ```xmodmap``` や日本語入力メソッドに関するプログラムである [fcitx][FCTX] 及び前章で述べたクリップボード管理を行うソフトウェアである [clipit][CLIP] と端末エミュレータ [mlterm][MLTM] を起動しています。 

### フォントの設定

設定ファイル ```.ratpoisonrc``` において、変数 ```font``` にフォント名を設定することにより、 [ratpoison][RATP] において使用するフォントを指定することが出来ます。

即ち、 ```set font <fontname>``` コマンドによって、フォント指定を行うことが出来ます。

なお、上記の ```$HOME/.ratpoisonrc``` のように ```font``` に日本語フォントを指定することで、 [ratpoison][RATP] のメッセージウィンドウに日本語を表示させることが出来ます。

### 追加のキーバインドの設定

設定ファイル ```.ratpoisonrc``` において、 ```escape <key>``` コマンドによって、 ```<key>``` に [ratpoison][RATP] で使用するプレフィックスキーを割り当てることが出来ます。

また、 ```bind <key> <command> [<arg1> [<arg2> ...]]``` コマンドで、プレフィックスキーに続いて押し下げられるキー ```<key>``` に対応して実行されるコマンド ```<command> [<arg1> [<arg2> ...]]``` を指定出来ます。

上記の ```$HOME/.ratpoisonrc``` では、プレフィックスキーはデフォルトと同じく ```ctrl-t``` を指定しています。また、 ```ctrl-t -``` 及び ```ctrl-t |``` のキーを押し下げることによって、画面の水平及び垂直方向の分割を行います。

そして、 ```ctrl-t 0 (or 1 ... 9)``` を押し下げることによって、指定された番号の画面に移動します。

設定ファイル ```.ratpoisonrc``` において、 ```definekey top <key> <command> [<arg1> [<arg2> ...]]``` コマンドによって、 [ratpoison][RATP] でのプレフィックスキーを押し下げること無しに直接押し下げられるキー ```<key>``` に対応して実行されるコマンド ```<command> [<arg1> [<arg2> ...]]``` を指定出来ます。

上記の ```$HOME/.ratpoisonrc``` では、 ```alt-x``` を直接押し下げることによって、メッセージウィンドウに [ratpoison][RATP] のコマンド入力プロンプトを表示させ、 ```ctrl-alt-x``` を直接押し下げることによって、シェルスクリプトを実行するための入力プロンプトを表示させます。

### 矢印キーによるマウスカーソルの移動の設定

設定ファイル ```.ratpoisonrc``` において、 ```ratrelwarp <xdelta> <ydelta>``` コマンドによって、画面のマウスカーソルの位置を相対的に水平方向に ```<xdelta>``` ピクセル数分、垂直方向に ```<ydelta>``` ピクセル数分それぞれ移動させることが出来ます。

上記の ```$HOME/.ratpoisonrc``` では、 ```alt-矢印キー``` を直接押し下げることによって、マウスカーソルが上下左右に 10 ピクセル数分移動します。

また、 ```shift-alt-矢印キー``` を直接押し下げることによって、マウスカーソルが 50 ピクセル数分移動し、 ```ctrl-alt-矢印キー``` を直接押し下げることによって、マウスカーソルが 100 ピクセル数分移動します。

設定ファイル ```.ratpoisonrc``` において、 ```ratclick 1```, ```ratclick 2``` 及び ```ratclick 3``` コマンドによって、左、中央及び右のマウスボタンのクリック動作を行うことが出来ます。

上記の ```$HOME/.ratpoisonrc``` では、 ```alt-,``` 若しくは ```alt-return``` でマウスボタンを左クリックの、 ```alt-.``` でマウスボタンを右クリックの、 ```alt-/``` でマウスボタンを中央クリックの動作をそれぞれ行います。

また、 ```rathold down 1```, ```rathold down 2``` 及び ```rathold down 3``` コマンドによって、左、中央及び右のマウスボタンをドラッグする動作を行うことが出来ます。

そして、 ```rathold up 1```, ```rathold up 2``` 及び ```rathold up 3``` コマンドによって、左、中央及び右のマウスボタンをドラッグした状態から離す動作を行うことが出来ます。

上記の ```$HOME/.ratpoisonrc``` では、 ```shift-alt-,``` 若しくは ```shift-alt-return``` でマウスボタンを左ドラッグの、 ```shift-alt-.``` でマウスボタンを右ドラッグの、 ```shift-alt-/``` でマウスボタンを中央ドラッグの動作をそれぞれ行うことが出来ます。

なお、 ```$HOME/.ratpoisonrc``` の ```bind <key> <command> [<arg1> [<arg2> ...]]``` コマンド及び ```definekey top <key> <command> [<arg1> [<arg2> ...]]``` コマンド等において、 **[ratpoison][RATP] のコマンドを複数個連続して実行するように指定する場合は、 ```exec ratpoison -c "<command1> ..." -c "<command2> ..." ...``` のように、シェルスクリプトから ```ratpoison``` コマンドを ```-c``` オプションを複数個指定して実行させる必要がある事に注意して下さい。**

以上で述べた [ratpoison][RATP] のマウスに関する設定によって、**キーボード操作に基づくマウスカーソル移動ソフトウェアである [keynav][KEYN] とほぼ同等の機能を持ったマウス操作の設定を行うことが出来ます。**

### 各種アプリケーション起動用のキーバインドの設定

設定ファイル ```.ratpoisonrc``` では、 ```newkmap <keymap>``` コマンドによって新たなユーザ定義用のキーマップを生成することが出来ます。

また、 ```definekey <keymap> <key> <command> [<arg1> [<arg2> ...]]``` コマンドによって、ユーザ定義キーマップ ```<keymap>``` について、キー ```<key>``` に対応して実行されるコマンド ```<command> [<arg1> [<arg2> ...]]``` を指定出来ます。

そして、 ```readkey <keymap>``` コマンドによって、ユーザ定義キーマップが [ratpoison][RATP] に取り込まれ、次に押されたキーによって、キーマップ ```<keymap>``` に対応を定義づけられたコマンドの実行を行うことが出来ます。

従って、 ```definekey top <userprefixkey> readkey <keymap>``` コマンドによって、ユーザ定義キーマップ ```<keymap>``` に対応するユーザ定義のプレフィックスキー ```<userprefixkey>``` を指定することが出来ます。

上記の ```$HOME/.ratpoisonrc``` では、 ```ctrl-x c (or ctrl-c)``` を押し下げることによって、端末エミュレータ [sakura][SAKU] が起動し、 ```ctrl-x m (or ctrl-m)``` を押し下げることによって、端末エミュレータ [mlterm][MLTM] が起動し、 ```ctrl-x f (or ctrl-f)``` を押し下げることによって、ウェブブラウザ [Firefox][FIRE] が起動するなど、ユーザ定義プレフィックスキー ```ctrl-x``` に続いてキーマップ ```appskey``` に定義したキーを押し下げることによって、各種アプリケーションを実行することが出来ます。

## ```/startx.sh``` の修正

[前々節][SEC0201]及び[前節][SEC0202]の通りに、 [ratpoison][RATP] の設定ファイルである ```$HOME/. ratpoisonrc``` を作成した後は、以下のように、[Debian noroot][DBNR] 環境の起動スクリプトである ```/startx.sh``` において、  ```xfce-session``` コマンドを起動している行を ```ratpoison``` コマンドを起動するように書き換えます。

なお、 ```/startx.sh``` の修正に際しては、**予め "[Debian noroot 環境 に障害復旧用の環境を導入する][ZOQ1]" を参照の上で、障害復旧用の環境を構築する事を強く御勧め致します。**

```sh:/startx.sh
...(略)...

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

...(略)...
```

# ratpoison の起動

そして、前章の通りに ```$HOME/.ratpisonrc``` の作成及び ```/startx.sh``` の変更を行った後に [Debian noroot][DBNR] 環境を再起動すると、下記に示す画像のように、 [ratpoison][RATP] の起動と共に、端末エミュレータである mlterm が全画面で起動し、 [ratpoison][RATP] が使用出来るようになります。

![(start of ratpoison)][IMG1]

また、上記の画面から ```ctrl-t``` のプレフィックスキーの後に ```?``` キーを押すと、下記に示す画像のようなヘルプ画面が表示されます。

![(help of ratpoison)][IMG2]

そして、 ```ctrl-alt-p``` キーの押し下げを行うと、以下の画像のように、クリップボード管理を行うソフトウェアである [clipit][CLIP] のメニューが表示されます。

![(menu of ClipIt)][IMG3]

# 結論

本稿では、 "[ratpoison の導入][CHAP01]" の章において、まず最初に、 [Debian noroot 環境][DBNR]において、 [Debian][DEBI] パッケージ管理システムより軽量なタイル型ウィンドウマネージャである [ratpoison][RATP] 及びクリップボード管理を行うソフトウェアである [clipit][CLIP] 等を導入しました。

次に、[前々章][CHAP02]において、 [ratpoison][RATP] のキーバインド等の設定ファイルである ```$HOME/.ratpoisonrc``` を作成し、 [Debian noroot 環境][DBNR]の起動スクリプトの一つである ```/startx.sh``` の修正を行いました。

そして、[前章][CHAP03]において [Debian noroot][DBNR] 環境を再起動することにより、デフォルトの統合デスクトップ環境の [Xfce4][XFCE] に代えて [Debian noroot 環境][DBNR]の起動時に [ratpoison][RATP] を起動させることが可能となりました。

また、 [ratpoison][RATP] の設定ファイルである ```$HOME/.ratpoisonrc``` において、マウスカーソルの移動及びクリック操作に関するキーバインドと各種アプリケーションを起動するためのキーバインドの設定を行うことで、 [Debian noroot][DBNR] 環境におけるデスクトップ環境の操作を物理キーボードのみで完結させることが可能となりました。

以上で述べた、 [Debian noroot][DBNR] 環境におけるタイル型ウィンドウマネージャ [ratpoison][RATP] の導入によって、小型の [Android OS][ANDR] 端末において、 [Debian noroot][DBNR] 環境での視覚的なインターフェイスの視認性を高め、物理キーボードに基づいた軽快で快適な操作性を実現することが可能となりました。

# 謝辞

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

まず最初に、タイル型ウィンドウマネージャである [ratpoison][RATP] の開発者である [Shawn Betts][SHAW] 氏に心より感謝致します。

また、 [ratpoison][RATP] の設定に関しては、 [ArchLinux の開発コミュニティによる wiki][ARCH] における [ratpoison の記事][ARTP]を参考にしました。 [ArchLinux の開発コミュニティ][ARCH]の各氏に心より感謝致します。

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

<!-- 各章及び各節へのリンク一覧 -->

[CHAP01]:#ratpoison-の導入
[CHAP02]:#ratpoison-の設定
[CHAP03]:#ratpoison-の起動
[CHAP04]:#結論
[SEC0201]:#homeratpoisonrc-の作成
[SEC0202]:#homeratpoisonrc-の概要
[SEC0203]:#startxsh-の修正

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

[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.htm
[SCRN]:https://www.gnu.org/software/screen/
[TMUX]:https://github.com/tmux/tmux/wiki
[RATP]:https://www.nongnu.org/ratpoison/
[RTPD]:https://www.nongnu.org/ratpoison/doc/
[ARCH]:https://wiki.archlinux.jp/
[ARTP]:https://wiki.archlinux.jp/index.php/Ratpoison
[CLIP]:https://github.com/CristianHenzel/ClipIt
[FCTX]:https://fcitx-im.org/wiki/Fcitx
[ZOQ0]:https://qiita.com/z80oolong/items/7575b11c4f1078e81a69
[ZOQ1]:https://qiita.com/z80oolong/items/0049269559270ccc68bd
[KEYN]:https://github.com/jordansissel/keynav
[SAKU]:http://www.pleyades.net/david/projects/sakura
[MLTM]:http://mlterm.sourceforge.net/
[FIRE]:https://www.mozilla.org/ja/firefox/new/
[XFCE]:https://xfce.org/
[IMG1]:https://qiita-image-store.s3.amazonaws.com/0/86258/621ac77f-b444-2de0-b869-64bed878c23e.jpeg
[IMG2]:https://qiita-image-store.s3.amazonaws.com/0/86258/ce0d6971-c1bf-4f0f-cb0e-1aa26b7c48d2.jpeg
[IMG3]:https://qiita-image-store.s3.amazonaws.com/0/86258/f103b1fa-7693-0b9a-2014-a67484f5f937.jpeg
[SHAW]:mailto:sabetts@gmail.com
[PELY]:https://github.com/pelya