antiXでzramを設定しFirefoxを軽量化する【第4部:メモリ2GBでの実用化】

最終回となる本記事では、メモリ2GB・ディスクswap無しという構成を安定させるzram(メモリ圧縮swap)の設定と、
実用的なブラウジング環境を作るFirefox ESR + uBlock Originのセットアップを記録する。
特にzramは、antiXが非systemd(runit)構成のためsystemctlが使えず、一般的な記事の手順が通用しない。
その回避方法(/usr/sbin/zramswapの直接起動)まで具体的に扱う。
「antiX zram 設定」「古いノートPC メモリ不足 Linux」で調べている人向けの実践編。

  • 第1部:OS選定と機種評価
  • 第2部:インストールと初期セットアップ
  • 第3部:日本語入力の設定
  • 第4部(本記事):メモリ最適化とブラウザ

なぜzramが必要か

第1部・第2部で述べた通り、この構成には次の前提がある。

  • メモリは2GB(増設不可)
  • HDDが実測25MB/sと激遅なため、ディスク上にswapを作らなかった

swapが無いと、メモリを使い切ったときにアプリが強制終了のリスク。
かといって遅いHDDにswapを置くと、メモリ不足時にフリーズ同然になる。

この矛盾を解決するのがzramである。zramはメモリの一部を圧縮領域として確保し、そこをswapとして使う。
ディスクアクセスが一切発生しないため、遅いHDDのVAIOでも速度を犠牲にせずメモリ不足の保険をかけられる。追加コストはゼロ。


ステップ1:現状確認

まず、zramが既に有効になっていないか確認する。

zramctl
  • 表が表示され/dev/zram0などの行がある → 既に有効。設定不要
  • 何も表示されない → これから設定する(筆者の環境はこちら)
  • コマンドが見つからない → ツール自体が未インストール


ステップ2:zram-toolsのインストール

sudo apt install zram-tools


ステップ3:割り当てサイズの設定

設定ファイルを開く。

sudo geany /etc/default/zramswap


PERCENT=の行で、実メモリの何%をzramに割り当てるかを決める。メモリ2GBのこの機体では50%(約1GB)が定番でバランスが良い

PERCENT=50

筆者の環境では、この設定はデフォルトで既にPERCENT=50になっていた。その場合は変更不要。


ステップ4:zramの起動 ― antiX(非systemd)での注意点

ここでantiX特有の問題に当たる。一般的な記事では次のように起動する。


sudo systemctl restart zramswap


しかしantiXはsystemdを使わない構成(runit/sysvinit)なので、systemctlは効かない。
またservice zramswap restartも、次のようなエラーになることがある。

grep: /etc/init.d/zramswap: そのようなファイルやディレクトリはありません

zramswap: unrecognized service


これは、zram-toolsが用意するsystemd用のサービス定義が、runit環境ではそのまま登録されないために起こる。
パッケージは正しく入っているが、起動役が噛み合っていない状態である。


解決:スクリプトを直接実行する

パッケージが配置したファイルの正確な場所を確認する。

dpkg -L zram-tools


出力から、実行スクリプトが/usr/sbin/zramswapにあることが分かる
(systemd用の/usr/lib/systemd/system/zramswap.serviceも同梱されているが、これはantiXでは使わない)。
スクリプトを直接呼ぶ。

sudo zramswap start


成功メッセージの読み方(重要)

このとき、次のような出力が出る。


logger: socket /dev/log: そのようなファイルやディレクトリはありません
Setting up swapspace version 1, size = 1000.9 MiB (1049497600 bytes)
no label, UUID=...


一見エラーに見えるが、これは成功している
上のブロックは実際の出力をそのまま転記したものなので、自分の画面の表示と1行ずつ照合してほしい。

  • Setting up swapspace ... size = 1000.9 MiB ← これが「約1GBのswapを作成した」という成功メッセージ
  • 冒頭のlogger: socket /dev/log ...無害な警告。runit環境でログ記録サービス(/dev/log)が動いていないために出るだけで、zramの動作には影響しない

「エラーが出た」と早合点しやすいが、実際にはこの警告を無視してよい。
切り分けのため、実際にswapが効いているか確認する。

free -h


Swap:の行に1.0Gi前後が出ていれば、zramがswapとして機能している。


ステップ5:zramの自動起動設定

sudo zramswap startは手動実行なので、再起動すると消える。
ログイン時に自動で立ち上げるため、第3部でも使った~/.desktop-session/startupに登録する。

geany ~/.desktop-session/startup


末尾に追記。

## zram(メモリ圧縮swap)を有効化

sudo /usr/sbin/zramswap start


sudoのパスワード問題を回避する

上記のままだと、sudoが起動時にパスワードを要求して自動実行が止まる。
そこで、このzramswapコマンドだけはパスワード不要で実行できるようにする。

echo "$USER ALL=(ALL) NOPASSWD: /usr/sbin/zramswap" | sudo tee /etc/sudoers.d/zramswap

これでzramswapコマンドに限りパスワードなしで実行でき、起動時に自動でzramが立ち上がる。
次回再起動後、free -hでSwapが1GB出ていれば自動起動まで含めて完成。


