antix-デフォルトセッションタイプの設定

2025/11/01

デフォルトセッション

24種以上の中から、WM(Window Manager)とファイルマネージャーを決めたら、デフォルト設定しておきましょう。
設定しておけばログイン画面で、設定したデフォルトセッション名があらかじめセットされます。
ふとした瞬間に、違う組み合わせでログインしたり、なんか違う設定になったりしますので。

/etc/slimski.local.conf を修正します。これは、antixコントロールセンタ→(左メニュー)システム→設定ファイルの編集→slimski.local.confの選択、からもいくことができます。

60行目付近にAvaleble sessiontypes
66行目付近にyou can also se here the default session type

があります。
Avaleble sessiontypesの一番最初に自分のタイプを配置します。カンマで区切り、スペースは入れてはいけないので注意です。

you can also se here the default session type には 唯一デフォルトだけを記載します。

デフォルトユーザー

125行目あたりに、default user の設定項目があります。デフォルトではコメントアウトしてあるので、ユーザー名を記入して、#を削除します。

antiX-時刻合わせsysVint

2025/10/31

antiX(sysvinit版)での正しい時刻合わせ方法

方法①:ntpdate(最も簡単)

インストール
sudo apt update
sudo apt install -y ntpdate
一度だけ手動で同期
sudo ntpdate ntp.nict.jp
出力例:
29 Oct 00:45:23 ntpdate[2103]: adjust time server 133.243.238.164 offset -0.003456 sec
→ これで即座に日本標準時刻(NICT)に一致します。

方法②:起動時に自動で同期させる

手動で合わせるだけでは再起動後にまたズレるため、
毎回起動時に ntpdate を実行する設定を追加しておきます。

/etc/rc.local を編集
sudo nano /etc/rc.local
exit 0 の 直前 に下記を追記:
/usr/sbin/ntpdate -u ntp.nict.jp
保存して再起動:
sudo reboot
これで、起動するたびに日本標準時サーバ(NICT)へ自動同期します。

antiXのマイク、スピーカー設定

2025/10/31
antiX(runit 版/rox‑iceWM)を搭載した Let's note CF‑LX5 において、内蔵オーディオとUSBヘッドセットを確実に動かします。

検証環境(実機)

項目内容
ハードウェアPanasonic Let's note CF‑LX5(i5‑6300U、RAM 4GB)
ディストリビューションantiX Linux 64bit(runit版)
サウンドRealtek ALC256 / HDA Intel PCH、USB Audio Headset

ゴール

段階内容成果
1内蔵スピーカー・マイクの認識確認ALSAで認識(再生/録音OK)
2USBヘッドセットの再生・録音確認左右ステレオ再生、USBマイク録音
3音量・ゲイン最適化小音量・歪みを解消し実用レベルへ
4Zoom導入と依存解決.deb 導入・依存インストール・起動確認
5起動方式の最適化アイコンクリック/URLクリック運用、常駐不要
6異常終了後のクリーンナップkill無しの掃除スクリプトをデスクトップアイコン化

1. ALSA でデバイス認識を確認

aplay -l
arecord -l
lspci | grep -i audio
lsmod | grep snd
amixer
確認ポイント目安
内蔵再生`card 0: PCH … ALC256 Analog`
HDMI`HDMI 0/1/2` が列挙
内蔵録音`arecord -l` に ALC256 Capture
ドライバ`snd_hda_intel` / `snd_usb_audio` など
音量`amixer` で Playback on / Capture on

2. 内蔵スピーカー・マイクの動作確認

# 再生テスト(左右確認)
speaker-test -c2 -t wav

# 録音→再生(5秒)
arecord -d 5 test.wav
aplay test.wav
症状対処
無音`alsamixer` で Mute解除(MM→00)、音量↑
録音が割れる`amixer set Capture 70%`、または `alsamixer` でCapture 70–85%

3. USBヘッドセットの認識とチャンネル不一致の回避

# 再生は 2ch を明示(モノラルファイルは避ける)
speaker-test -D hw:1,0 -c 2 -t wav

# 端末表示で再生デバイスを確認(参考)
cat /proc/asound/pcm
要点解説
チャンネル不一致USBはステレオ専用ことが多い→ `-c 2` 指定
デバイス番号`hw:1,0` / `hw:1,1` は `cat /proc/asound/pcm` で確認

4. USBマイクの録音(形式を明示して失敗回避)

# 16bit/44.1kHz/モノラルで録音(VUメーター付き)
arecord -D plughw:1,0 -f S16_LE -r 44100 -c 1 -V mono -d 5 test_usb.wav
aplay -D plughw:1,0 test_usb.wav

# もし capture が 1,1 側なら
arecord -D plughw:1,1 -f S16_LE -r 44100 -c 1 -V mono -d 5 test_usb2.wav
aplay -D plughw:1,0 test_usb2.wav
症状対処
録音できない/無音`-f S16_LE -r 44100 -c 1` を必ず付ける
小音量`alsamixer -c 1` → Capture/Mic を 70–90%、CAPTUREフラグON

