普段はLinux(Arch Linux + i3)を使っているsheeplaが、Windowsでいい感じの環境を作るためにもがいた記録です。 「キーボード操作ですべてを完結させたい」「お気に入りのフォント・キーバインドを設定して生活したい」といったこだわりを捨てられない人におすすめです。 逆に、「安定した環境を使いたい」「Windowsのデフォルトの設定を壊したくない」「細々としたカスタマイズに時間を掛けたくない」人や商用のリッチなソフトウェアを多用する人にはあまり役に立たないかもしれません。
- Windows Terminal - Microsoft製のターミナル。
- wezterm - Luaで高度にカスタマイズ可能なターミナル。積極的に開発されているので今後に期待。
- Alacritty - 高いパフォーマンスが特徴のターミナル。設定はYAMLファイルで行う。
- Neovim Qt (nvim-qt) - ターミナルではなくテキストエディタだが、
:terminal
コマンドを使えばターミナルマルチプレクサのような使い方ができる。
参考:
Windows Terminalの使い方 - Zenn alacritty+tmuxもいいけど、weztermがすごい件 - Zenn
- PowerShell Core - クロスプラットフォーム化されたPowerShell。Windowsの管理タスクの自動化やHyper-VのVMにアクセスするときに便利。
- nyagos - Goで書かれたWindowsのためのシェル。Luaスクリプトを書くことで拡張/カスタマイズできる。
- clink - cmd.exeを拡張してbashライクに使えるようにしたもの。こちらもLuaスクリプトを書くことで拡張/カスタマイズできる。
参考:
- Files - Explorerの代替として使える高機能なファイルマネージャ。
- gokcehan/lf - Goで書かれたrangerライクなTUIファイルマネージャ。高速/直感的に操作できるのでお気に入り。
- Chocolatey - 人気のパッケージマネージャ。パッケージ数が多くて便利。
- Scoop - シンプル指向のコマンドラインインストーラ。CLIツールなど、ポータブルなソフトウェアを導入するときはこちらを使っている。
- Winget - Microsoft製のパッケージマネージャ。Webからパッケージを検索できるwinget.runというサイトもある。
個人的にはコマンドラインツールなどのポータブルなソフトウェアはscoop、非ポータブルなソフトウェアなソフトウェアはWingetやChocolateyを使うといった使い分けをしている。
Chocolateyは、下記をPowerShell(管理者権限)で実行することでインストールできる。
# PowerShell (admin)
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))
Scoopは下記のように導入する。
# PowerShell (not admin)
iwr -useb https://get.scoop.sh | iex
# extrasバケットを追加
scoop bucket add extras
# scoopはaria2cをインストールすると自動でaria2cを使うようになるので、
# ダウンロードの高速化が見込める。
scoop install aria2c
shilangyu/scoop-searchは scoop search
コマンドの高速な代替。PowerShellの $PROFILE
に下記を記述すれば、フックを使って scoop search
コマンドを置き換えることができる。
Invoke-Expression (&scoop-search --hook)
gsudoを導入すると、Linuxのsudo
コマンドのように新しいコンソールを立ち上げずに管理者権限を得て昇格することができる。
資格情報をキャッシュしてUAC: ユーザーアカウント制御の確認を省略できたり、PowerShellのスクリプトブロックを渡すことができたりと高機能なのが特徴。
同様のツールとして、Goで書かれたmattn/sudoもある。
scoop install gsudo
Tatsu-syo/noMeiryoUIを使うと、Windowsのシステムフォントを変更できる。
UIフォントは BIZTER や IBM Plex Sans JP を指定すると綺麗。
フォントをインストールする際に手動でポチポチやるのが面倒なのでインストーラスクリプトを書いた。
PowerShellスクリプトを実行するには、実行ポリシーをRemoteSignedに変更する。
(影響範囲を Process
スコープに限定すればシステムの設定を変えずに済む。)
あとは、スクリプトの引数にTrueTypeフォント (*.ttf
)、OpenTypeフォント(*.otf
)のパスを指定してスクリプトを実行するとフォントを自動でインストールできる。
ZIPファイルを指定すると自動でTempディレクトリに展開してインストールする。
Set-ExecutionPolicy -Scope Process RemoteSigned -Force
./Install-Font SomeFont.zip
タイル型ウィンドウマネージャはウィンドウマネージャの一種で、ウィンドウを重ねずに分割して管理してくれるプログラム。 アプリケーションを大量に開いても操作が煩雑になりにくい・カスタマイズ性が高い・キーボードから手を離すことなく高速に操作でき、CLIとの相性が良いといった特徴がある。 主にUNIX系のOSで使われることが多いが、Windowsでも利用可能なものがいくつかある。
参考:
今回はGlazeWMを導入する。
GlazeWMは、C#で書かれたタイル型ウィンドウマネージャ。i3 Window ManagerやPolybarにインスパイアされており、設定はi3のconfigに似たコマンドをYAMLファイルに定義する。
wingetで簡単にインストールできる。
winget install -e --id lars-berger.GlazeWM
設定はYAMLファイル %USERPROFILE%\.glaze-wm\config.yaml
に記載する。
コマンドラインオプション --config
を指定すれば別のパスから設定を読みこませることもできる。
GlazeWM.exe --config="C:/path/to/custom/config.yaml"
- Switcheroo - ウインドウのタイトルをインクリメンタルサーチで絞り込んでサクッとウインドウのフォーカスを切り替えられるツール。
Alt+Tab
の動作を上書きすることができ、シンプルで起動が速いので気に入っている。 残念ながらGlazeWMと併用するとうまくウィンドウを切り替えできない... - fastwindowswitcher - Vimmiumに似たウィンドウスイッチャ。ウィンドウの枠ににショートカットキー表示させ、表示されたキーをタイプするとそのウィンドウにフォーカスを切り替えられる。
choco install switcheroo
キーワードを入力すると、ファイルやアプリケーションを起動できるツール。 Web検索や電卓機能の付いた高機能なものが何種類かある。
winget install -e --id Flow-Launcher.Flow-Launcher
winget install -e --id Microsoft.PowerToys
LinArcX/wmenuはピュアWin32 APIを使うdmenuライクなツール。 コマンドライン引数から動的に項目を生成してキーボード操作のみで高速に要素を絞り込み選択できる。 こういう超シンプルなツールが好き。
Auto Hot Key - 独自のスクリプトを書くことでキーを押下した際のリマップ、プロセスの起動、ウインドウの制御などを定義することができる。文法の癖が強いが書き方を覚えればとても便利。
winget install -e --id Lexikos.AutoHotkey
単にリマップするだけであれば、PowerToysに含まれるKeyboard Managerを使っても良い。
keyrateを使うと、キーのリピート速度や遅延時間をコントロールパネルで設定可能な最大速度を超えて変更できる。
※極端な値を設定すると操作不能になってしまうので少しずつ数値を加減して実行すること。
> keyrate --help
keyrate <delay ms> <repeat ms>
> keyrate 180 20
SKK日本語入力は日本語入力システムのひとつ。一般的なインプットメソッドは形態素解析を行うが、SKKではユーザーが仮名と漢字の境界を明示的に指定する。 習得には慣れが必要だが、形態素解析に起因する変換ミスを防ぎ直感的に日本語の文章を入力することができる。
参考:
CorvusSKK - SKKライクな日本語IME。親切な設定UIが付いておりとても使いやすい。
winget install -e --id nathancorvussolis.corvusskk
インストールしたらキーボードレイアウトの切り替え( Win+Space
)から「CorvusSKK」を選択する。
設定画面はタスクトレイのCorvusSKKロゴマークの隣にあるインジケータを右クリックして「設定」をクリックすると開ける。
SKKの入力では Shift
を多用するため打鍵が大変だが、;
などのキーをシフトしたいキーの前にタイプして Shift
の代わりに使うことができる。これを Sticky Shift という。CorvusSKKでSticky Shiftを実現するには、設定画面の「キー1」の「変換位置」に;
をセットすればよい。
skk-dev/dict CorvusSKKの設定画面→「辞書」で辞書ファイルのパスまたはURLを追加する。下記をコピペすればよい。
https://raw.githubusercontent.com/skk-dev/dict/master/SKK-JISYO.L
Rainmeter - Windowsのデスクトップをおしゃれにカスタマイズできるツール。
shapoco/calctus - CLIのような感覚で使える高機能な電卓。数学・単位計算やグラフ描画もできる。
NextDNSはプロファイルを細かくカスタマイズでき、脅威、悪質な広告、トラッキング等を防げるパブリックDNSサービス。 Windowsサービスとしてインストールできるクライアントが用意されている。
参考:
winget install -e --id NextDNS.NextDNS.Prerelease
他のパブリックDNSサービスとして、以下のようなものがある。
CPU使用率に応じてタスクバーの上でParrotが回り出すCPUモニタ。コア数の多いマシンで動かすと楽しい。
Windows Sysinternalsに含まれるProcess Monitor (procmon
)を使うと、タスクマネージャよりも詳細なプロセスの情報を監視できる。
TUIでサクッとプロセスやCPU、メモリの使用状況を確認したい場合はbottomをよく使っている。コマンド名は btm
。
scoop install bottom
Win11DisableRoundedCorners - Windows 11のウインドウの角を角丸から直角にするツール。細かいけど結構気になる。
Unable to restore DWM
というエラーが出て実行に失敗することがあるが、System32にある uDWM_win11drc.bak
を削除することで解決できた。
詳しくはIssueを参照。
Stealthを使うと、任意のウィンドウを自由に透明化できる。
Tatsu-syo/ReMetricsを使うと、ウィンドウの幅、高さを好みの値に調整することができる。
Sophia Script - 不要なアプリケーションやアンインストール、プライバシーの強化やテレメトリの無効化、UIのパーソナライゼーション、スタートメニューのunpin、セキュリティ設定の変更など、Windowsの高度なカスタマイズが行なえるPowerShellモジュール。
SophiaScriptWrapper.exe
というGUIのラッパーツールも含まれている。
Win-Debloat-Tools - WindowsのBloatな要素を無効化してプライバシー、セキュリティ、パフォーマンスを改善できるツール。
レジストリの値を書き換えることになるので実行は自己責任で。ソースに目を通しておくことを推奨。
Windows Admin Center はローカルネットワーク内にあるWindowsコンピューター(PC/サーバー)をWebコンソールからリモートで管理できる管理者向けツール。 サーバー側にインストールしても良いしクライアント側にインストールしても使える。
WindowsにOpenSSHをインストールすることで、WindowsコンピューターをLinuxサーバーのようにCLIからリモートで管理できる。 簡単にインストールできるようにスクリプトを書いてみた。
- OpenSSH for Windows overview
- Get started with OpenSSH for Windows
- OpenSSH Server configuration for Windows Server and Windows
- Key-based authentication in OpenSSH for Windows
BitLockerを使うこともできるが、VeraCryptという暗号化ディスク作成(復号マウント)ツールもある。 Windows、macOS、Linuxで動作する。
choco install rufus
choco install etcher
choco install win32diskimager
scoop install winfetch
- CPU-Z - CPUの詳細情報を確認できるツール。
scoop install cpu-z
- Crystal Disk Info - ディスクの健康状態を表すS.M.A.R.T.を調査できるツール。
scoop install crystaldiskinfo
- smartmontools - 同じくS.M.A.R.T.の値を照会できるツール。Linuxと同じ
smartctl
コマンドが使える。Windowsには/dev/sda
などのデバイスファイルはないが、Windows版のsmartctl
コマンドでも同じような形式でデバイスを指定する。デバイスの一覧はsmartctl --scan
で確認できる。
scoop install smartmontools
- Awesome Windows - Windowsで使えるAwesomeなアプリケーション・ツールをまとめたリスト