antiX-swap設定

2025/10/30

antiX(runit)でのswap領域設定

概要

Let's Note CF-LX5(メモリ4GB)でantiXを運用する場合、swap領域の設定は安定動作に必須です。
今回はパーティションを変更せず、「swapファイル方式」で安全に導入します。
項目内容
PC名Let's Note CF-LX5
CPUIntel Core i5-6300U (2.4GHz)
メモリ4 GB
システム64bit antiX Linux (runit)
デスクトップrox-iceWM

swap容量の推奨値

メモリ容量利用目的推奨スワップ容量
4GB軽作業・Web・RDP用途2GB~4GB
4GB多アプリ・VPN利用4GB~8GB
おすすめ:4GB(メモリと同容量)
SSD搭載機ではswapアクセスも高速です。休止(hibernation)を使わないなら4GBで十分です。

swapファイルの作成手順

手順コマンド例説明
`sudo fallocate -l 4G /swapfile`4GBのswapファイルを作成
`sudo chmod 600 /swapfile`アクセス権を制限(root専用)
`sudo mkswap /swapfile`swap領域として初期化
`sudo swapon /swapfile`swapを有効化
`swapon --show` または `free -h`動作確認
sudo fallocate -l 4G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
swapon --show
出力例:
NAME      TYPE SIZE USED PRIO  
/swapfile file 4G   0B   -2

永続化設定(再起動後も有効にする)

echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

再起動後も自動的にswapが有効になります。

swap削除手順(不要になった場合)

sudo swapoff /swapfile  
sudo rm /swapfile  
sudo sed -i '/\/swapfile/d' /etc/fstab

swappiness(スワップ使用頻度)の調整

デフォルトではメモリ使用率が高くなるとswapを積極的に使い始めます。
SSD環境では、値を低くしてswap頻度を減らすのが適しています。
目的コマンド説明
一時的変更`sudo sysctl vm.swappiness=10`起動中のみ有効
永続化`echo 'vm.swappiness=10' sudo tee -a /etc/sysctl.conf`再起動後も維持
確認:
cat /proc/sys/vm/swappiness  
→ 10 が表示されればOK

最終確認項目

項目コマンド期待出力
swap有効化`swapon --show`/swapfile が表示される
メモリ使用量確認`free -h`Swap欄に4G程度
fstab登録確認`grep swapfile /etc/fstab`設定行が表示される
swappiness確認`cat /proc/sys/vm/swappiness`10

まとめ

この方法で、ディスクを再構成せずに安全にswap領域を導入できます。
SSDの寿命への影響も軽微で、安定性が大幅に向上します。

次のステップとして、圧縮スワップ(zswap / zram)を導入すると、さらなる高速化も可能です。

antiXでのswap設定の重複修正手順

概要

antiXインストール後に手動でswapファイルを追加した際、fstabに重複設定が残ることがあります。
たとえば、下記のように2行ある場合は二重設定です。
/swap/swap swap swap defaults 0 0
/swapfile none swap sw 0 0

このままでは、起動時に不要なエラー(存在しないswapをマウントしようとする)や警告が出る可能性があります。  
1行目を削除し、正しい `/swapfile` のみを残します。

修正手順

手順コマンド説明
`sudo nano /etc/fstab`fstabを開く
不要行削除`/swap/swap swap swap defaults 0 0` の行を削除
保存Ctrl + O → Enter、Ctrl + X で終了
修正後のfstabの内容は以下のようになります。
/swapfile none swap sw 0 0

テストと確認

目的コマンド期待出力
swapを再読み込み`sudo swapoff -a && sudo swapon -a`エラーなしで完了
有効なswap確認`swapon --show`/swapfile のみが表示
fstab確認`grep swap /etc/fstab`1行のみ(/swapfile)
出力例:
NAME      TYPE SIZE USED PRIO  
/swapfile file 4G   0B   -2

補足

`/swap/swap` は antiX の一部インストーラが自動生成する旧形式です。

antiX-レッツノート仕様

2025/10/30

antiX 今回の仕様

Windows11のスペックに達しなかったので、仕方なくlinux化、というとlinuxに失礼かな。つい最近までwindwos10がちゃんと動いていたので、それなりにスペックはあります。
でもやってみてとてもよかったです。

レッツノート CF-LX5 仕様

項目仕様
デバイス名LX5
プロセッサIntel Core i5-6300U (2.40GHz / 2.50GHz)
メモリ4.00 GB (3.89 GB 使用可能)
システム64ビット x64ベース
元OSWindows 10 Pro
ディスプレイタッチ/ペン入力非対応

chrome-antiX

2025/10/29

Chrome , linux

