AND OR  

Windows

Windows7またはWindows10での各種設定などについて整理する。

スリープからの自動復帰

スリープ(または休止状態)から自動復帰してしまう現象が報告されている。原因は様々なので、確認方法を整理する。

# スリープ解除設定可能なデバイス一覧を表示
> powercfg -devicequery wake_programmable
Razer Taipan
HID 準拠コンシューマー制御デバイス
HID 準拠システム コントローラー
HID キーボード デバイス (001)
HID キーボード デバイス (002)
HID 準拠デバイス (004)
Razer Taipan (005)
Intel(R) Ethernet Connection (2) I218-V
HID 準拠デバイス (005)

# 現在スリープ解除設定されているデバイス一覧を表示
> powercfg -devicequery wake_armed
Intel(R) Ethernet Connection (2) I218-V

# タイマー(タスクスケジューラ)によってスリープ解除が許可されているデバイス一覧を表示
> powercfg -waketimers

Google Chrome

ChromeのキャッシュをRAMディスクに移す設定 (R:\Data\Temp\Chrome に移す場合)

  • Chromeをデフォルト構成でインストールした場合
    rmdir /s /q "C:\Users\(ユーザー名)\AppData\Local\Google\Chrome\User Data\Default\Cache"
    rmdir /s /q "R:\Data\Temp\Chrome"
    mkdir "R:\Data\Temp\Chrome"
    mklink /d "C:\Users\(ユーザー名)\AppData\Local\Google\Chrome\User Data\Default\Cache" "R:\Data\Temp\Chrome"
    C:\Users\(ユーザー名)\ 以下のデータを D:\Data\Users\ に保存している場合
    (例えばCドライブをSSD、DドライブをHDDにマウントしている場合でも、読み書き回数が多くてデータサイズも大きくなりがちなUsersフォルダ以下は別ドライブに移動させるケースが多い)
    rmdir /s /q "D:\Data\Users\AppData\Local\Google\Chrome\User Data\Default\Cache"
    rmdir /s /q "R:\Data\Temp\Chrome"
    mkdir "R:\Data\Temp\Chrome"
    mklink /d "D:\Data\Users\AppData\Local\Google\Chrome\User Data\Default\Cache" "R:\Data\Temp\Chrome"

ESCキーが効かない

Windows7 64bits環境でESCキーが効かない問題。調べてみると結構有名な問題らしい。Adobe Photoshopが悪さしている場合が多いとのこと。
Google検索: windows7 escキー 効かない

Flash Playerの保護モード

一部のFlashサイトが正常に動作しなくなる時は保護モードを無効にすると解決することが多い (ただしセキュリティリスクは増える)。

メモ帳などのテキストエディターを起動、以下のいずれかのファイルを開く。
32 ビット版 Windows : C:\Windows\System32\Macromed\Flash\mms.cfg
64 ビット版 Windows : C:\Windows\SysWOW64\Macromed\Flash\mms.cfg
以下の文字列を追記して保存する。

ProtectedMode=0

あとはブラウザを再起動して動作確認する。

2015年頃から、FlashからHTML5 Playerに移行している動画配信サービスも増えてきたので、この問題が表面化することは減ってくるはず。

PowerShell

PowerShellで利用できる便利なコマンドなどを整理する。Windows10からはBash on Ubuntu on Windows(BoUoW)環境が提供されているが、基本的にサンドボックス環境となっているので、Windowsネイティブの機能を活用するにはPowerShellを使いこなせるようになるのが良さそう。ただし2017/04の Windows10 Creators Update後はUbuntu側からWindows側へのアクセスが容易になったのでBoUoWの定常利用しても良いかも。

  • PowerShell環境
    PS C:\Users\ryo> $PSVersionTable
    
    Name                           Value
    ----                           -----
    PSVersion                      5.1.14393.576
    PSEdition                      Desktop
    PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
    BuildVersion                   10.0.14393.576
    CLRVersion                     4.0.30319.42000
    WSManStackVersion              3.0
    PSRemotingProtocolVersion      2.3
    SerializationVersion           1.1.0.1
  • 環境変数の確認/設定
    PS C:\Users\ryo> Get-ChildItem env:
    Name                           Value
    ----                           -----
    ALLUSERSPROFILE                C:\ProgramData
    APPDATA                        C:\Users\ryo\AppData\Roaming
    CommonProgramFiles             C:\Program Files\Common Files
    CommonProgramFiles(x86)        C:\Program Files (x86)\Common Files
    CommonProgramW6432             C:\Program Files\Common Files
    ... 省略
    環境変数の設定は以下のように行う。
    ## ダブルクォートを忘れないように
    PS> $env:NODE_ENV="production"
    ## 以下の方法はPowerShellでは動作しないので注意
    PS> set NODE_ENV=production
    set-item env:testVariable -value testValue の形式でも設定できるけど面倒なので上記の方法で行うと良い。
  • プロファイルの設定
    .bashrcや.zshrcのPowerShell版のようなもの。.ps1ファイルを任意のディレクトリに置いておくとPowerShell起動時に読込・反映してくれる。環境変数 $profile で読み込まれるファイルを確認できる。
    PS> $profile
    D:\Data\Users\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1
  • シンボリックリンクの作成と削除
    PS> New-Item -Path . -Name a.symlink -Value a.txt -ItemType SymbolicLink
    PS> Remove-Item a.symlink
  • Emacsキーバインディング
    方法はいくつかあるようだが、PSReadLineを利用すると比較的簡単に実現できる。作者に感謝。

