コンテンツにスキップ

表示の問題

以下のトピックを使用して、色およびディスプレイに関する問題解決を行います。

デスクトップにバラバラに表示される

X クライアントコマンド (gnome-session、startkde、Xsession など) を使用してデスクトップセッションを構成すると、Windows デスクトップにデスクトップ要素がバラバラに表示されます。これは、セッション設定が原因です。セッション定義を変更して、[クライアントを X 端末のデスクトップに表示する] を使用します。

色の割り当て

X クライアントが新しい色を作成しようとして作成できなかった場合など、色の要求に失敗した場合は以下のいずれかのエラーが表示されます。

  • X Error of failed request: BadAlloc
    Major opcode of failed request: 84 (XAllocColor)

  • X Error of failed request: BadAlloc
    Major opcode of failed request: 86 (XAllocColorCells)

  • X Error of failed request: BadAlloc
    Major opcode of failed request: 87 (XAllocColorPlanes)

色の割り当てに関するエラーを解決するには

  • X サーバの [表示] タブ の [既定のビジュアルの種類] 設定を、固定カラーモデル ([天然色 (TrueColor)、24 ビット色]) から可変カラーモデル ([調合色 (PseudoColor)、8 ビット色]) に変更します。

OpenGL アプリケーション

OpenGL アプリケーションでは、多くの場合、天然色 (TrueColor) ビジュアルが必要とされます。セッションの [表示] タブで、[既定のビジュアルの種類] をオンにします。これが [調合色 (PseudoColor)、8 ビット色] に設定されている場合、3D グラフィックを表示すると色のちらつきが発生します。その場合、セッションの構成で色の深度を上げると、ちらつきがなくなります。[<最適なビジュアル>]または[天然色(TrueColor)、24ビット色]を選択します。

天然色 (TrueColor)

実行している X クライアントアプリケーションが、カラーマップを変更できる既定のビジュアルの種類を想定している場合、[既定のビジュアルの種類] として [天然色 (TrueColor)、24 ビット色] を使用することはできません。使用すると、クライアントが起動せずエラーメッセージが表示されます。

例えば、ico2 クライアントを以下のコマンドを使用して実行しようとします。

ico2 -faces -dbl -colors gray blue yellow

以下のエラーメッセージが表示されます。

Server can't support dynamic colormaps (サーバは動的カラーマップに対応していません)

-または-

BadMatch (invalid parameter attribute) (BadMatch (パラメータの属性が正しくありません))

Xクライアントxfishtankを、[既定のビジュアルの種類]として[天然色 (TrueColor)、24 ビット色]を選択して実行しようとすると、以下のエラーメッセージが表示されます。

Don't know how to format image for display of depth 24 (イメージを24ビット色で表示するためのフォーマット方法が不明です)

エラーメッセージを返さないクライアントもあります。その場合、正しい色の代わりに灰色の陰影 (ハッチング) が表示されます。

これらの問題がある X クライアントを実行する場合は、[既定のビジュアルの種類] として [調合色 (PseudoColor)、8 ビット色] を選択します。

メモ

既定のビジュアルの種類]を[<最適なビジュアル>]に設定すると、通常[天然色(TrueColor)、24ビット色]になります。

GLX直接レンダリングモード

GLX直接レンダリングモードは、最新のLinuxオペレーティングシステムでのみサポートされています。AIX、HP-UX、Solarisなどの旧バージョンのUNIXシステムの場合、直接レンダリングモードでGLXエラーが発生する可能性があります(たとえば、「失敗した要求のエラー: GLXBadContext」)。これらの旧システムを使用する場合は、GLX間接レンダリングモードを使用します。

詳細

Back to top