過去のナビゲーションリンクのスキップSecure Global Desktop 4.31 管理者ガイド > アプリケーション、ドキュメント、ホスト > X アプリケーションのサウンドの問題解決

X アプリケーションのサウンドの問題解決

サウンドが有効になっている場合は、ユーザーが X アプリケーションを起動すると、Secure Global Desktop (SGD) ログインスクリプトによりアプリケーションサーバー上で SGD オーディオデーモン (sgdaudio) が起動します。オーディオデーモンは、SGD オーディオドライバエミュレータ (sgdadem) に接続して、/tmp/SGD/dev/sgdaudio ディレクトリ内でオーディオデバイスノードを起動します。オーディオデーモンは、SGDAUDIODEV 環境変数をオーディオデバイスノードの場所に設定します。その後、アプリケーションセッション中にオーディオデバイスノードがサウンドの再生に使用されます。オーディオデーモンはオーディオデータを SGD サーバーに送信し、SGD サーバーはデータをクライアントに送信します。

直面している問題にもっとも近いものを選択してください。

サウンドがまったく再生されない

X アプリケーションセッションでサウンドがまったく再生されない場合は、次のチェックリストを使って問題を解決してください。

チェック項目 説明
Secure Global Desktop クライアントはサウンドを再生できますか。 すべてのプラットフォームの Sun Secure Global Desktop Client がサウンドを再生できます。

サウンドの再生が可能な旧クライアントの詳細は、「Secure Global Desktop リリースノート」を参照してください。

クライアントにオーディオデバイスが装備されていますか。 サウンドを再生するには、クライアントにオーディオデバイスが装備されている必要があります。クライアントにデバイスが装備されている場合は、動作することを確認してください。

Solaris Operating System (Solaris OS) または Linux クライアントデバイスのユーザーは、次のオーディオデバイスに対する読み取りおよび書き込みアクセス権を保持している必要があります。

  • Solaris Operating System (Solaris OS) プラットフォームの /dev/audio デバイス。
  • Linux プラットフォームの /dev/dsp デバイス。

Solaris OS プラットフォームで AUDIODEV 環境変数が別のデバイスに設定されている場合、Sun Secure Global Desktop Native Client は /dev/audio デバイスの前にそのデバイスを使おうとします。

クライアントデバイスが消音になっていませんか。 クライアントデバイスの音量コントロールを調べ、ユーザーが消音に設定していたり、音量レベルが聞き取れないほど低くなっていたりしないかを確認します。
SGD サーバーの UNIX オーディオサービスが有効になっていますか。 SGD アレイの UNIX オーディオサービスは、デフォルトで無効になっています。Array Manager の「Array properties」パネルで、UNIX オーディオサービスが有効になっていることを確認してください。
サウンド品質が変更されていますか。 デフォルトでは、UNIX オーディオサービスは「Medium Quality Audio」を使用します。サウンド品質を「Low Quality Audio」または「High Quality Audio」に変更すると、X アプリケーションセッションで使用されるオーディオ形式が制限され、クライアントでサウンドを再生できなくなることがあります。

Array Manager の「Array properties」パネルで、サウンド品質を「Medium Quality Audio」に戻してください。

アプリケーションサーバーと SGD サーバー間にファイアウォールが存在しますか。 SGD オーディオデーモンは、ランダムなポート上で SGD サーバーに接続します。アプリケーションサーバーと SGD サーバーの間にファイアウォールが存在する場合、ファイアウォールは、すべてのポート上で、アプリケーションサーバーから SGD サーバーへの接続をすべて許可する必要があります。
SGD Enhancement Module のオーディオモジュールをインストールしましたか。 X アプリケーションでサウンドを再生するには、SGD Enhancement Module のオーディオモジュールをアプリケーションサーバーにインストールして実行する必要があります。

SGD Enhancement Module のインストール方法の詳細については、『Secure Global Desktop インストールガイド』を参照してください。

install_dir/bin/tem startaudio コマンドを実行して、UNIX オーディオモジュールを開始します。デフォルトでは、install_dir/opt/tta_tem です。このコマンドを実行するには、root ユーザーになる必要があります。

アプリケーションサーバーが消音に設定されていませんか。 アプリケーションサーバーまたはアプリケーションの音量コントロールを調べ、ユーザーが消音に設定していたり、音量レベルが聞き取れないほど低くなっていたりしないかを確認します。
/dev/audio または /dev/dsp デバイスを使用するようにアプリケーションがハードコードされていますか。 /dev/audio または /dev/dsp デバイスを使用するようにアプリケーションがハードコードされている場合は、アプリケーションが SGD オーディオドライバエミュレータを確実に使用するように、SGD オーディオリダイレクトライブラリを有効にすることが必要な場合があります。

