以前Pomeraにlinuxを入れた話を書いたが、今回は環境設定の詳細について整理してみる。

かなりいろいろ設定をいじっているので、忘れないうちにメモしておく。

現在の構成

  • ハードウェア: Pomera DM250
  • OS: Debian 11 bullseye (ARM v7l)
  • ウィンドウマネージャー: i3wm
  • ターミナル: URxvt (rxvt-unicode)
  • 日本語入力: ibus + mozc
  • フォント: Ricty Diminished

自動ログイン・X Window起動設定

.bash_profile

if [[ -z  $DISPLAY ]] && [[ $(tty) == /dev/tty1 ]];  then
	  startx
fi

ログイン後、自動的にX Windowが起動するように設定している。tty1(最初のコンソール)でのログイン時のみstartxを実行。

.xprofile

#!/bin/sh
xset r rate 300 25
/usr/local/bin/x-set-keys &

X Window起動後に実行される設定。キーリピート速度の調整とx-set-keysの起動を行う。

手動起動の問題

現在、x-set-keysの自動起動がうまくいかず、X Window起動後に手動で以下を実行している:

sh .xprofile

この作業を忘れないように、.bashrcの末尾で操作メモを表示している:

.bashrc(末尾)

more /mnt/sd/doc/welcome.txt

/mnt/sd/doc/welcome.txt

ログイン後、sh .xprofile を実行してください そしたらMenuプラスEnterで別ターミナル開いて、Menu+wで最大化。   あとこれもやったらだめ固まるー>ctrl z してbgとかそういうやつ"

操作TIPS ・urxvt-unicodeでのペーストはCTRL+ALT+v ・文字サイズ変更はCTRL++,CTRL+- ・明るさ変更は ~/brightnessコマンド(GUI) ・マウスはCTRL+; ・日本語IMEオンオフは半角全角キー

このメモには、基本的な操作方法も含めている。

X Window関連設定

.xinitrc

export LANG=ja_JP.UTF-8
export GTK_IM_MODULE=ibus
export XMODIFIERS=@im=ibus
export QT_IM_MODULE=ibus

xrdb -merge -I$HOME ~/.Xresources ibus-daemon -drx& /usr/bin/keynav & export LANG=ja_JP.UTF-8 exec i3

X起動時に日本語環境とibus、keynavを自動起動している。最初はXFCE4を使っていたが、軽量なi3wmに変更した。

.Xresources

URxvt*font:     xft:Ricty Diminished:size=16
URxvt.letterSpace:        -1
URxvt.faceSize:       12
URxvt.background:             snow
URxvt.foreground:             black

URxvt.saveLines: 3000 URxvt.scrollBar: false URxvt.cursorBlink: true URxvt.cursorUnderline: true URxvt.pointerBlank: true URxvt.fading: 40 URxvt.iso14755: false URxvt.pastableTabs: false

URxvt.perl-ext-common: xim-onthespot,keyboard-select,resize-font URxvt.inputMethod: ibus URxvt.preeditType: OnTheSpot

URxvt.keyboard-select.clipboard: true

URxvt.keysym.Shift-Up: command:\033]720;1\007 URxvt.keysym.Shift-Down: command:\033]721;1\007

URxvt.keysym.M-s: perl:keyboard-select:activate

URxvtは軽くて設定が豊富。日本語入力のOnTheSpot設定がポイント。

マウス操作をキーで行う - keynav

Pomeraにはマウスがないので、keynavでキーボードからマウス操作を実現している。

.keynavrc

clear
daemonize

起動キー

ctrl+semicolon start,cursorzoom 20 20

終了

Escape warp,end q warp,end

クリック

space warp,click 1 1 warp,click 1,end 2 warp,click 2,end 3 warp,click 3,end

カーソル移動(vim風)

h move-left 20 j move-down 20 k move-up 20 l move-right 20

shift+h move-left 50 shift+j move-down 50 shift+k move-up 50 shift+l move-right 50

Emacs風

ctrl+n move-down 20 ctrl+f move-right 20 ctrl+p move-up 20 ctrl+b move-left 20

アプリケーション起動

5 sh "lilyterm",end 6 sh "leafpad",end 7 sh "sylpheed",end 8 sh "midori",end 9 sh "gvim",end 0 sh "emacs",end

Ctrl+;でマウスカーソルが表示され、hjklで移動、spaceでクリック。

よく使うアプリケーションを数字キーで起動できるようにしている。

i3ウィンドウマネージャー設定

軽量で設定が柔軟なi3wmを採用。

~/.config/i3/config(抜粋)

set $mod Mod4

font pango:FontAwesome,Ricty Diminished,DejaVu Sans Mono 12

タブで次のワークスペース

bindsym $mod+Tab workspace next bindsym $mod+Shift+Tab workspace prev

スクリーンロック

bindsym $mod+l exec slock && sleep 1

ボーダーを賢く非表示

hide_edge_borders smart

ステータスバー設定

bar { font pango:FontAwesome,Ricty Diminished,DejaVu Sans Mono 14 status_command i3status }

システム情報表示 - i3status

右下のバーにIPアドレスやバッテリー情報を表示。

/etc/i3status.conf

general {
    output_format = "i3bar"
    colors = false
    interval = 7
}

order += "wireless _first_" order += "battery 0" order += "tztime local"

wireless _first_ { format_up = "SSID:%essid/%ip%quality" format_down = "Wifi:down" }

battery 0 { path = "/sys/class/power_supply/battery/uevent" format = "%status%percentage" }

tztime local { format = "%Y-%m-%d(%a) %H:%M" }

WiFi SSID、IPアドレス、電波強度、バッテリー残量、日時を表示。

日本語入力設定

.uim

(define default-im-name 'mozc)
(define-key generic-on-key? '(" " "zenkaku-hankaku"))
(define-key generic-off-key? '(" " "zenkaku-hankaku"))

Ctrl+SpaceとZenkaku-hankakuキーで日本語入力のON/OFF切り替え。

キーボード問題について

PomeraをLinux化すると、複数キー同時押しで意図しない文字が入力される問題がある。

現在の対策

1. キーリピート調整: /etc/X11/xorg.conf.d/00-keyboard.conf

   Section "InputClass"
       Identifier "system-keyboard"
       MatchIsKeyboard "on"
       Option "AutoRepeat" "300 20"
   EndSection
   `

2. x-set-keysツール: /usr/local/bin/x-set-keys - 複数キー入力問題を軽減するカスタムツール - SUID権限で動作 - .xinitrcでコメントアウト中(不安定のため)

3. bashrcでの環境設定: `bash export LANG=ja_JP.UTF-8 `

具体的な問題

  • 複数キー同時押しで文字化けが発生。具体的には りょ、ちゅ、などを高速入力するとたいてい違う文字が入る。

この問題は完全には解決していない。Pomeraのハードウェア特性に起因する可能性が高い。これについては以前にも少し書いた→ ポメラdm250をlinux化すると複数キー同時入力で違う文字が入ってしまう問題 : まさかの日記 https://masakano.com/archives/52628373.html

WiFi設定

/etc/network/interfaces

bash

Include files from /etc/network/interfaces.d:

source /etc/network/interfaces.d/*

NetworkManagerを使用してWiFi接続を管理。GUIでも設定可能。

その他の便利な設定

.bashrc

bash export LANG=ja_JP.UTF-8

ヒストリー設定

HISTSIZE=1000 HISTFILESIZE=2000

.tmux.conf(Pomera側)

bash unbind C-b set-option -g prefix C-t set-option -g status-interval 30 set-option -g status-right "|#(~/bin/date)|#(/home/pomera/bin/charge):#(/home/pomera/bin/batt)"

bind r source-file ~/.tmux.conf \; display-message "Config reloaded!" `

プレフィックスキーをC-tに変更。ステータスラインには日付とバッテリー情報を表示。

開発環境

  • エディタ: vim, emacs
  • 言語: Python, Ruby, Common Lisp (SBCL + Quicklisp)
  • ブラウザ: Firefox ESR
  • メーラー: Sylpheed

最近はClaude Codeも快適に動作している。

パフォーマンス

軽量な構成にしているため、Pomeraでも意外と快適。

  • メモリ使用量: 起動後約200MB
  • CPU負荷: アイドル時1%以下
  • バッテリー持続時間: 通常使用で6-8時間

今後の課題

1. キーボード問題の根本解決 - おそらく対応は不可能。ポメラの次バージョンに期待か?(でるんか?

2. パフォーマンス向上 - さらなる軽量化 - 起動時間の短縮

3. モバイル対応 - Tailscale経由での外部アクセス最適化 - バッテリー消費の改善

感想

正直pomeraの使いみちがなくて困っていたが、こんだけ遊べれば充分もとは取ったかな

ちなみにこの記事もclaude codeにほぼかいてもらった(expectコマンドで勝手に入ってもらって見てもらった)。このpomera のlinux側のいろんな設定をなにかに残さないとな、、とずっと思っていたが、ここでこういう形で実現して良かった。まあ二度とここまでやることは無いと思うが、、次のPomera(DM300か)が出たらまたやるかも。カーネルとかを出してくれている皆さんがいるあいだにw pomera dm300でググるといろいろ出てくるね→pomera dm300 - Google 検索 https://www.google.com/search?q=pomera+dm300&oq=pomera+dm300&gs_lcrp=EgZjaHJvbWUyBggAEEUYOTIJCAEQABgEGIAEMgcIAhAAGO8FMgoIAxAAGKIEGIkFMgoIBBAAGIAEGKIE0gEIMzc1NGowajeoAgCwAgA&sourceid=chrome&ie=UTF-8

---

参考

  • keynav: http://www.semicomplete.com/projects/keynav