Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save sheepla/e5cf901223554426d420ce42cd34b964 to your computer and use it in GitHub Desktop.
Save sheepla/e5cf901223554426d420ce42cd34b964 to your computer and use it in GitHub Desktop.
LinuxユーザーのためのWindowsカスタマイズガイド

LinuxユーザーのためのWindowsのおすすめツール・アプリケーション+個人的なカスタマイズガイド

これはなに?

普段は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スクリプトを書くことで拡張/カスタマイズできる。

参考:

scoop / nyagos で始めるコマンドライン生活 - Zenn

ファイルマネージャ

  • Files - Explorerの代替として使える高機能なファイルマネージャ。
  • gokcehan/lf - Goで書かれたrangerライクなTUIファイルマネージャ。高速/直感的に操作できるのでお気に入り。

パッケージマネージャ

  • Chocolatey - 人気のパッケージマネージャ。パッケージ数が多くて便利。
  • Scoop - シンプル指向のコマンドラインインストーラ。CLIツールなど、ポータブルなソフトウェアを導入するときはこちらを使っている。
  • Winget - Microsoft製のパッケージマネージャ。Webからパッケージを検索できるwinget.runというサイトもある。

個人的にはコマンドラインツールなどのポータブルなソフトウェアはscoop、非ポータブルなソフトウェアなソフトウェアはWingetやChocolateyを使うといった使い分けをしている。

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を使う

Scoopは下記のように導入する。

# PowerShell (not admin)
iwr -useb https://get.scoop.sh | iex

# extrasバケットを追加
scoop bucket add extras

# scoopはaria2cをインストールすると自動でaria2cを使うようになるので、
# ダウンロードの高速化が見込める。
scoop install aria2c

shilangyu/scoop-searchscoop search コマンドの高速な代替。PowerShellの $PROFILE に下記を記述すれば、フックを使って scoop search コマンドを置き換えることができる。

Invoke-Expression (&scoop-search --hook)

sudoコマンドを使う

gsudoを導入すると、Linuxのsudoコマンドのように新しいコンソールを立ち上げずに管理者権限を得て昇格することができる。 資格情報をキャッシュしてUAC: ユーザーアカウント制御の確認を省略できたり、PowerShellのスクリプトブロックを渡すことができたりと高機能なのが特徴。

同様のツールとして、Goで書かれたmattn/sudoもある。

scoop install gsudo

システムフォントの変更

Tatsu-syo/noMeiryoUIを使うと、Windowsのシステムフォントを変更できる。

UIフォントは BIZTERIBM Plex Sans JP を指定すると綺麗。

フォントインストールの自動化

フォントをインストールする際に手動でポチポチやるのが面倒なのでインストーラスクリプトを書いた。

FontInstaller

PowerShellスクリプトを実行するには、実行ポリシーをRemoteSignedに変更する。 (影響範囲を Processスコープに限定すればシステムの設定を変えずに済む。)

あとは、スクリプトの引数にTrueTypeフォント (*.ttf)、OpenTypeフォント(*.otf)のパスを指定してスクリプトを実行するとフォントを自動でインストールできる。 ZIPファイルを指定すると自動でTempディレクトリに展開してインストールする。

Set-ExecutionPolicy -Scope Process RemoteSigned -Force
./Install-Font SomeFont.zip

ウィンドウマネージャ

タイル型ウィンドウマネージャはウィンドウマネージャの一種で、ウィンドウを重ねずに分割して管理してくれるプログラム。 アプリケーションを大量に開いても操作が煩雑になりにくい・カスタマイズ性が高い・キーボードから手を離すことなく高速に操作でき、CLIとの相性が良いといった特徴がある。 主にUNIX系のOSで使われることが多いが、Windowsでも利用可能なものがいくつかある。

参考:

Zenn - komorebiを導入してみる

今回はGlazeWMを導入する。

GlazeWMとは

GlazeWMは、C#で書かれたタイル型ウィンドウマネージャ。i3 Window ManagerやPolybarにインスパイアされており、設定はi3のconfigに似たコマンドをYAMLファイルに定義する。

GlazeWMの導入

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

dmenuライクな動的絞り込みUIメニュー

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日本語入力とは