アプリケーションのオーディオリダイレクトライブラリを有効にするには、Object Manager の「Advanced」パネルで「UNIX Audio - enable LD_PRELOAD (--unixaudiopreload true) 」ボックスにチェックマークを付けます。

アプリケーションはサウンドを適正な形式で出力していますか。 SGD オーディオドライバエミュレータは、OSS ドライバです。OSS を使用するように X アプリケーションを設定することが必要な場合があります。システムが Advanced Linux Sound Architecture (ALSA) を使用している場合、カーネル内で ALSA OSS エミュレーションモジュールを有効にすることが必要な場合があります。
SGD オーディオドライバがカーネルにロードされていますか。 SGD Enhancement Module をアプリケーションサーバーにインストールする際、SGD オーディオドライバ (sgdadem) がインストールされます。オーディオドライバがカーネルにロードされていることを確認してください。
  • Solaris OS プラットフォームでは、modinfo -c コマンドを使って sgdadem モジュールがロードされているかどうかを確認します。
  • Linux プラットフォームでは、lsmod コマンドを使って sgdadem および soundcore モジュールがロードされているかどうかを確認します。

オーディオドライバがインストールされているが、ロードされていない場合は、次の方法でモジュールを手動でロードしてください。

  • Solaris OS プラットフォームでは、modload -i module_ID コマンドを使用します (module_ID の検索には modinfo -c を使用)。
  • Linux プラットフォームでは、modprobe sgdadem コマンドを使用します。

オーディオドライバを手動でロードするときにエラーが発生した場合は、エラーを修正してからドライバのロードを再度試みます。

SGD オーディオドライバがリストに表示されない場合は、オーディオモジュールのインストールログでエラーを確認します。インストールログは、install_dir/var/log/tem_unixaudio_inst.log です。デフォルトでは、install_dir/opt/tta_tem です。ログにエラーが記録されている場合は、エラーを修正してからドライバのロードを再度試みます。

それでもオーディオドライバがカーネルにロードされない場合は、Sun のサポートにお問い合わせください。

SGD オーディオデーモンは稼働していますか。 SGD を使ってアクセスする X アプリケーションごとに、1 つの SGD オーディオデーモン (sgdaudio) が存在します。次のコマンドを使って、オーディオデーモンのインスタンスを表示します。
過去の書式設定済みテキストのスキップps -ef | grep -i sgdaudio

オーディオデーモンが表示されない場合は、オーディオデーモンのログファイルでエラーを確認します。SGD オーディオデーモンは、すべての致命的エラーを /install_dir/var/log/sgdaudioPID.log ファイルに記録します。デフォルトでは、install_dir/opt/tta_tem です。

SGD オーディオデバイスノードが存在しますか。

SGD オーディオデーモンが稼働中の場合は、このデーモンにより /tmp/SGD/dev/sgdaudio ディレクトリ内のオーディオデバイスノードが起動します。アプリケーションセッション内で、ユーザーの SGDAUDIODEVAUDIODEV、および AUDIO 環境変数の値を確認します。これらは、すべて SGD オーディオデバイスノードの場所に設定されているはずです。

環境変数が正しく設定されていない場合は、デバイスファイルが /tmp/SGD/dev/sgdaudio ディレクトリ内に実際に存在するかどうかを確認してください。

オーディオデバッグログにアプリケーションのエラーが記録されていますか。 アプリケーションサーバーで Unix オーディオデバッグログを有効にし、ログファイルでエラーを確認します。

UNIX オーディオデバッグログを有効にするには、次の手順を実行します。

  1. root としてアプリケーションサーバーにログインします。
  2. /etc/sgdtem.conf ファイルをテキストエディタで開きます。
  3. 次のように SGDUNIXAUDIODEBUG 環境変数の値を変更して、デバッグを有効にします。
    過去の書式設定済みテキストのスキップSGDUNIXAUDIODEBUG=1; export SGDUNIXAUDIODEBUG
  4. /etc/sgdtem.conf ファイルへの変更を保存します。

デバッグログの出力を取得するには、ユーザーがアプリケーションの新しいインスタンスを起動する必要があります。アプリケーションを中断して再開しても、SGD オーディオデーモンの新しいインスタンスが起動しないため、出力は生成されません。

デバッグログの出力は、/install_dir/var/log/sgdaudioPID.log ファイルに記録されます。デフォルトでは、install_dir/opt/tta_tem です。

サウンドがこもっているまたは歪んでいる

サウンドがこもっていたり歪んでいたりする場合は、UNIX オーディオ品質およびオーディオ圧縮設定を調整して、サウンドが改善されるかどうかを確認してください。

次の方法で調整できます。

圧縮済みのオーディオデータを圧縮しても、圧縮効果はそれほど得られない可能性があります。

サウンド品質が改善されない場合は、アプリケーションサーバー上でオーディオデバッグログを有効にしてから (前の表を参照)、ログファイルでエラーを確認します。

関連トピック