5. ミキサー操作の最小要領(alsamixer)

alsamixer          # ←/→ で項目移動、↑/↓ で音量、M でミュート解除、SpaceでCAPTURE
alsamixer -c 1     # USBカード側
項目操作
Master/PCM/Headphone再生側の音量を上げる
Mic/Capture入力ゲインを調整、CAPTUREフラグをON

Linux の音声機能を理解する上で、ALSA(Advanced Linux Sound Architecture) は中核です。
以下では、初心者にも内部構造がわかるように、機能と役割を体系的に説明します。

ALSAとは

Advanced Linux Sound Architecture の略。
Linuxカーネルに組み込まれた「音声入出力の標準サブシステム」で、
現在では OSS(Open Sound System)に代わる事実上の標準 です。
項目要点
構造カーネルドライバ+ライブラリ+ユーザーコマンドで構成
役割音声デバイスの認識・再生・録音・ミキサー制御
代表モジュールsnd_hda_intel, snd_usb_audio, snd_soc_*
設定/etc/asound.conf, ~/.asoundrc
他システムとの関係PulseAudioやPipeWireはALSAを下層として利用
特長軽量・低遅延・組込み適性高い
限界同時再生制約/設定が難解な場合あり

ALSAの構成

ALSAは大きく3層で構成されています。
構成要素役割
カーネル層ALSAドライバ(snd_* モジュール)ハードウェアデバイスと直接通信(例:snd_hda_intel)
ライブラリ層libasound.so(ALSAライブラリ)アプリケーションからのAPI呼び出しを抽象化
ユーザー層aplay, arecord, alsamixer, amixer, alsactl など音声再生・録音・音量制御などの操作コマンド

ALSAが担う主な機能

機能説明代表的コマンド/設定
デバイス認識サウンドカード・USBヘッドセット・HDMI音声の自動検出aplay -l, arecord -l, /proc/asound/cards
ドライバ管理snd_hda_intel などのモジュールを通じてHW制御lsmodgrep snd
PCM再生・録音アナログ/デジタル音声データを送受信aplay, arecord
ミキサー制御音量調整・ミュート・入力選択amixer, alsamixer
構成管理デバイス優先順位・仮想デバイス定義/etc/asound.conf, ~/.asoundrc
状態保持再起動後も音量設定を保存/復元alsactl store, alsactl restore

ALSAデバイスの概念

デバイス種別説明
ハードウェアデバイス(hw)物理カードに直接アクセスhw:0,0(card0, device0)
プラグデバイス(plughw)自動的にサンプリング変換やフォーマット調整plughw:1,0(USBで推奨)
デフォルトデバイスasound.conf に定義された標準出力default
仮想デバイスソフトミキサ(dmix等)を通じて複数アプリから共有default, dmix, pulse

ALSAとPulseAudio/PipeWireの関係

ALSAは最下層の音声I/Oを担い、PulseAudioやPipeWireはその上で動く「ミキサー兼ルーティング層」です。
階層役割
アプリケーション音楽プレイヤー、Zoom、Teams等aplay, Firefox, Zoom
PulseAudio/PipeWire複数アプリの音声を統合・転送pavucontrol, pipewire
ALSAライブラリアプリ → カーネルの橋渡しlibasound.so
ALSAドライバハードウェア直接制御snd_hda_intel, snd_usb_audio
つまり、PulseAudioも最終的にはALSAを経由して出力しています。

ALSA設定ファイルの概要

ファイル目的主な内容
/etc/asound.confシステム全体の既定設定デフォルトデバイス指定、仮想デバイス定義
~/.asoundrcユーザー単位の上書き設定ユーザー独自の音量・デバイス設定
例:USBをデフォルト出力にする設定
bash
defaults.ctl.card 1
defaults.pcm.card 1

ALSAの代表的コマンド

コマンド目的備考
aplay再生aplay -D hw:1,0 sample.wav
arecord録音arecord -D plughw:1,0 -f S16_LE -r 44100 -c 1 test.wav
amixer音量設定(CLI)amixer set Master 70%
alsamixer音量設定(CUI)グラフィカルなTUI
alsactl設定保存/復元alsactl store/alsactl restore

ALSAの特徴と限界

観点特徴補足
軽量性PulseAudioより低負荷組み込み・軽量Linuxで主流
遅延非常に低レイテンシリアルタイム性に強い
共有単体では1デバイス1アプリ制約dmix により同時再生可
拡張性設定柔軟だが複雑PulseAudioで抽象化される傾向

antiXでWEB会議-zoom編

2025/10/31
音声設定はこちら

外出先でWEB会議。これ絶対必要なので、zoomアプリをいれました。まあ、ブラウザでも参加はできるのですが、アプリもやってみましょう。

検証環境(実機)

項目内容
ハードウェアPanasonic Let's note CF‑LX5(i5‑6300U、RAM 4GB)
ディストリビューションantiX Linux 64bit(runit版)
サウンドRealtek ALC256 / HDA Intel PCH、USB Audio Headset

ゴール

