検索条件
全45件
(1/9ページ)
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)に一致します。
sudo nano /etc/rc.localexit 0 の 直前 に下記を追記:
/usr/sbin/ntpdate -u ntp.nict.jp保存して再起動:
sudo rebootこれで、起動するたびに日本標準時サーバ(NICT)へ自動同期します。
| 項目 | 内容 |
|---|---|
| ハードウェア | 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) |
| 2 | USBヘッドセットの再生・録音確認 | 左右ステレオ再生、USBマイク録音 |
| 3 | 音量・ゲイン最適化 | 小音量・歪みを解消し実用レベルへ |
| 4 | Zoom導入と依存解決 | .deb 導入・依存インストール・起動確認 |
| 5 | 起動方式の最適化 | アイコンクリック/URLクリック運用、常駐不要 |
| 6 | 異常終了後のクリーンナップ | kill無しの掃除スクリプトをデスクトップアイコン化 |
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 |
# 再生テスト(左右確認) 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% |
# 再生は 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` で確認 |
# 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 |
alsamixer # ←/→ で項目移動、↑/↓ で音量、M でミュート解除、SpaceでCAPTURE alsamixer -c 1 # USBカード側
| 項目 | 操作 |
|---|---|
| Master/PCM/Headphone | 再生側の音量を上げる |
| Mic/Capture | 入力ゲインを調整、CAPTUREフラグをON |
| 項目 | 要点 |
|---|---|
| 構造 | カーネルドライバ+ライブラリ+ユーザーコマンドで構成 |
| 役割 | 音声デバイスの認識・再生・録音・ミキサー制御 |
| 代表モジュール | snd_hda_intel, snd_usb_audio, snd_soc_* |
| 設定 | /etc/asound.conf, ~/.asoundrc |
| 他システムとの関係 | PulseAudioやPipeWireはALSAを下層として利用 |
| 特長 | 軽量・低遅延・組込み適性高い |
| 限界 | 同時再生制約/設定が難解な場合あり |
| 層 | 構成要素 | 役割 |
|---|---|---|
| カーネル層 | ALSAドライバ(snd_* モジュール) | ハードウェアデバイスと直接通信(例:snd_hda_intel) |
| ライブラリ層 | libasound.so(ALSAライブラリ) | アプリケーションからのAPI呼び出しを抽象化 |
| ユーザー層 | aplay, arecord, alsamixer, amixer, alsactl など | 音声再生・録音・音量制御などの操作コマンド |
| 機能 | 説明 | 代表的コマンド/設定 | |
|---|---|---|---|
| デバイス認識 | サウンドカード・USBヘッドセット・HDMI音声の自動検出 | aplay -l, arecord -l, /proc/asound/cards | |
| ドライバ管理 | snd_hda_intel などのモジュールを通じてHW制御 | lsmod | grep snd |
| PCM再生・録音 | アナログ/デジタル音声データを送受信 | aplay, arecord | |
| ミキサー制御 | 音量調整・ミュート・入力選択 | amixer, alsamixer | |
| 構成管理 | デバイス優先順位・仮想デバイス定義 | /etc/asound.conf, ~/.asoundrc | |
| 状態保持 | 再起動後も音量設定を保存/復元 | alsactl store, alsactl restore |
| デバイス種別 | 説明 | 例 |
|---|---|---|
| ハードウェアデバイス(hw) | 物理カードに直接アクセス | hw:0,0(card0, device0) |
| プラグデバイス(plughw) | 自動的にサンプリング変換やフォーマット調整 | plughw:1,0(USBで推奨) |
| デフォルトデバイス | asound.conf に定義された標準出力 | default |
| 仮想デバイス | ソフトミキサ(dmix等)を通じて複数アプリから共有 | default, dmix, pulse |
| 階層 | 役割 | 例 |
|---|---|---|
| アプリケーション | 音楽プレイヤー、Zoom、Teams等 | aplay, Firefox, Zoom |
| PulseAudio/PipeWire | 複数アプリの音声を統合・転送 | pavucontrol, pipewire |
| ALSAライブラリ | アプリ → カーネルの橋渡し | libasound.so |
| ALSAドライバ | ハードウェア直接制御 | snd_hda_intel, snd_usb_audio |
| ファイル | 目的 | 主な内容 |
|---|---|---|
| /etc/asound.conf | システム全体の既定設定 | デフォルトデバイス指定、仮想デバイス定義 |
| ~/.asoundrc | ユーザー単位の上書き設定 | ユーザー独自の音量・デバイス設定 |
| bash |
| コマンド | 目的 | 備考 |
|---|---|---|
| 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 |
| 観点 | 特徴 | 補足 |
|---|---|---|
| 軽量性 | PulseAudioより低負荷 | 組み込み・軽量Linuxで主流 |
| 遅延 | 非常に低レイテンシ | リアルタイム性に強い |
| 共有 | 単体では1デバイス1アプリ制約 | dmix により同時再生可 |
| 拡張性 | 設定柔軟だが複雑 | PulseAudioで抽象化される傾向 |
| 項目 | 内容 |
|---|---|
| ハードウェア | Panasonic Let's note CF‑LX5(i5‑6300U、RAM 4GB) |
| ディストリビューション | antiX Linux 64bit(runit版) |
| サウンド | Realtek ALC256 / HDA Intel PCH、USB Audio Headset |
| 段階 | 内容 | 成果 |
|---|---|---|
| A | Zoom導入と依存解決 | .deb 導入・依存インストール・起動確認 |
| B | 起動方式の最適化 | アイコンクリック/URLクリック運用、常駐不要 |
| C | 異常終了後のクリーンナップ | kill無しの掃除スクリプトをデスクトップアイコン化 |
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 &` |
| 項目 | 設定 |
|---|---|
| スピーカー | USB Audio Device |
| マイク | USB Audio Device |
| マイク自動調整 | ON |
| ノイズ抑制 | 自動/中 |
| HD映像/高忠実度 | OFF(軽量化) |
| 起動経路 | 指定 | 常駐 |
|---|---|---|
| ターミナル | `zoom` または `zoom &` | しない(ウィンドウ閉で終了) |
| アイコン(.desktop) | `Exec=/usr/bin/zoom %U` | しない(`%U`はURL受け渡し) |
| nohup運用(特殊) | `nohup zoom >/dev/null 2>&1 & ; disown` | 端末切断でも継続 |
| 記述 | 意味 |
|---|---|
| `Exec=zoom` | 単純起動。GUIランチャは非同期で起動するため `&` 不要 |
| `Exec=/usr/bin/zoom %U` | URL(複数)を引数として受け取り、ミーティングリンクを直接開ける |
# 本体:/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
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` |
| 症状 | 原因 | 即解 |
|---|---|---|
| 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を渡すトークン | ミーティングリンク連携用(常駐ではない) |
| 項目 | 状態 |
|---|---|
| 内蔵オーディオの再生/録音 | OK |
| USBヘッドセットの再生(2ch) | OK |
| USBマイクの録音(16bit/44.1kHz) | OK |
| Zoom の起動・音声テスト | OK |
| デスクトップ「Zoom Cleanup」 | 動作/通知確認済 |
| 項目 | 内容 |
|---|---|
| 目的 | chronyd を runit 管理で常時稼働させ、NTP自動同期を行う |
| 既知の落とし穴 | /var/service ではなく **/etc/service** にリンクする/サービス定義(run, log/run)の実体必須 |
dpkg -l chrony >/dev/null 2>&1 || (sudo apt update && sudo apt install -y chrony) command -v chronyd || echo "chronyd が見つかりません(chrony のインストールを確認)" 期待:`/usr/sbin/chronyd` などが表示される。
# サービス定義ディレクトリ & ログ用ディレクトリ sudo mkdir -p /etc/sv/chronyd/log/main sudo mkdir -p /var/log/chronyd # run スクリプト作成(前面・デーモンログ出力のため -d) sudo tee /etc/sv/chronyd/run >/dev/null <<'EOF' #!/bin/sh exec /usr/sbin/chronyd -f /etc/chrony/chrony.conf -d EOF sudo chmod +x /etc/sv/chronyd/run # log/run(svlogd で /var/log/chronyd に記録) sudo tee /etc/sv/chronyd/log/run >/dev/null <<'EOF' #!/bin/sh exec svlogd -tt /var/log/chronyd EOF sudo chmod +x /etc/sv/chronyd/log/run検証:
ls -l /etc/sv/chronyd /etc/sv/chronyd/log # → run と log/run に +x が付いていること
# 監視ディレクトリを用意(存在すればOK) sudo mkdir -p /etc/service # (誤登録の掃除:任意)/var/service に古いリンクがあれば削除 sudo rm -f /var/service/chronyd 2>/dev/null || true # 正しい監視先へリンク(上書き安全) sudo ln -sfn /etc/sv/chronyd /etc/service/chronyd検証:
ls -l /etc/service/chronyd # → /etc/service/chronyd -> /etc/sv/chronyd
# 絶対パス指定だとより確実 sudo sv start /etc/service/chronyd sudo sv status /etc/service/chronyd 期待: >|text| run: chronyd: (pid XXXX) Ns
# 推奨サーバーを先頭に差し込み(重複行があれば適宜整理) sudo sed -i '1iserver ntp.nict.jp iburst\nserver ntp.jst.mfeed.ad.jp iburst' /etc/chrony/chrony.conf # 設定反映 sudo sv restart /etc/service/chronyd # 同期状況の確認 chronyc sources -v chronyc tracking 期待例: >|text| Reference ID : (ntp.nict.jp) System time : ... seconds fast/slow of NTP time
sudo hwclock --systohc sudo hwclock --show # 表示がシステム時刻と一致すること
| 目的 | コマンド | 期待出力 |
|---|---|---|
| サービスの稼働 | `sudo sv status /etc/service/chronyd` | `run: chronyd: ...` |
| リンクの正しさ | `readlink -f /etc/service/chronyd` | `/etc/sv/chronyd` |
| run/log 実体の有無 | `ls -l /etc/sv/chronyd /etc/sv/chronyd/log` | `run` と `log/run` が +x |
| chronyd 実体 | `which chronyd` | `/usr/sbin/chronyd` |
| 同期状況 | `chronyc tracking` | 偏差(offset)が小さい |
| ログ | `tail -n 50 /var/log/chronyd/current strings tail` | 起動・同期ログあり |
| 症状 | 原因 | 対処 |
|---|---|---|
| `fail: chronyd: unable to change to service directory` | /etc/service ではなく /var/service にリンク/または run 実体が無い | `sudo ln -sfn /etc/sv/chronyd /etc/service/chronyd` を作り直す/手順2で run/log/run を作る |
| `506 Cannot talk to daemon` | chronyd が起動していない | `sudo sv start /etc/service/chronyd` 後に `chronyc tracking` |
| `sv status chronyd` で見つからない | sv の探索先と不一致 | 絶対パスで操作:`sudo sv status /etc/service/chronyd` |
| ログが出ない | log/run 不在/権限なし | log/run 作成&`chmod +x`、`/var/log/chronyd` の存在確認 |
| 同期が遅い | 外部到達性/DNS/サーバ選定 | `server ntp.nict.jp iburst` 等の設定見直し、`chronyc sources -v` の到達性確認 |
sudo chronyc -a makestep **補足:GUIログイン後の再同期待ちを入れる(任意) >|bash| echo '(sleep 15 && chronyc -a makestep) &' >> ~/.desktop-session/startup