linux用クロームブラウザは、オープンソース版とベンダー版の2種類があります。
ベンダー版のほうが、ログイン機能もあり、windowsと遜色ないのですが、オープソースではないことから、linux文化に合わず、バインドされていないようです。
ここでは、ベンダー版をリポジトリに組み込んで、依存関係、バージョンもシステムで管理するようにします。

# 公開鍵の追加
wget -q -O - https://dl.google.com/linux/linux_signing_key.pub | sudo apt-key add -
# リポジトリ登録
echo 'deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main' | \
  sudo tee /etc/apt/sources.list.d/google-chrome.list
# 更新とインストール
sudo apt update
sudo apt install google-chrome-stable

antiX-デスクトップのオススメと設定留意点

2025/10/29
詳しく知りたい方はこちら

迷ったら、わからないとき、最初のお勧め

メモリ FM × WM
256MB以下minimal-JWM
256~512MBROX-JWM
512~1GBzzz-JWM、ROX-iceWM
1GB以上zzz-IceWM
ROXは、使い勝手があまりよくないと感じたので、私はzzzにしました。zzzは、zzzFMの略称であり、SpaceFMの後継です。

私は、当初Rox-iceWM を選択していましたが、zzz-iceWMに乗り換えました。
他をを選択する人もいるでしょうし、可能な範囲でいろんなものに触れたいです。

設定時の留意点

共通設定

各種固有のデスクトップが立ち上がる前の設定
共通設定
~/.desktop-sesshion/desktop-session.conf
~/.desktop-sesshion/startup
※日本語圏の情報では、-confとなっているものもありますが、.confが正しいです。

これらのファイルは、

デスクトップ左下メニューバー → コントロールセンター → (左側)セッション → ユーザーのデスクトップセッション

から編集することができます(ここにあるファイルは、共通設定ファイルです。)。

WM個別の設定

固有デスクトップの設定であれば、どのカテゴリ(IceWM,JWM,Fluxbox)か、に注意する必要があります。設定方式が全く違うので、かなり注意する必要があります。十分に注意するようにしましょう。
特に startup ファイルはあちこちにありますので、要注意です。
WM個別の設定
~/.jwm/   以下のファイル
~/.fluxbox/ 以下のファイル
~/.icewm/  以下のファイル
デスクトップ左下メニューバー → コントロールセンター → (左側)デスクトップ → 〇〇の編集

から編集することができます。

他のx11システムでは読み込むが、antiXでは読み込まない設定ファイル(ここに設定しても無意味)

設定無意味ファイル
~/.xsessionrc
~/.Xresources
~/.xinitrc

感想

GUIデスクトップって、ような高性能ランチャーなんだな、という感想を持ちました。
そして、CUIとGUIでログインセッションが別、というのは、なるほどですが、知った時には衝撃を受けました。

知識:antiXデスクトップの技術的構成

2025/10/29

GUIログインとCUIログイン

GUIは、windows.macに代表される Graphical User Interface、CUIは無骨な文字だけの、Charactor User Interfaceです。
linuxは、CUIが基本ですが、使いやすさを追求するため、最近は多くのディストリビューションがGUIをサポートしています。

そして、antiXの場合、下記のようにGUIとCUIの両方で同時にログインセッションが成り立ちます(他のディストリビューションは知りません)。

antiX_gui_login.jpg


我々はGUIにしろ、CUIにしろ、ログインマネージャー(slimski又はgetty)で認証してもらって初めて、カーネルの機能、その他のアプリ等の機能を使うことができるようになります。

antiXのデスクトップ構造

最近の潮流である GNOME、KDE、xfceなどの統合環境*1と異なり、antiXむしろ分散環境(分散処理)となっています。
ここがantiXの特徴です。分散によって処理を軽くしている反面、この構造を知らないと、設定を間違うリスクがあります。

antix_desktop_structure3.png

  • デスクトップ画面のタスクバーとアプリのウィンドウ、背景は、WM(Window Manager)が担当します。
  • 画面に配置しているアイコンの配置は、FM(File-Manager)が担当します。ファイルマネージャーは、WindowsのエクスプローラーやMacのFinderに相当します。
ようは、グラフィックな画面はWMが担当し、そこにFM(ファイルマネージャー)アプリが重なっているイメージです。
ファイルマネージャはPinboardというファイルの中に、アイコンの種類、位置などが書き込まれていて、これをもって制御します。
※アプリとしてのFMのウィンドウは、WMが担当します。

こうして担当を分散することで、CPUへの負荷を軽くして、非力なPCでもグラフィカルなGUIを提供しています。