段階内容成果
AZoom導入と依存解決.deb 導入・依存インストール・起動確認
B起動方式の最適化アイコンクリック/URLクリック運用、常駐不要
C異常終了後のクリーンナップkill無しの掃除スクリプトをデスクトップアイコン化

1. Zoom の導入(.deb からインストール)

cd ~/Downloads
wget https://zoom.us/client/latest/zoom_amd64.deb

# 依存関係込みで導入
sudo dpkg -i zoom_amd64.deb || true
sudo apt -f install -y

# 不足が出たら(例)
sudo apt install -y libxcb-xtest0 libxcb-cursor0
sudo dpkg --configure -a
確認コマンド
インストール済`dpkg -l | grep zoom`
配置`ls /opt/zoom/ZoomLauncher`
起動`zoom &` または `/opt/zoom/ZoomLauncher &`

2. Zoom の音声設定(推奨)

項目設定
スピーカーUSB Audio Device
マイクUSB Audio Device
マイク自動調整ON
ノイズ抑制自動/中
HD映像/高忠実度OFF(軽量化)

3. 起動方式の整理(常駐は不要)

起動経路指定常駐
ターミナル`zoom` または `zoom &`しない(ウィンドウ閉で終了)
アイコン(.desktop)`Exec=/usr/bin/zoom %U`しない(`%U`はURL受け渡し)
nohup運用(特殊)`nohup zoom >/dev/null 2>&1 & ; disown`端末切断でも継続

4. .desktop の基礎(`&` は不要/`%U` の意味)

記述意味
`Exec=zoom`単純起動。GUIランチャは非同期で起動するため `&` 不要
`Exec=/usr/bin/zoom %U`URL(複数)を引数として受け取り、ミーティングリンクを直接開ける

5. 異常終了後のクリーンナップ

kill は行わず、残骸のみ削除(通知はオプション)。
# 本体:/usr/local/bin/zoomtidy
sudo tee /usr/local/bin/zoomtidy >/dev/null <<'EOS'
#!/bin/sh
rm -rf "$HOME/.zoom/tmp" 2>/dev/null
find "$HOME/.zoom" -maxdepth 2 -type f \( -name '*.lock' -o -name '*.tmp' \) -delete 2>/dev/null
find /tmp -maxdepth 1 -name 'zoom*' -delete 2>/dev/null
# 任意の通知(ある場合だけ)
if command -v yad >/dev/null 2>&1; then
  yad --title="Zoom Cleanup" --text="Cleaned leftover files." --button=OK:0 >/dev/null 2>&1
elif command -v notify-send >/dev/null 2>&1; then
  notify-send "Zoom Cleanup" "Cleaned leftover files."
elif command -v xmessage >/dev/null 2>&1; then
  xmessage -center "Zoom leftovers cleaned."
fi
EOS
sudo chmod +x /usr/local/bin/zoomtidy

6. デスクトップアイコン(ユーザー領域に配置)

Rox‑iceWM では、デスクトップ上の .desktop に **実行権(+x)** が必要。
mkdir -p ~/.local/share/applications
tee ~/.local/share/applications/zoomtidy.desktop >/dev/null <<'EOS'
[Desktop Entry]
Type=Application
Name=Zoom Cleanup
Comment=Cleanup leftover files after abnormal exit
Exec=/usr/local/bin/zoomtidy
Icon=zoom
Terminal=false
Categories=Utility;
EOS

cp ~/.local/share/applications/zoomtidy.desktop ~/Desktop/
chmod +x ~/Desktop/zoomtidy.desktop
確認コマンド
本体の実行権`ls -l /usr/local/bin/zoomtidy` → `-rwxr-xr-x`
アイコンの実行権`ls -l ~/Desktop/zoomtidy.desktop` → `-rwxr-xr-x`
手動実行`/usr/local/bin/zoomtidy`

7. 代表的なハマりどころと即解

症状原因即解
USB再生が無音チャンネル不一致(1ch)`speaker-test -D hw:1,0 -c 2 -t wav`
USB録音が無音フォーマット不一致`arecord -D plughw:1,0 -f S16_LE -r 44100 -c 1`
小音量/遠いCAPTURE未有効/ゲイン不足`alsamixer -c 1` で Capture 70–90%、CAPTURE ON
Zoom が再起動できない残骸(*.lock / /tmp/zoom*)`zoomtidy` 実行→再起動
`Exec=zoom &` と書いた`&` はシェル記法.desktop の Exec では `&` 不要
`%U` の意味が不明URLを渡すトークンミーティングリンク連携用(常駐ではない)

8. 仕上げのチェックリスト

項目状態
内蔵オーディオの再生/録音OK
USBヘッドセットの再生(2ch)OK
USBマイクの録音(16bit/44.1kHz)OK
Zoom の起動・音声テストOK
デスクトップ「Zoom Cleanup」動作/通知確認済

付記

通知はオプションです(yad / notify-send / xmessage の有無で自動分岐)。常駐運用は本環境では不要であり、アイコンクリック/URLクリックでの起動を前提にしています。