2018年12月23日日曜日

Windows 10 の Google Chrome で https サイトの表示が遅い

OS を Windows 10 にしたところ、Chrome で SSL のサイトを開く際にめちゃくちゃ遅くなる(下手をすればタイムアウトする)という問題があったのですが、レジストリで Cryptographic Services (CryptSvc) 関連のキーを再作成することで改善できます。

手順はこんな感じです。

  1. Chrome を終了する(見た目上終了していても常駐している場合があります。タスクトレイに Chrome のアイコンが無いことを確認して、あとタスク マネージャーでも Chrome.exe がいないことを確認しましょう)
  2. [ ファイル名を指定して実行(R) ] で services.msc を起動する(管理者のパスワードが必要かも)
  3. Cryptographic Services を停止する
  4. [ ファイル名を指定して実行(R) ] で regedit.exe を起動する(管理者のパスワードが必要かも)
  5. HKEY_CURRENT_USER\Software\Microsoft\SystemCertificates\Root を選択する
  6. (オプション)[ ファイル(F) ] → [ エクスポート(E) ] でレジストリをエクスポートする(いざと言うとき、レジストリに再インポートできます)
  7. HKEY_CURRENT_USER\Software\Microsoft\SystemCertificates\Root 配下にある ProtectedRoots を右クリックして [ アクセス許可(P)... ] を選択する
  8. 「ProtectedRoots のアクセス許可」が開くので、[ 詳細設定(V) ] をクリックする
  9. 所有者が「SYSTEM」になっている場合があるので、[ 変更(C) ] をクリックする
  10. 「選択するオブジェクト名を入力してください」に自身の Windows ユーザー名を入力して [ 名前の確認(C) ] をクリックする
  11. 入力したユーザー名が確認された(アンダーラインが表示された)のを確認して [ OK ] をクリックする
  12. 「ProtectedRoots のセキュリティの詳細設定」に戻るので、[ 継承の有効化(I) ] をクリックする(普通は自身の Windows ユーザーが HKEY_CURRENT_USER\Software\Microsoft\SystemCertificates\Root のフル コントロール権限を持っているので、その権限を継承する設定)
  13. レジストリ エディタに戻り、HKEY_CURRENT_USER\Software\Microsoft\SystemCertificates\Root を右クリックして [ 削除(D) ] を選択する(Root 配下のレジストリの内容は CryptSvc を再起動したタイミングで自動的に再生成されます)
  14. OS を再起動する

「なんでこんなに時間がかかるんだろう……変な拡張機能でも入れたかな」と悩んでいたのですが、これでスッキリです。

Blogger の小枝

2018年6月18日月曜日

USB メモリに保存された楽曲を全て網羅するプレイリスト(m3u8)を作成する

MINI (F56) には CD プレーヤーが無いため、USB メモリに保存した音楽を聞くのが一般的ですが、標準状態では特定の曲を検索するか、アルバム、またはアーティストを選んで再生する必要があります。

自分の場合は、保存された楽曲をアーティストごとにまとめて、ずっと順番に再生するという聞き方をしているので、一つのアルバムをリピートされてしまうとちょっと困ってしまいます。

どうやら、全ての曲を順番に再生するためには、プレイリストを作成する必要があるらしいのですが、プレイリストを作成するフリーソフトでしっくり来るものが見つからなかったので、ささっと Perl スクリプトを作成することにしました。

#!/usr/bin/perl
open( INFILE, "F:/dir.txt" );
while( <INFILE> ) {
if( $_ =~ /F:\\(.*)\\(.*) のディレクトリ/ ) {
$_ =~ /F:\\(.*)\\(.*) のディレクトリ/;
$Artist = $1;
$Album = $2;
$key = "$Artist\/$Album";
push ( @Album, $key );
undef $Index;
}
if( $_ =~ /.*\.m4[ab]{1}/ ) {
$_ = /[0-9]{4}\/[0-9]{2}\/[0-9]{2}  [0-9]{2}:[0-9]{2}[ ]{1,}[0-9\,]{1,} (.*\.m4[ab]{1})$/;
$Song = $1;
$Index++;
$Song{$key}{$Index} = $Song;
$NumOfIndex{$key} = $Index;
}
}
close( INFILE );
my @order = sort { $a cmp $b } @Album;
foreach my $i ( $[ .. $#order ) {
$Album = $order[$i];
foreach my $j ( 1 .. $NumOfIndex{$Album} ) {
print "$Album\/$Song{$Album}{$j}\n";
}
}

使い方は次の通りです。

  1. USB メモリを PC に接続する
  2. コマンド プロンプトを起動し、USB メモリのドライブ(F: を想定)に移動する
  3. dir /s > F:\dir.txt [Enter]
  4. 上記の Perl スクリプトを保存したディレクトリに移動し、スクリプトを実行する。例)mkplaylist.pl > F:\playlist.m3u8 [Enter]
  5. USB メモリに作成された playlist.m3u8 をメモ帳で開き、UTF-8 で上書き保存する(だっさ……)



Blogger の小枝