しかし問題点もあって、タスクバー(WM)から起動する場合と、画面アイコンクリックで起動する場合(FM)とで、アプリに受け渡される環境変数が異なるので、どこから起動するかによってアプリの挙動が変化することがあります。antiXは、環境変数の受渡は古い方式(sysVinit)でやっているので、子プロセスが起動されるときに親プロセスからコピーされる方式です。最近の潮流のsystemdは、環境変数は別ファイルで設定、受け渡しされるので、明示的ですが、antiXは黙示的に渡されます。黙示的に渡された場合、子プロセスが、他の親プロセスに移動したときに、その子プロセスがどの親から環境変数を受け継いだかが特定しずらくなり、不具合の調査に時間がかかったりします。
一方で、この不具合を解消させる過程が、linuxの基本を学ぶことにもなるので、学習用としてはいいように思います。

もちろんこの欠点は、antiXも認識しているようで、リポジトリできちんと管理されているアプリについては、この分散による不具合がないように検証されているようです。
不具合がでがちなのは、レポジトリに入っていないアプリを直接導入したような時です。例えば、非オープンソースのChromeなどです。

また、GUI分散処理といっても、アイコンはWMが管理し、その置き場所はFMがpinbordという仕組みで管理するので、完全な分散でもありません(インストールする機種によっては、WMとFMの立ち上げ処理時に不具合がでることも報告されています)。

上図をみてご理解いただけるように、File-Managerがないと、デスクトップはただの飾りです。ROX、zzz はFile-Managerなので、ROXかzzzが頭についているエディションは、デスクトップにアイコンを置くことができます。
一方、minimalや無印は、デスクトップにアイコンが置けず、ただの背景のみの、中途半端なGUIとなります(minimalは別のソフトと組み合わせれば置くことが出来ます)。minimalや無印でもタスクバーからはGUIで起動はできます。
よほどのミニマリストでなければ、ROXかzzzを選択したほうがよいかと思います。

*1 : といっても詳しくはないのですが

概念図

structure.jpg

X11(X Window System)の役割

X11は実際の絵描きです。
アプリ(クライアント)は「描いて」と頼み、
Xサーバは「ディスプレイに描く」という仕事をします。

仕組み

Xorg が Xサーバの実体です。
アプリは /tmp/.X11-unix/X0 というUNIXソケットを通して通信します。
その通信経路を定義する環境変数が:
$ echo $DISPLAY
:0
 →意味:「ローカルのXサーバの0番ディスプレイに接続中」

プロセスの流れを観察してみる

antiX 環境(Rox-IceWM)では、
ログイン後のプロセス構成はおおよそ次のようになっています。

$ ps -e | grep -E 'X|icewm|rox'

想定出力:

835 ? 00:00:01 Xorg
980 ? 00:00:00 slim
1150 ? 00:00:00 icewm-session
1151 ? 00:00:00 icewm
1153 ? 00:00:00 rox

説明:
プロセス役割
Xorg画面描画サーバ(X11)
slimログインマネージャ
icewm-sessionIceWM本体+補助起動管理
icewmウィンドウ枠・パネル制御
roxデスクトップ描画(Pinboard)

ウィンドウマネージャ(WM)の役割

X11だけでは「枠線・タイトルバー・移動」などは一切できません。
それを実現するのが WM(Window Manager) です。

IceWM の例

アプリをウィンドウに包み、マウスで動かせるようにする。
タスクバー(パネル)やAlt+Tabの切替を提供。
テーマ、フォーカス動作、ショートカットを管理。

WMがやっていること

機能具体的な処理
ウィンドウ装飾枠・影・閉じるボタンを描く
配置新しいウィンドウの位置を決定
フォーカスどのウィンドウがアクティブかを管理
最小化・最大化状態変更をX11に伝える
Alt+Tab制御ウィンドウ一覧を追跡
パネル表示ウィンドウリスト・時計などを描画

設定ファイル WM関連(IceWM)

ユーザー単位設定はここにあります:

~/.icewm/
├── preferences ← ウィンドウ挙動・テーマ・パネル等
├── keys ← ショートカットキー設定
├── toolbar ← タスクバーのアイコン定義
├── menu ← メニュー構成
└── startup ← ログイン時に自動起動するコマンド


設定反映方法:

icewm --replace &


またはログアウト→再ログイン。

ファイルマネージャ(Rox-Filer)

~/.config/rox.sourceforge.net/
├── ROX-Filer/
│ ├── Options ← 設定
│ └── menus2.xml ← 右クリックメニュー
└── ROX-Filer/Pinboard/ ← デスクトップ配置情報


Roxがデスクトップを描画していることを確認:

$ ps -ef | grep rox
rox -p=antiX

まとめ:X11とWMの関係整理図

[アプリ] ─┐
↓(Xプロトコル)
[Xorg(X11)]

[ウィンドウマネージャ:IceWM]

[デスクトップ描画:Rox-Filer]


Xorg が描画面を提供

IceWM がウィンドウ操作を管理

Rox-Filer が壁紙・アイコンを描画
→ この三者が連携して「デスクトップ体験」を作っています。