Sailfish OS を DAP として使うときの設定メモ (追補)
4.5.x にアップデートしたら USB オーディオが起動時に ALSA 側でミュートされるようになってしまったため、その解除を試みた経緯をメモする。基本的な設定は 前のエントリ 参照。
Version
Sailfish OS 4.5.0.18
経緯
1. ALSA の設定
一番簡単な方法は
$ alsamixer -c 0
で m
を押すとミュートを解除できる。(card
番号は事前に cat /proc/asound/cards
などで確認)
この設定を
# alsactl store
で保存しようとしたが、以下のエラーで詰まる。
alsactl: get_control255: Cannot read control '2.0.0,Voice Rx Device Mute,0': Operation not permitted
一方、 amixer
コマンドで以下により同じことができる。
$ amixer set Speaker,0 100%,100% unmute
もう alsactl
は諦めて、このコマンドを起動時に流せばいいんじゃね?という発想により2.に続く。
2. systemd の設定
参考
How to start a script at boot? - #17 by poetaster - General - Sailfish OS Forum
上記を参考に ~/.config/systemd/user/
に autostart.service
を以下の内容で作成する。ExecStart
には1.で示したコマンドを入れ込む。
[Unit] Description=Execute commands at startup [Service] Type=Oneshot ExecStart=/bin/bash -c 'amixer set Speaker,0 100%,100% unmute' [Install] WantedBy=post-user-session.target
参考ではスクリプトファイルを分けているが、これまたうまく動かなかった短いので直書きにした。
これを以下により有効化する。
$ systemctl --user enable autostart
再起動後、自動的にミュートが解除されていることを確認する。