土曜日, 8月 2, 2025
ディスプレイの電源を OFF / ON 時に DisplayPort のホットプラグによるレイアウト崩れ
DisplayPort による接続でホットプラグの対策としてOS側でディスプレイの電源を切る方法を以下で紹介しました。
Windows11でディスプレイの電源を切りたい ( DisplayPort のホットプラグ対策 )
しかし、複数のディスプレイを使用している場合には1台だけ消したいという要件もあると思います。
なので今回は、従来通りディスプレイ本体の電源ボタンで対応できるようにする方法を紹介します。
まずは、DisplayPortのアダプターを購入します。
購入時の注意点は2つ
- 分解が簡単そう(カバーが開きやすそう)
- ケーブルタイプでない(改造時にケーブルタイプは基板タイプに比べ改造の難易度が上がります)
ついに改造です。
DisplayPort の 18ピン を切断するので、テープで切断する回路を明確にしつつ保護します。
後はカッターナイフで回路をほじくり切断します。
念のためテスターで18ピンが想定通り切断でき、両隣のピン(16ピン, 20ピン)は導通する事を確認します。
問題なければカプトンテープを貼り基盤を保護します。
ディスプレイ側にアダプターを刺す場合(ディスプレイ本体のメス端子にアダプターのオスを接続する場合)
DisplayPort のオス側:20pin
DisplayPort のメス側:18pin
1kΩの抵抗を半田で接続します。
パソコン側にアダプターを刺す場合(PC本体のメス端子にアダプターのオスを接続する場合)
DisplayPort のオス側:18pin
DisplayPort のメス側:20pin
1kΩの抵抗を半田で接続します。
最後に、テスターで再び導通チェックをして問題なければカバーを閉じラベルを貼り完成です。
興味があったのでアダプターを逆に接続しましたが、故障はしないものの表示はできませんでした。
なので、正しい向きで接続してください。
それと、2種類作った理由はPC本体の裏側で抜き差しするのがめんどくさいのでディスプレイ側のケーブルの抜き差しで対応したかったからです。
片側のみアダプターが必要で両側には接続してはいけませんので、用途に合わせて抵抗の接続するピンは決め改造してください。
金曜日, 8月 1, 2025
Windows11でディスプレイの電源を切りたい ( DisplayPort のホットプラグ対策 )
Windows端末を利用中に DisplayPort で接続するディスプレイ本体の電源を消すとウィンドウの再配置で表示が崩れる事があります。
原因は、DisplayPortの規格でホットプラグに関する仕様があることです。
なので簡単に解決する方法はWindowsの機能としてディスプレイの電源を切る方法です。
最も簡単な電源の切り方は電源オプションの設定で一定時間操作が無い場合に自動で切る方法
しかし、操作はしていないがディスプレイの電源は切りたくないという場合もある
そこで手動にて任意のタイミングに実行する方法を調べると見つけました。
見つけたページ:https://tsutchii.com/display-off
コマンドプロンプトで以下のコマンドを実行
powershell (Add-Type '[DllImport("user32.dll")]^public static extern int SendMessage(int hWnd, int hMsg, int wParam, int lParam);' -Name a -Pas)::SendMessage(-1,0x0112,0xF170,2)
するとディスプレイの電源を消すことができます。
もちろん、マウスなどの操作でウィンドウの再配置によるレイアウト崩れも無く再開可能です。
でも毎回コマンドのコピペをするのはめんどくさいので、メモ帳などのテキストエディタを使い「Display_Off.bat」というファイル名でコマンドを保存して Stream Deck に割り当てました。 (もちろん、保存した「Display_Off.bat」をダブルクックで起動させても良い)
これで離席時や寝る時などに直ぐディスプレイの電源を消すことができる
日曜日, 2月 2, 2025
壊れかけた HDD / SSD からデータ復元( ddrescue )
HDDやSSDの読み書きが不安定で直ぐに交換したいけど可能な限りデータを残して移行した。
そんな時に活躍するのが ddrescue です。
クローンならddコマンドと思う方もいると思います。
しかし、動作が不安定な状況でddコマンドを使用してもクローンに失敗します。
そこで、ddrescueコマンドを使用します。
ddrescueはクローンをしながら読み込めないデータは0埋め等を行いログを吐いてくれます。
そしてそのログからエラー箇所だけ再度リトライする事も可能という優れたコマンドなんです。
デバイスが認識しているかとクローン元と先をシリアル番号でしっかり確認しましょう
[root@ubuntu:~]# hdparm -i /dev/sda [root@ubuntu:~]# hdparm -i /dev/sdb
ddrescueのインストール
[root@ubuntu:~]# apt-get update [root@ubuntu:~]# apt-get install gddrescue
クローン開始(クローン元とクローン先は何度も確認してください)
[root@ubuntu:~]# ddrescue -f -n -v /dev/sda /dev/sdb rescue_logfile.log -f:上書き -n:エラーを0埋め -v:ステータス表示 デバイス:コピー元 コピー先 ログ:任意のファイル名
エラーが出た場合のクローンリトライ(エラーが出なければやる必要ありません)
[root@ubuntu:~]# ddrescue -d -f -r3 -v /dev/sda /dev/sdb rescue_logfile.log -d:ダイレクトアクセス(キャッシュを介さずにアクセス) -f:上書き -r:リトライ回数 -v:ステータス表示 デバイス:コピー元 コピー先 ログ:任意のファイル名(初回実施の名前と同じにする)
上記のリトライを数回繰り返してもクローンができない場合はその個所のデータ復元の可能性は低いです。
まれに読み込める事はあるので何度もリトライする事はお勧めします。