web-dev-qa-db-ja.com

17.04サスペンドから再開した後、ディスプレイのスケーリングが1に戻りますか?

最近、Nvidia 750TiカードとDell 4Kモニターを搭載したマシンに17.04をクリーンインストールしました。 Nvidiaバイナリドライバー381.09を使用しています。

これはすべて、Ubuntu画面表示設定で設定したディスプレイのスケーリングが、マシンがサスペンド後に再開したときに常に1に戻るという事実を除けば、うまく機能します。それを1.5に設定する必要があります。そうしないと、すべてが小さくなります(ところで、Ubuntuは4Kモニターで賢明なデフォルトにスケールしないのはなぜですか?)

他の誰かがこれを取得しますか?私はそれについて他のどこにも言及を見つけることができません。

ところで、Nouveauドライバーを試しましたが、サスペンド後に画面がまったく起動しません。そのため、そのルートはスターターではありません。


編集:既に行われているようです ここで確認済みのバグとして報告されています 何かが起こるかどうかを監視します。

9
TommyPeanuts

このバグにイライラしている人のために、scale_factor値の変更を監視し、スクリプトが最初に実行されたときの値にリセットする簡単なPerlスクリプトを以下に示します。

#!/ usr/bin/Perl -w 
 use strict; 
 
 my $ dconf_line = `dconf read/com/ubuntu/user-interface/scale -factor`; 
 my($ scale_factor)= $ dconf_line =〜m/DP1\':(\ d +)/; 
 
 if($ scale_factor){
 print STDOUT "scale_factorの現在の値:$ scale_factor ...\n\n"; 
} else {
 die "エラー:dconf\n(value of/com/ubuntu/user-interface/scale-factor was $ dconf_line\n\n "; 
} 
 
 open(my $ fh、"-| "、" dconf watch /com/ubuntu/user-interface/scale-factor");

while(<$ fh>){
 if(m/DP1\':(?!$ scale_factor)/){
 `dconf write/com/ubuntu/user-interface/scale-factor" {'DP1':$ scale_factor} "`; 
 my $ date = `date`; 
 print STDOUT "$ date-調整された倍率\ n\n"; 
} 
} 

スクリプトを実行したままにしておくと、値から変更しようとする試みをキャッチしてリセットします。

17.04で統一されて動作しますが、17.10でgnomeに切り替えると、値が別のdconfレジストリキーに保存される可能性があります-その場合、スクリプト内のキーの場所のすべてのインスタンスを適切なものに置き換えて、動作するはずです。

お役に立てれば ...

2
owenjm