Linux
 Computer >> コンピューター >  >> トラブルシューティング >> Linux

LinuxでPulseAudioが動かないときの対処法|ログアウトせずにサウンドを復活させる方法

PulseAudioサービスはさまざまな理由で停止することがあります。特に、特定のフルスクリーンゲームや動画の再生中に突然動作しなくなるケースがよく報告されています。アプリケーションが突然クラッシュしたり、xkillコマンドで強制終了させたりした場合は、PulseAudioサービスの再起動が必要になることがあります。幸い、このためにLinux PCやタブレットを完全に再起動する必要はありません。

最も一般的な対処法は、デスクトップ環境から一度ログアウトして再度ログインすることですが、これは手間がかかるうえ、必ずしも解決するとは限りません。しかも、実行中の多くのプログラムを閉じる必要もあります。実は、ターミナルで数個のコマンドを実行するだけで、オーディオデーモンを再起動し、クリアなサウンドを取り戻すことができます。ただし、再起動に反応しないアプリケーションがある場合は、そのアプリケーションだけ再起動が必要になることもあります。

ログアウトせずにPulseAudioサービスを再起動する方法

1. ターミナルから再起動する

Ctrl + Alt + Tキーを同時に押してターミナルウィンドウを開くか、使用しているGUI環境に応じてアプリケーションメニューやDashから起動してください。これらのコマンドのほとんどは管理者権限を必要としないため、bashシェルを使用している場合は$プロンプトが表示されていることを確認しましょう。tcshユーザーの場合は、whoamiコマンドを実行して、rootとしてPulseAudioサービスを起動しようとしていないことを確認しておくと安心です。

まず、pulseaudio --checkと入力してEnterキーを押し、現在インスタンスが実行中かどうかを確認します。通常、出力は何も表示されません。「0」が表示される場合もありますが、これも出力なしと同じ意味で、インスタンスが実行されていないことを示しています。もしインスタンスが実行中である旨のメッセージが表示されたら、pulseaudio -kコマンドで既存のインスタンスを終了できます。その後、あるいは最初からインスタンスが実行されていなかった場合は、pulseaudio -Dと入力して新しいインスタンスを起動します。プロセスは自動的にバックグラウンドで立ち上がり、そのままコマンドラインに制御が戻ります。

2. 「ファイル名を指定して実行」ボックスを使う

インスタンスが実行されていないことが確実なら、ターミナルを使う必要さえありません。Superキー(Windowsキー)を押しながらRを押して「ファイル名を指定して実行」ボックスを開き、pulseaudio -Dと入力します。Enterキーを押すかボタンをクリックしてコマンドを実行してください。

厳密には、このボックスからpulseaudio -kを使って既存のPulseAudioインスタンスを終了することも可能です。ターミナルを開く理由が他にない場合には便利な方法です。この一連の作業を自動化する短いbashスクリプトを作成する人もいますが、コマンド自体が非常に短いため、わざわざスクリプト化する必要性はほとんどないでしょう。

あとは動画やMMORPG、FPSなどを再び起動して、サウンドが復活したことを楽しんでください。なお、~/.pulse~/.config/pulseにあるユーザー定義の設定は、システム全体の設定よりも優先されます。頻繁に問題が発生する場合は、これらの設定ファイルの中身を確認してみるとよいでしょう。

3. 音が出ないアプリケーションへの追加対策

プログラムを実行してもまったく音が聞こえない場合は、コマンドの前にpadspを付けて起動すると、PulseAudioプロセスに正しく接続できるようになることがあります。また、ターミナルでalsamixerを起動し、音量設定が正しいかどうかも併せて確認しておきましょう。

padspを付けてSuper+Rのコマンドラインやターミナルから起動できた場合は、そのプログラムを起動するための.desktopファイルを編集しておくと便利です。bashやtcshのスクリプトに「padsp ゲーム名」(ゲーム名の部分は実際のコマンド名に置き換えてください)と記述する方法もあります。

4. 最終手段:システム全体での再起動

どうしても解決しない場合は、sudo service pulseaudio restartコマンドでシステム全体レベルのPulseAudioサービスを再起動できます。sudoから始まるコマンドのため、最近sudoを使用していなければパスワードの入力を求められます。ただし、このコマンドはサービスを広範囲にわたって有効化するものなので、第一の選択肢としては使わないようにしましょう。