A bash inspired readline implementation for PowerShell

Windows10環境ならデフォルトでインストール済

If you are on Windows 10, PSReadline is already installed. Windows 10 RTM and the November update have version 1.1, later builds have version 1.2 (which includes vi mode). See below for how to upgrade.

PowerShellのプロファイルに以下を追記する。キーバインドも細かくしていできるので自分好みにカスタマイズすると良い。

if ($host.Name -eq 'ConsoleHost') {
  Import-Module PSReadline
  Set-PSReadlineOption -EditMode Emacs
  Set-PSReadlineKeyHandler -Key 'Ctrl+p' -Function HistorySearchBackward
  Set-PSReadlineKeyHandler -Key 'Ctrl+n' -Function HistorySearchForward
}

Windowsエクスペリエンスインデックス

Windows8.1以降ではエクスプローラーからWindowsエクスペリエンスインデックスの結果を閲覧できないようだ。インデックスを計算するツールは引き続き利用できるのでコマンドプロンプトかPowerShell上で実行、確認する。

## formalは全項目を検査、restartオプションでインデックスを再生成、cleanは過去のインデックス作成履歴を削除するオプション
## つまり以下のコマンドで現在のPC構成を検知、新規にインデックスを作成してくれる
PS> WinSAT.exe formal -restart clean
## 処理結果例
> CPU LZW 圧縮                                   675.80 MB/s
> CPU AES256 暗号化                               2068.20 MB/s
> CPU Vista 圧縮                                 1741.01 MB/s
> CPU SHA1 ハッシュ                                2217.16 MB/s
> ユニプロセッサ CPU LZW 圧縮                           168.98 MB/s
> ユニプロセッサ CPU AES256 暗号化                       517.25 MB/s
> ユニプロセッサ CPU Vista 圧縮                         437.30 MB/s
> ユニプロセッサ CPU SHA1 ハッシュ                        554.03 MB/s
> メモリのパフォーマンス                                  23931.61 MB/s
> Direct3D Batch のパフォーマンス                      42.00 F/s
> Direct3D Alpha Blend のパフォーマンス                42.00 F/s
> Direct3D ALU のパフォーマンス                        42.00 F/s
> Direct3D Texture Load のパフォーマンス               42.00 F/s
> Direct3D Batch のパフォーマンス                      42.00 F/s
> Direct3D Alpha Blend のパフォーマンス                42.00 F/s
> Direct3D ALU のパフォーマンス                        42.00 F/s
> Direct3D Texture Load のパフォーマンス               42.00 F/s
> Direct3D Geometry のパフォーマンス                   42.00 F/s
> Direct3D Geometry のパフォーマンス                   42.00 F/s
> Direct3D Constant Buffer のパフォーマンス            42.00 F/s
> ビデオ メモリのスループット                               81604.90 MB/s
> Dshow ビデオ エンコード時間                            1.13396 s
> メディア ファンデーション デコード時間                         0.05286 s
> Disk  Sequential 64.0 Read                   781.45 MB/s          8.3
> Disk  Random 16.0 Read                       767.93 MB/s          8.6
> 合計実行時時間 00:02:03.30

CPUなど各パーツのスループットが表示される。計算結果を従来のようにスコアで表示するにはPowerShellからコマンドで確認する。

PS> Get-CimInstance Win32_WinSAT
CPUScore              : 8.1                 
D3DScore              : 9.9                 
DiskScore             : 8.45                
GraphicsScore         : 8.8                 
MemoryScore           : 8.1                 
TimeTaken             : MostRecentAssessment
WinSATAssessmentState : 1                   
WinSPRLevel           : 8.1                 
PSComputerName        : 

VirtualBox

起動時のGNOME関連のエラー

VirtualBoxにCentOS 6.4の仮想マシンを構築して起動したときに、

The configuration defaults for GNOME Power Manager... not been installed correctly.

というエラーが出てGNOMEを起動できない場合は、CTRL+ALT+F2 を押してコンソールログイン後、yum で gnome-power-manager パッケージを入れ直してOSを再起動する。

$ sudo yum remove gnome-power-manager
$ sudo yum install gnome-power-manager
$ reboot

仮想ディスクの拡張

以下のサイトを参考にさせていただいた。あとでここにも整理する。
VitualBoxのディスク拡張

PortQry

Microsoft公式で配布しているポートスキャンツール。
Portqry.exe コマンド ライン ユーティリティの説明

Portqry.exe は、TCP/IP 接続の問題のトラブルシューティングに役立つコマンド ライン ユーティリティで、Windows 2000 ベースのコンピュータ、Windows XP ベースのコンピュータ、および Windows Server 2003 ベースのコンピュータで実行できます。このユーティリティでは、選択したコンピュータの TCP ポートと UDP ポートの状態を確認できます。

次のコマンドはホスト "example.com" に対してTCPポート22をLISTENしているか確認する。

portqry -n example.com -p tcp -e 22