SKK日本語入力は日本語入力システムのひとつ。一般的なインプットメソッドは形態素解析を行うが、SKKではユーザーが仮名と漢字の境界を明示的に指定する。 習得には慣れが必要だが、形態素解析に起因する変換ミスを防ぎ直感的に日本語の文章を入力することができる。

参考:

SKK - ニコニコ大百科

CorvusSKKを導入する

CorvusSKK - SKKライクな日本語IME。親切な設定UIが付いておりとても使いやすい。

winget install -e --id nathancorvussolis.corvusskk

インストールしたらキーボードレイアウトの切り替え( Win+Space )から「CorvusSKK」を選択する。 設定画面はタスクトレイのCorvusSKKロゴマークの隣にあるインジケータを右クリックして「設定」をクリックすると開ける。

Shiftの多用から小指を守る

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)

Rainmeter - Windowsのデスクトップをおしゃれにカスタマイズできるツール。

電卓(Calctus)

shapoco/calctus - CLIのような感覚で使える高機能な電卓。数学・単位計算やグラフ描画もできる。

DNS

NextDNSはプロファイルを細かくカスタマイズでき、脅威、悪質な広告、トラッキング等を防げるパブリックDNSサービス。 Windowsサービスとしてインストールできるクライアントが用意されている。

参考:

新進気鋭のDNSサービス「NextDNS」を使うと何ができるのか?

winget install -e --id NextDNS.NextDNS.Prerelease

他のパブリックDNSサービスとして、以下のようなものがある。

CPUモニタ

CPU使用率に応じてタスクバーの上でParrotが回り出すCPUモニタ。コア数の多いマシンで動かすと楽しい。

tomozh/PPCpuMon

プロセスモニタ

Windows Sysinternalsに含まれるProcess Monitor (procmon)を使うと、タスクマネージャよりも詳細なプロセスの情報を監視できる。

TUIでサクッとプロセスやCPU、メモリの使用状況を確認したい場合はbottomをよく使っている。コマンド名は btm

scoop install bottom

Windows 11のウィンドウの縁を直角にする

Win11DisableRoundedCorners - Windows 11のウインドウの角を角丸から直角にするツール。細かいけど結構気になる。

Unable to restore DWMというエラーが出て実行に失敗することがあるが、System32にある uDWM_win11drc.bak を削除することで解決できた。 詳しくはIssueを参照。

Issue #35

ウィンドウの透明化

Stealthを使うと、任意のウィンドウを自由に透明化できる。

ウィンドウデザインの調整

Tatsu-syo/ReMetricsを使うと、ウィンドウの幅、高さを好みの値に調整することができる。

システムのDebloat化

Sophia Script - 不要なアプリケーションやアンインストール、プライバシーの強化やテレメトリの無効化、UIのパーソナライゼーション、スタートメニューのunpin、セキュリティ設定の変更など、Windowsの高度なカスタマイズが行なえるPowerShellモジュール。 SophiaScriptWrapper.exeというGUIのラッパーツールも含まれている。

Win-Debloat-Tools - WindowsのBloatな要素を無効化してプライバシー、セキュリティ、パフォーマンスを改善できるツール。

レジストリの値を書き換えることになるので実行は自己責任で。ソースに目を通しておくことを推奨。

Windows Admin Centerによるリモート管理

Windows Admin Center はローカルネットワーク内にあるWindowsコンピューター(PC/サーバー)をWebコンソールからリモートで管理できる管理者向けツール。 サーバー側にインストールしても良いしクライアント側にインストールしても使える。

SSHによるリモート管理

WindowsにOpenSSHをインストールすることで、WindowsコンピューターをLinuxサーバーのようにCLIからリモートで管理できる。 簡単にインストールできるようにスクリプトを書いてみた。

Install-OpenSSH.ps1

暗号化ディスクの作成

BitLockerを使うこともできるが、VeraCryptという暗号化ディスク作成(復号マウント)ツールもある。 Windows、macOS、Linuxで動作する。

USBフラッシュメモリ、SDカードメディアへのディスクイメージの書き込み

choco install rufus
choco install etcher
choco install win32diskimager

システム情報の照会

scoop install winfetch
  • CPU-Z - CPUの詳細情報を確認できるツール。
scoop install cpu-z
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なアプリケーション・ツールをまとめたリスト
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment