有馬総一郎のブログ

(彼氏の事情)

2024年02月06日 07:21:45 JST - 4 minute read - Linux

ASUS Chromebook Flip C101PAをポメラみたいにする twmインストール・設定編

ユーザ作成までしたので、次はデスクトップ環境の設定を行っていく。

Git設定

  1. gitインストール

  2. ~/.gitconfig でgit設定

  3. ssh設定ファイル編集

    github接続の設定

    Host github github.com
        HostName github.com
        IdentityFile ~/.ssh/id_rsa
        User git
        Port 22
        IdentitiesOnly yes # IdentityFile で指定した秘密鍵でのみ認証を試みる
        Compression yes # Git でのファイル転送時に圧縮する
    
  4. 秘密鍵の権限をユーザ専用とする

  5. githubへの接続テスト

$ sudo pacman -S git
$ sudo nvim ~/.gitconfig 
$ nvim ~/.ssh/config 
$ chmod 600  ~/.ssh/id_rsa
$ ssh -T github

ここら辺がちゃんと設定されていないとgit cloneするときでさえ、ユーザ名とパスワードを聞かれる(知らなかった…)。この場合、プロトコルがー、とか対処方法が色々あるが、兎にも角にも、ssh -T githubが成功すること。

yayインストール

$ mkdir git
$ cd git
$ git clone https://aur.archlinux.org/yay.git
$ cd yay/
$ makepkg -si

Linuxコンソール

しかし、ここで重大な思い違いを知る。ディスプレイサーバーxorgをインストールせず、素、生の端末、仮想コンソールのことを、Linuxコンソールというらしいが、これでは日本語を表示するのが難しいということを知った。

7.5. Linux コンソールの設定には、以下のように記述がある。

中国語、日本語、韓国語などを利用する場合 Linux コンソールにはそれらの文字を表示できません。 この言語を利用するユーザーは X ウィンドウシステムを使ってください。 そこで用いるフォントは、必要となるコード範囲の文字を有しており、入力メソッドも用意されています。 (例えば SCIM は数多くの言語入力をサポートしています。)

UNIX系 CUI環境のpackage/toolまとめ(X/Wayland無し環境) #Linux - Qiitaを見ると、いくつかCUIオンリーでも日本語を表示できるターミナルがあるが、ARM系だとkmscon1fbterm2もインストールできなかった。

コンソールで日本語表示のためのLinux kernelの再構築とパッチ適用 | ペンギンの道しるべとかあるが、カーネルビルドとかやったことないし、そもそもARM系だしやっても成功するか分からない。

話はズレるが SlackwareLFSをベースにした Plamo Linuxとう日本語Linuxディストリビューションがあることを知った。

技評の記事でも紹介された実績があり、更新も2023年も行われている。Slackwareは使ったことがないので、今度の機会に試してみたい。

ともあれ、日本語表示できるコンソールが入れれば、日本語が表示でき、uim-fepがインストールできれば入力も可能になるらしい…

Xorg、Twmをインストール

Linuxコンソール(仮想コンソール)での日本語表示、入力は諦め、xorgをインストールすることにした。

$ sudo pacman -S xorg xorg-xinit 
$ sudo pacman -S xterm xorg-twm xorg-xclock xorg-fonts-misc
$ cp /etc/X11/xinit/xinitrc ~/.xinitrc
$ nvim ~/.xinitrc

~/.xinitrc

conky -d -c ~/.config/conky/conky.conf &
alacritty &
twm

最初は /etc/X11/xinit/xinitrc のままで問題なく、ともあれtwmを起動すればOKのはず。

twmの設定などは以下のように行う。

cp /usr/share/X11/twm/system.twmrc ~/.twmrc
nvim ~/.twmrc

~/.twmrc

RandomPlacement
RightTitleButton ":delete" = f.delete
"F11"   =        : all : f.fullzoom
"Tab"   = m      : all : f.raiselower
"Tab"   = m  | s : all : f.raise
"Tab"   = m4     : all : f.warping "next"
"Tab"   = m4 | s : all : f.warping "prev"
"s"     = m4     : all : f.twmrc
"r"     = m4     : all : f.refresh
"t"     = m4     : all : f.exec "exec alacritty &"
"q"     = m4     : all : f.delete
"q"     = m4 | s : all : f.destroy
"Left"  = m4     : all : f.leftzoom
"Right" = m4     : all : f.rightzoom
Notitle { "Alacritty" }
Style "Alacritty" Background ""
WindowRing { "Alacritty" }

軽量ウィンドウマネージャーtwmを使う #Linux - Qiitaなど参考にした。あとは、 man twm (1): X ウィンドウシステム用のタブウィンドウマネージャ(Tab Window Manager)など。

最初、アプリ起動のたびにウィンドウサイズを指定するのがウザかったが、RandomPlacementを追記すれば勝手に開いてくれる。本当は最大化とかフルスクリーンでやりたいのだが、まあよし。

ウィンドウをアクティブ、フォーカスするのに癖?があるらしく、他のデスクトップ環境みたいにALT+TabSuper+Tabでやりたかったので、上記のようにしたが、たまにアクティブにならないときがある。m4Superキー。

startxを実行すればtwmが実行される。毎回、startxするのは面倒なので

~/.bash_profile

export LANG=ja_JP.UTF-8
if [ -z "$DISPLAY" ] && [ "$XDG_VTNR" = 1 ]; then
	exec startx
fi

と追記すればログインとともに言語設定とstartxが実行される。

長くなったので次回に続く。


  1. GitHub - dvdhrm/kmscon: Linux KMS/DRM based virtual Console Emulator。Intel系とかなら KMSCON を Arch Linux 環境で設定する手順です · GitHubなどにあるとおり、少なくともAURにパッケージがありインストールが容易な感じ。 ↩︎

  2. GUIなしのLinuxのコンソールで文字化け・・・「LANG=C」ではなく「fbterm」で解決 - 電子タンクと、こちらも簡単にインストールできるっぽい。Ubuntu 22.04サーバーでもfbterm/jammy 1.7-5 amd64が見つかった。 ↩︎