補足/etc/sudoers.d/にファイルを置く方式は、特定のコマンドだけに絞ってパスワード免除を与えるやり方。
sudoers本体を直接編集するより安全で、後から/etc/sudoers.d/zramswapを削除するだけで元に戻せる。


ステップ6:Firefox ESRのインストール

antiXにはFirefox ESR本体が最初から入っていることが多い。日本語化パックだけ追加する形になる。

sudo apt install firefox-esr firefox-esr-l10n-ja
  • firefox-esr:本体(既に入っていれば「最新です」と表示され、スキップされる)
  • firefox-esr-l10n-ja:日本語化パック(メニュー等が日本語になる)

本体が既にインストール済みでも、この2つを同時に指定して問題ない。未導入の日本語化パックだけが追加される。

起動確認。


firefox-esr &


初回起動はHDDが遅いため少し待つ。立ち上がってサイトが表示できればOK。


ステップ7:uBlock Origin ― 非力マシンでは必須級

この機体では、uBlock Originの導入が体感速度に最も効く。 コマンドではなくFirefox上での操作になる。

  1. Firefoxで以下にアクセス

https://addons.mozilla.org/ja/firefox/addon/ublock-origin/
  1. 「Firefoxへ追加」→ 確認ポップアップで「追加」
  2. アドレスバー右に盾型のアイコンが出れば完了。設定は初期状態のままで十分


なぜ非力マシンほど効くのか

ニュースサイト等が重い主因は、ページ本体ではなく広告や追跡スクリプトの読み込み・実行である。
Atomのシングルコアではここが致命的なボトルネックになる。
uBlock Originはこれらを最初から読み込ませないため、表示速度・スクロールの軽さ・メモリ消費のすべてが改善する。
費用対効果が最も高い一手と言える。

完成 ― セットアップ項目の全体像


以上で、当初計画した全項目が完了した。振り返ると次の通り。

フェーズ内容キーポイント
OS選定antiX-26(32bit)Atom Z520が32bit限定 → ChromeOS Flex等は不可
インストールUSB作成〜HDDインストールF11一時起動、swap作らずMBR/ext4
ミラー切替日本のミラーへギリシャのミラーが不調 → Repo Managerで変更
日本語入力fcitx5-mozc/etc/environment~/.desktop-session/startup
メモリ最適化zram 1GB非systemdのため/usr/sbin/zramswapを直接起動
ブラウザFirefox ESR+uBlock Origin広告ブロックで体感速度を確保


インストールしたパッケージ一覧(参照用)

im-config              # 入力メソッド設定(結果的にメインでは使わず)
fcitx5-mozc            # 日本語入力(Mozc = Google日本語入力のOSS版)
fcitx5-configtool      # fcitx5の設定GUI
zram-tools             # zram管理ツール
firefox-esr            # ブラウザ本体(多くの場合プリインストール済み)
firefox-esr-l10n-ja    # Firefox日本語化パック


編集した設定ファイル一覧(参照用)

/etc/apt/sources.list.d/*.list   # ミラーサーバーの変更
/etc/environment                 # 入力メソッドの環境変数(GTK/QT/XMODIFIERS)
/etc/default/zramswap            # zram割り当て率(PERCENT=50)
/etc/sudoers.d/zramswap          # zramswapのパスワード免除
~/.desktop-session/startup       # fcitx5とzramの自動起動


今後の運用上の注意

  • Firefox ESRの32bit Linux版は2026年9月でサポート終了(ESR140が最終)。
    以降はセキュリティ更新が止まるため、パスワード入力やネットバンキング等の機微な操作は避け、閲覧中心の運用に。
    必要なら独自エンジンのPale Moon(32bit現役)への移行を検討する
  • HDDが物理的に劣化してきたら(異音・頻繁なフリーズ)、その時点でmSATA SSD+mSATA-ZIF変換アダプタによる換装を検討する。
    体感速度はCPUよりストレージで詰まることが多いため、延命策としては最もコスパが良い


おわりに

17年前のマシンが、2026年のantiX-26で日本語入力もブラウジングもこなす実用機として復活。
※ただ、一般のWebサイトにアクセスすると、もっさりは否めず。。。

最大の難所は日本語入力の環境変数問題で、一般的なDebian/Ubuntu向けの情報がantiX(IceWM + runit)ではそのまま通用しない点に何度もつまずいた。本シリーズが、同じ構成で同じ壁に当たった人の助けになれば幸いである。

非力なマシンを現代のソフトウェアでどこまで実用に耐えさせられるか、という制約の中での工夫は、それ自体が面白い遊びだった。
スペックの限界を嘆くより、その機体固有の強み(携帯性・キーボード・省電力)を活かす用途に寄せていく発想の転換が、この手の再生プロジェクトの肝だと思う。

そしてこれは、限られた予算やレガシーな環境の中で「今あるものをどう最大限に活かすか」を考える、日々の仕事の縮図。
同じような「制約の中での最適化」を、Web制作やシステム開発、業務のデジタル化といった場面で一緒に考えてほしい方がいれば、気軽に声をかけてほしい。


本シリーズは、2026年7月時点の作業記録に基づく。ディストリのバージョンやパッケージ名は今後変わる可能性がある。