ターミナルでtopbusybox topを実行すると、PulseAudioが通常どのユーザー権限で動作しているかを確認できます。ここに表示されないのであれば、そもそもPulseAudioが正しく起動していないことになります。

Page Up / Page Downキーでtopの表示をスクロールし、各サービスの項目を確認すれば、PulseAudioがシステム起動時に立ち上がるようになっているかどうかも分かります。通常はpulseaudio -kコマンドである程度判断できますが、確実に確認したい場合にはこの方法が有効です。

Xubuntu(Xfce4)ユーザー特有の注意点

他の方法がすべて上手くいかず、XubuntuなどXfce4ベースのディストリビューションを使用している場合は、LXDE・KDE・Unityユーザーには影響しない特定の不具合に遭遇している可能性があります。マシンをシャットダウンする際に「セッションを保存する」というチェックボックスが表示されますが、空のXubuntuデスクトップ上でAlt+F4を使ってシャットダウンした場合に特に顕著です。

理論上、このチェックボックスによって誤ったPulseAudio設定が毎回保存されてしまう恐れがあります。チェックを外してシステムを再起動してみてください。再起動自体は本来避けたかったところかもしれませんが、将来のトラブルを防げる可能性があります。正常に動作するようになったら、再びチェックボックスにチェックを入れて他の設定を保存しても構いません。以降は再起動の必要はなく、問題が再発した場合でもpulseaudio -Dコマンドだけで対応できるはずです。

ASUS eeePCでノイズが発生する場合

ごく一部のユーザー、特にASUS eeePCなどのモバイルデバイスでLinuxを動かしているユーザーからは、PulseAudioを再起動した後にプチプチというノイズ(クラックリング)が聞こえるという報告があります。これは珍しいドライバーの問題ですが、比較的簡単に対処できます。USBポートに何らかのUSB機器を挿入してから、PulseAudioデーモンを再起動してみてください。ヘッドホンジャックに何かを挿抜してみるのも効果的です。これにより送信される信号をオープンソースドライバーが検知し、問題を自動的に修正してくれる仕組みです。なお、プロプライエタリ(専用)ドライバーを導入してPulseAudioを利用している環境では、この問題は発生しません。


著者について

LinuxでPulseAudioが動かないときの対処法|ログアウトせずにサウンドを復活させる方法

Kevin Arrows(ケヴィン・アローズ)

Kevin Arrowsは、10年以上の業界経験を持つテクノロジースペシャリストです。Microsoft Certified Technology Specialist(MCTS)の資格を保有し、最新の技術動向を追い続けることに強い情熱を持っています。ソフトウェア開発、サイバーセキュリティ、クラウドコンピューティングなど幅広い技術分野について多数の記事を執筆しており、その専門性と知識の深さは同業者からも高く評価されています。複雑な技術的な概念を明快かつ簡潔に説明する能力にも定評があります。

  1. Linuxで音が出ない!原因別の対処法をステップバイステップで解説

    どんなに試してもLinuxから音が出ない——そんな経験はありませんか?まずは基本の確認から始めましょう。スピーカーやヘッドホンが正しく動作しているか、システムトレイの音量コントロールをチェックし、ノートパソコンやタブレット本体の音量設定も併せて確認してください。音量が極端に下げられていたり、誤ってミュートになっていたりするケースは非常によくあります。それでも解決しない場合は、再起動を試してみてください。 大多数の場合、これらの簡単な手順だけで音が出るようになります。それでもLinuxで音が出ない場合は、この先で紹介する解決策を順番に試してみてください。一見難しい問題に思えますが、いくつかのシン

  2. Linuxでディレクトリとその中身を完全に削除する方法:ステップバイステップガイド

    Linuxのコマンドラインで作業をしていて、もう使わなくなった空のディレクトリを削除したい場合は、rmdirコマンドに続けてディレクトリ名を入力するだけです。例えば「rmdir Test」と入力すると、Testディレクトリが空であれば削除されます。ただし、ディレクトリ内にファイルが1つでも残っていると、「rmdir: failed to remove Test: Directory not empty(ディレクトリが空ではないため削除できません)」というエラーメッセージが表示されます。ディレクトリとその中身をまとめて一括削除するには、いくつかの方法があります。しかし、実行する前に注意しておきた