休止状態後の画面の破損— X11ディスプレイを更新する別の方法はありますか?


23

休止状態から復元すると、画面が破損することがよくあります。グラフィックメモリが保存されていないようです。それ以外の場合、Suspend-to-ramは正常に機能します。

また、すべての文字が一貫して破損しているため、フォントキャッシュが破損しているように見えます。この効果は、特定のサイズのフォントをターゲットにしているようです。たとえば、ターミナルウィンドウがヒットした場合、フォントやフォントサイズを変更すると、そのサイズのフォントが既に破損していない限り、修正されます。

フォントが他の場所(他のアプリ、ウィンドウマネージャーなど)で使用されている場合、問題もあります。ウィンドウタイトルに使用されているフォントがヒットし、すべてのウィンドウタイトルに同じ文字が破損していることがあります。

ログアウトして再度ログインすると修正されますが、私はそれをする必要はありません。私はログアウトしてから休止状態になりましたが、これはより多くの努力であり、休止状態の利点のほとんどを排除します。

X11ディスプレイを更新する別の方法はありますか?Ctrl+ Alt+ F1...どちらかそれを修正しません。ターミナルを切り替えますが、何も再描画しません。古い破損した画面を表示するだけです。

Debian 6を使用しています。

この場合、ウィンドウのタイトルは悪いです: ウィンドウタイトルフォントが乱れた

端末の内容は悪いが、タイトルは(まだ)大丈夫です: テキストは体系的に歪んでいますが、影響を受けるのは一部のフォントのみです


1
どのグラフィックスチップ/ドライバーを使用していますか?ディストリビューション?
カレブ

1
Debian 6、acer aspire 5338統合グラフィックス。私はそれをUbuntuで動作させており、RAMへのサスペンドは素晴らしい動作をします。グラフィックスRAMをディスクに保存していないだけだと思います。
ctrl-alt-delor

1
そのモデルはIntel、Nvidia、およびATIビデオカードオプションに同梱されているようですので、それは質問にはまったく答えません。「統合」とは、Intel GMAビデオカードを持っているということですか?
カレブ

あなたが言ったことからは明らかではありません- 冬眠する前に ctrl-alt-F1を試しましたか(つまり、テキストモードから冬眠し、再開後にX11に戻るだけですか)?コマンドラインから休止状態にするコマンドを見つける必要があるかもしれません。
ランダム832

1
私はdebian7に更新しましたが、今では動作します。@terdonの質問に追加されたスクリーンショットは、私が持っていたものに似ています。
ctrl-alt-delor

回答:


12

私のラップトップでも同様の状況がありました。画面は、サスペンドから復帰したときに黒いままになることがよくありました。私の解決策はxrandr、ディスプレイのリセットに使用することでした。xrandrレイアウトを設定して実行するコマンドを見つける必要があります。たとえば、私のシステムでは、2つの画面があり、必要に応じて設定しました。

xrandr --output DP-3 --auto --output VGA-0 --auto --right-of DP-3 --primary

画面が1つしかない場合は、画面のオンとオフを切り替えてみてください。

xrandr --output VGA-1 --off; xrandr --output VGA-1 --auto;

xrandr引数なしで実行すると、画面の名前を確認できます。現在使用しているシステム(1つのVGA画面)では、次のようになります。

$ xrandr
Screen 0: minimum 320 x 200, current 1920 x 1080, maximum 8192 x 8192
VGA-1 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 477mm x 268mm
   1920x1080      60.0*+
   1680x1050      60.0  
   1280x1024      75.0     60.0  
   1152x864       75.0  
   1024x768       75.1     60.0  
   800x600        75.0     60.3  
   640x480        75.0     60.0  
   720x400        70.1  
DVI-I-1 disconnected (normal left inverted right x axis y axis)

適切なコマンドが見つかったら、ショートカットを割り当てて、画面が空白の場合でも実行できるようにします。


これがどのように機能するかわかりません。黒い画面が表示され、インターフェイスがありません...しかし、コマンドを実行しますか?どうやって?すべてのXコマンドでも「ディスプレイを開けません」というエラーがスローされるため、alt + Fnを実行しても機能しません。export DISPLAY=:0トリックを試すと、別のエラーが発生します。
セリン

