新たなPCを入手したため,今まで通りLinux OSに変更しようとした.しかし,なぜかOS install後に一度,シャットダウンするとOSが起動しなくなるというバグに遭遇した.Microsoft Officeでの作業量が増え,いちいちVirtualboxを起動するOverheadの時間も気になっていたので,今回は心機一転,Windows 11で環境設定することにした.
本記事では,Linux OSになれていた筆者がその当時に操作出来ていた環境を出来る限りWindows 11で再現していく方法を説明する.ただ,WindowsがOS業界の覇権を握っている理由も感じられる環境設定の一環だった.
本環境は,Windows 11, WSLはすでに入っており,Windows PowerShellはv5.1であった.
Windowsの見た目の設定
- OSのインストール時は日本語の設定にする.その後,デスクトップ,ドキュメント,ダウンロードフォルダの変更のため,言語設定を英語に変更する.
- フォーカスをすべてオンにする.
設定より,
- 個人用設定 -> 黒の設定.
- 背景,単色
- スタート -> さらにピン留めを多くする.
- 最近追加したアプリを表示する オン
- よく使うアプリを表示する オン
- 最近開いた項目をスタート オフ
- フォルダー -> 設定,エクスプローラー オン
- システム -> ディプレイ -> 拡大/縮小 200%
- アクセシビリティ
- -> テキストのサイズ 120%
- -> Bluetoothとデバイス -> マウス
- タッチスクリーン機能をoffにする.
- Device manager -> Human Interface Devices -> HID-compliant touch screen -> Disabled
- フォルダー
- -> 詳細表示.
- -> 表示 -> 表示 -> 隠しファイル/拡張子
- 日本語のフォルダ名を英語に変更していく.
- -> Sort -> Groupby -> None
- Disable “Show more options” context menu in Windows 11
- 次をWindows PowerShellで入力
reg add "HKCU\Software\Classes\CLSID\{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}\InprocServer32" /f /ve
- タスクバー位置変更
- ExplorerPatcherのインストール
- How to move Taskbar to top or side on Windows 11 記事参照のこと
- スタートアップアプリ
- Microsoft Teamsを外す.
ターミナルの選定
LinuxにおけるBashに該当するものを探した.検索して直ぐにヒットするのはCmderなどであるが,シンプルにWindows PowerShellを用いるのが良い.設定を適切にすれば,Windows PowerShellからPython, R, Julia, Docker/docker-compose, git, vimを使用することが可能だ.
また,vimに関してはVS code内のextensionが良い.結局,VS codeのIDEの環境がWindowsと相性が良いのと様々な機能が統合されているため,設定も煩雑ではなく安牌かつ効率的な選択肢となる.(わざわざ避けてきた側面もあるので少し悔しいという.)
Windows PowerShellの細やかな設定の前に,ソフトウェアをいろいろダウンロードしておこう.
ソフトウェア,プログラミング言語のインストール
以下のものをインストールしていく.
- Google Chrome
- Docker
- Install Docker Desktop on Windows
- PowerShell上で
wsl --update
- Grammarly: Google chromeのextension, microsoft用のextensionも.
- Zoom
- Dropbox
- Kindle
- Zotero
- Webdavの設定はこちら.[Docker, Nginx] Zoteroの容量をwebdavを自前で用意して拡張する
- Open PDF using the default browser.
- Git: インストール時にWindows PowerShellに統合するオプションがあるので選択しておく.
- Vim
- Vim Windows Install Guide – How to Run the Vim Text Editor in PowerShell on your PC
$HOME/vimfiles/vimrc
よりUnixにおける.vimrc
の設定を反映させておく.(ちょこっとしたときにファイルを軽くいじるときように.メインの開発ではVS codeのvim extensionを用いる.)
- VS code: vim, Docker, Julia, python, Rのextentionもインストール.
プログラミング言語は以下の通り.Jupyterlabでも使えるようにパッケージを次々放り込んでいく.
- Pythonはanacondaを用いて.
- Anaconda PowerShellからローカル環境用にjupyterlabをインストールする.以下のコマンドをAnaconda PowerShellから実行する.
conda install -c conda-forge jupyterlab
pip install jupyterlab-vim
Windows Powershellからanaconda経由のパッケージを利用するためには、conda init powershell
をタイプする.詳細については次のサイトを参照のこと.How can I activate a Conda environment from PowerShell? またこのコマンドにより後で説明するposh-gitの設定が狂うので、~/Documents/WindowsPowerShell
に存在するprofile.ps1
からImport posh-git
の行を上に持ってくること.Conda environment name hides git branch after conda init in Powershell
- R
- Julia
Using Pkg Pkg.add("IJulia") Pkg.build("IJulia")
Windows PowerShellの設定
Windows PowerShell上の見た目でgitの状態を反映させるためposh-gitをインストールする.少し厄介.Chocolatelyによるインストールでは最新版の1.0.0以上を入手できないためマニュアルでのインストールを行う.
以下のコマンドでインストールできる
Get-ExecutionPolicy Set-ExecutionPolicy -Scope CurrentUser # type RemoteSigned PowerShellGet\Install-Module posh-git -Scope CurrentUser -AllowPrerelease -Force PowerShellGet\Install-Module posh-git -Scope CurrentUser -Force
vimで$PROFILEを以下のように編集する.PowerShellのプロンプトでコマンドを改行するため.細かい設定に関しては Customizing the posh-git prompt
を編集する.
Import-Module posh-git $GitPromptSettings.DefaultPromptBeforeSuffix.Test = '`n'
ちなみに,以下のコマンドで必要な情報をチェックできる.
- Windows PowerShellのversion:
$PSVersionTable.PSVersion
- posh-gitのversion:
Get-InstalledModule
. 注: posh-gitはPowerShellGetで管理されているため.
ショートカットキー
作業する上でショートカットキーは効率化の要である.
全般.
Super + E
: Explorerを開く.
Windows PowerShell上でのshortcut keys
Alt + Shift + +/-
: 縦/横に画面分割.Ctrl + Shift + w
: タブを閉じる.ii .
: 現在のフォルダーを開く.
VS code上のshortcut keys. Visual Studio Code Tips and Tricksの記事を参照のこと.また,チートシートが各OSごとに整備されている.Windows用はこちら.僕はVimユーザーのため,ここに載っている多くの機能はvimの機能で代用orが凌駕している.追加で覚えておきたいshortcut keysは以下.
- Ctrl + ` : ターミナルを開く,閉じる.
- Ctrl + tab: ファイルタブを移動.
- Ctrl + shift + e: Explorer filedに移動.
- Ctrl + shift + f: ファイル内を検索.
実際の作業においては,Windows PowerShellをまず開き,cd/lsで目的のフォルダーに移動.code . でVS codeを開き,Alt + TabでPowerShellに戻り,docker compose upでcontainerを起動.そのあと,VS codeとJupyter labで開発を進める.
~~~~雑感~~~~
Linux OSインストール時に復元ファイルが入っていたEFIのパーティションを消去してしまったこともあり,Windows 11のインストールにネットワークドライバーがなく,詰むという事象が発生した.OSインストールは自己責任というのを実感した.
また,Windows上でもLinux likeな操作や画面表示の多くが出来るようになっており,以前ほどのWindows忌避を感じなくて済んだ.多くのアプリとも互換性があり,ストレスを感じる場面が少ない点も当たり前だが強みだ.
コメント