私はAltキー+ F.を押すことで盲目的にそれを実行することができますので、私のシステムで@Cerin、私はそのコマンドにショートカットを割り当てた
terdon

ありがとう、それは私のためにそれをしました(私はcitrix受信機を使い始めて以来、派手な画面の不具合を取得しました;それは他のすべてが失敗したときにそれを修正しました)同じコンピューター上の異なるVTからコマンドを実行すると、Configure crtc 0 failedエラーが発生する可能性があることに注意してください。コマンドの前に小さなスリープを追加し、xrandrの実行時にアクティブになるようにVTを切り替えます。@Cerinそれはおそらくあなたの問題です。sleep 5; xrandr --output VGA-1 --off; xrandr --output VGA-1 --auto
トーマスギヨ-シオンネスト

それは本当に私の問題ではなかったことがわかりました。VTを切り替えると、ウィンドウマネージャーまたはgnomeシェルがイベントに追いつき、しばらく応答しなくなります。これらのアクションを実行するのに費やした時間は、画面に追いついて更新するのに十分でした。OTOHは、何もクリックできず、キーボードショートカットが無視されるというフォーカスの問題に遭遇したときに役立ちました。ディスプレイをオフにしてからオンにすると、修正されました。
トーマスギュヨシオンネスト

上記のコマンド(1つのディスプレイ)でマウスポインターのある低解像度(黒)画面が表示されるのは正常ですか?もしそうなら、どうすればそれを修正できますか?
クールチャラック

7

xrefreshコマンドを試しましたか?


はい、機能しませんでした
ctrl-alt-delor

次回試してみます... FWIWほとんどの場合、テキストとGUI VTを切り替えるか、ユーザー切り替えオプション(1つのVTをロックし、他のVTをロック解除する)を使用して表示に影響するグリッチが発生し、問題が解決します...しかし、まれにxrandrのみが修正できるようです。私は通常、使用してCTRL-ALT-F<n>いるVTを切り替えるので、常にロックを解除する必要はありません。
トーマスギヨ-シオンネスト

6

GNOME 3AltF2renterGUIをリフレッシュ。Run CommandプロンプトをAltF2起動し、コマンドは強制的に更新します。r


rコンソールからも実行できるようです。rインストールされていません。-それは何を実行する必要があります、あなたは言いますか?すなわち、どのパッケージですか?そのrプログラムの正式名称は何ですか?
ロバートシーマー

1
@RobertSiemerはプログラムではなく、DEを再起動する内部GNOMEのものです。gnome --replaceバックグラウンドで実行されると思いますが、わかりません。
テルドン

3
rまたはrestart(同じです)。同等のコンソールはになりますgnome-shell --replace
-don_crissti

metacityでgnome-panelを実行します。
ロバートシーマー

@richard、これは機能しましたか?
セベリンコザック

5

私もこの問題を抱えています(Debian SqueezeとWheezy)。

私の経験では、主にメモリのほとんどがいっぱいで、システムがスワップメモリ​​を使用しているときに発生します。

部分的な回避策として:デフォルトのフォントを変更すると、破損はなくなります。(しかし、良くないため、破損が再発した場合は再度変更する必要があります。)

(Debian Wheezyでは、これはgnome-tweak-toolによって行われます。)


4

カーネル3.19にアップグレードします。Ubuntuメインラインカーネルパッケージを使用しました。これは次の場所にあります。

http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.19-vivid/(Ubuntu 14.04でも動作します)

次のバグレポートのコメントはそれを言及しました

https://bugs.freedesktop.org/show_bug.cgi?id=45092#c37

...そして次のメッセージでコミットを追跡しました:

https://github.com/torvalds/linux/commit/656bfa3afc14e45e2d9e1624bf60d79b3beb12f2

「...これはgm45とi965gmでしか見たことがないからです。」

統合グラフィックスを搭載したIntel GM45モバイルチップセットがあります。OPのAcerラップトップもそのチップセットで販売されました(ただし、すべてではありません)。

(サスペンドとは関係ありません。)


3

ドライバーがデバイスを適切に再開できない場合、あなたが見つける唯一の解決策はデバッグと問題の場所の特定であり、そこから何をすべきかを決めることができると信じています。たとえば、ビデオカードが再初期化されていない場合、どのように更新できるかわかりません。

ACPIは、中断/再開および表示を処理します。たとえば、一部のThinkPadで発生する次のACPIの問題は、説明している症状に対処する場合があります。

suspend-to-ramから再開すると、テキストコンソールの表示に実際のテキストの代わりにゴミが表示される場合があります。それ以外の場合、マシンはまだ応答し、Xは正常に表示されます。これがすべて当てはまる場合、menu.lstまたは lilo.confにカーネルオプションacpi_sleep = s3_bios、s3_modeを追加すると、問題が解決する場合があります。

ACPI suspend-to-ramの問題-ThinkWiki

thinkpad_acpi上記の引用で取り上げているモジュールを使用している場合は、それで十分です。このソリューションの詳細については、Suspend2Ram-Powersave Documentationを参照してください

まず、試してみることができるいくつかのカーネルパラメーターがあります。それらを/boot/grub/menu.lstの「カーネル」行に追加するだけです。それらについての詳細は /usr/src/linux/Documentation/power/video.txtにあります。

video.txtから:

S3の再開中に、ハードウェアを再初期化する必要があります。ほとんどのデバイスでは、これは簡単であり、カーネルドライバーはその方法を知っています。残念ながら、例外が1つあります。ビデオカードです。これらは通常BIOSによって初期化され、カーネルにはビデオカードを起動するための十分な情報がありません。(通常、カーネルにはビデオカードドライバさえ含まれていません-vesafbとvgaconが広く使用されています)。

より多くのでvideo.txt知られているかどうかを確認するために、ここの表を参照してくださいacpi_sleep=<hack>あなたのビデオカードのモデルのためにリストされています。

DebianサスペンドとKMS Debian wikiは、「履歴書の破損したビデオ」問題のためにKMSを無効にすることを提案しています。1

コンピュータの再開後に見つかった非常に一般的な問題は、ビデオの破損(または黒い画面、またはLCDバックライトなし)です。最初のステップは、システムがまだ実行中かどうかを確認することです。これは、Capslockボタンを押すだけで実行でき、Capslock LEDがそれに応じて変化するかどうかを確認します。システムがまだ実行中の場合、ほとんどの場合、ビデオカードにビデオの癖を追加する必要があります。

Debianは現在、ほとんどのIntel、nVidia、ATIビデオカードでカーネルモード設定(KMS)をデフォルトで有効にしています。しかし、pm-utilsのビデオの癖は、KMSをまだサポートしていません[していません]。そのため、ほとんどの場合、最初にKMSを無効にしてみてください。特定のビデオカードの詳細な手順については、KernelModesettingページをご覧ください。

KMSを無効にした後、再開後のビデオがまだ破損している場合、いくつかのビデオの癖を使用してシステムをサスペンドすることができます。pm-suspendプログラムのマンページを参照して、使用可能なすべての癖の詳細を確認し、コマンドラインからそれらの組み合わせを試してください。お使いのシステムで動作する癖の組み合わせが1つ見つかった場合は、それらを/ usr / lib / pm-utils / video-quirksに追加して永続的にすることができます。同時に、pm-utilsパッケージに対して、変更に関するパッチを添付してバグを報告してください。

古いバージョンのDebianからアップグレードするシステムでよく見られる問題は、quirk-s3-biosを有効にすると、サスペンド中にシステムがフリーズすることです。サスペンド中にシステムがフリーズした場合は、デバッグを有効にした後、pm-suspend.logを注意深く確認し、quirk-s3-biosが使用されていないことを確認してください。

これが問題に関連していると思われる場合は、提案どおりにKMSを無効にしてみてください。カードの説明については、KernelModesetting-Debian Wikiをご覧ください

デバッグの中断

中断および再開プロセスのログは、ファイル/var/log/pm-suspend.logにあります デフォルトでは、ある程度詳細な情報が含まれています。ファイル/ usr / lib / pm-utils / pm-functionsの先頭に行export PM_DEBUG = trueを 挿入することにより、デバッグ用に詳細情報を有効にできます。

詳細については、Suspend-Debian Wikiで言及されているカーネルテスト機能に関する情報もご覧ください。これは、問題のデバッグと切り分けに役立ちます。

「デバイスのサスペンドまたはレジュームに失敗したドライバー」に役立ついくつかの例と詳細なデバッグ情報は、https://www.kernel.org/doc/Documentation/power/basic-pm-debugging.txtで入手できます。

pm-utilspm-utilsでのデバッグのアイデア-ArchWikiおよび/unix//a/29090/87728

以下は、acpiおよびsuspendに関連する多くのカーネルパラメーターの完全なリストです。

がんばろう。


Xディスプレイは正常ではありません。仮想テキスト端末は問題ありません
ロバートシーマー

確認しました/var/log/pm-suspend.logか?デバッグを有効にし/usr/lib/pm-utils/pm-functions、その後チェックしましたか?
iyrin

あなたは使用して、端末からの癖で中断テストすることができますpm-suspend --quirk-s3-bios --quirk-s3-mode。のオプションセクションを参照してくださいman pm-action
-iyrin

チェックしました/var/log/pm-suspend.log。珍しいことはありません。KMSを使用しています。–最近ではKMSを無効にすることはできません(xorg intelドライバーで必要です)。あなたが指し示したwikiは最後に2012
。-ロバートシーマー

そのdmesg | tail -50コマンドがデバッグに役立つことができると言いたいだけです。実際に、grubのカーネルパラメータで解決できるサスペンドに関連する低メモリ破損を発見しましたmemmap=64K$0 memory_corruption_check=0。ビデオカードの初期化中にエラーが発生した場合に通知されると思います。
-iyrin

2

これは報告されたバグのようです。次のリンクを確認してください。

の場合 Ubuntuのこのリンクを確認してください

Debianの場合、この他のリンクを読んでください特別に定着再開でビデオを破損した部分

問題がテキストコンソールにある場合:フォントキャッシュを更新しようとしましたか?

fc-cache -f -v


助け...ていません
ロバート・Siemer

1
これは報告されたバグのようです。次のリンクを確認してください。ディストリビューションがUbuntuではない場合、バグはディストリビューションに固有のものではなく、他のディストリビューションに影響を与える可能性のあるいくつかのライブラリです。バグ/ sの掘り下げ、それはあなたのディストリビューションのために解決されるかどうかを確認... bugs.launchpad.net/ubuntu/+source/linux/+bug/659434
YoMismo

申し訳ありませんが、あなたのディストリビューションがDebianであることがわかりませんでした。次のリンクを確認してください:wiki.debian.org/Suspend特に再開部分の破損したビデオ修正
ヨミスモ

Ubuntu 14.04があります。
ロバートシーマー

OK、質問は「私はDebian 6を使用しています」と述べました。最初のスクリーンショットの前。その後、ランチパッドのバグに答えが見つかると思います...とにかく、UbuntuはDebianをベースにしているので、Debianのリンクからの解決策が役立つかもしれません。
ヨミスモ

0

グラフィックドライバーにはディスプレイデバイスのバグがあるため、これはほぼ確実です。どちらにしても、おそらくあなたが修正できるものではないからです。ただし、デバイスのカーネルドライバーに関するバグを報告する必要があります(それが何であるかを理解したら(lspciここで役立つかもしれません))。

ただし、回避策として試すことができます:休止状態から抜け出すとき、「ctrl-alt-F4」を押して別の仮想端末に切り替えてから、元に戻す(おそらくctrl-alt-F1またはctrl- alt-F7または多分F8)。これにより、画面が十分に更新され、ディスプレイが回復します。多分。


ctrl-alt-F1を試してみましたが、うまくいきませんでした。
ctrl-alt-delor

0

Ctrl + Alt + F1…は機能しません

それでは...を発行してからsudo chvt 1、Ctrl_Alt_Fnまたはsudo chvt N(Nは通常7または8です)を使用してXorgのvtyに切り替えます。chvtうまくいく場合は、スクリプトを作成することもできます。


申し訳ありませんが、ctrl + alt + f1の動作が明確ではありませんでした。ctrl + alt + f1ソリューションではありません。仮想端末を切り替えることはできますが、破損は修正されません。ありがとう。
ctrl-alt-delor

0

で画面を回転または反転してみてくださいxrandr。たとえば、上下を逆にしてから通常に戻します。これで完全に再描画するのに十分かもしれません。


-1

試してみてくださいCrtlalt-それからCrtlalt+。これにより、画面の解像度が前後に変更されます。


何もない。キーがバインドされていない可能性があります。
ctrl-alt-delor
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.