Windowsへの移行(その1)

Posted by johtani on Sunday, October 18, 2020

目次

ヒゲが不評だったのでいつも通りの長さに切りました。

前回「Windowsをお試し中」と書きましたが、いくつかソフトをインストールしたりしたので現状を忘れないようにブログに残しておきます(また同じ作業する予定なので)

インストールしたものたち

今のところインストールしたのはこの辺。 特にコメントしたいものについてこのあと明記します。

  • ドライバインストール from CD
  • MX Ergoのソフトインストール。接続はコネクター
  • Windowsアップデート
  • Chrome
  • Visual Studio ビルドツール(Lindera用)
  • JetBrains Toolbox
    • IntelliJ
    • CLion
    • Rider
  • Visual Studio Code
  • Slack
  • Teams
  • Google Drive共有
  • Gitter
  • Divvy for Windows
  • Zoom
  • DeepL
  • Sophos
  • Twitter for Windows
  • Office 365
  • AutoHotKey
  • WSL2 - Ubuntu
  • Windows Terminal
  • Rustup
  • Git for Windows
  • wsl-ssh-agent
  • PeaZip
  • Speccy
  • Hugo (WSL2のUbuntuにapt-get install hugoした)
  • PowerToys

AutoHotKey

前回のブログに書いたように、カーソル系のEmacsショートカットが体に染みついて離れないのです。 そこで、ググって見つけた記事はこちらAutoHotKeyというツールが Windowsに常駐して、特定のキー入力の時に、別の操作を実行してくれるツールです。

見つけた記事にあった、https://github.com/lintaro-jp/gtk-emacs-theme-like.ahkのキーマップをもとに、いくつか変更したものを使用させていただいています。

書き換えたのは、以下の通りです。

  • Ctrl+\でIMEの切り替え(Wnn風)
  • Ctrl+kをEmacsと同じ挙動に(もとにしたキーマップでは、カーソルから行末までが削除されてしまう)
  • Win+sでもファイル保存(Ctrl+sと同じ挙動に。デフォルトではCortanaが起動して邪魔くさいので)

すごく快適です。そのうち、もう少し自分が使いやすいようにキーマップを追加していったりするかもしれません。 特に、Macのショートカットがしみついているものについてなどです(仮想デスクトップ切り替えとか?)

PowerToys

Divvyをインストールしたのですが、グローバルショートカットがうまく動かなくていまいちでした(なんでだろ?) そこでググって見つけたのが@ITのPowerToysの記事でした。 PowerToysはMS製のOSSツールで、GitHub上で公開されています。 中には「ColorPicker」、「FancyZones」、「File Explowrer Add-ons」など、複数のツールが入っています。 「FancyZones」です。

Windowsでは、デフォルトで、アプリにフォーカスしているときにWin+カーソルでウィンドウの配置場所をいくつか(左右どちらかに半分、4分の1(右上、左上など))に配置してくれるAero Snapというものが動いています。が、上半分などデフォルトにない柔軟な配置を設定することができません。 MacではDivvyというツールをいれて、それを実施していたのですが、先ほど書いたようにWindows版はあるものの、なぜかグローバルショートカットが動かず、システムタスクトレイのアイコンをクリックしなければいけませんでした。

それを解消してくれるのがFancyZonesです。 FancyZonesの設定項目で、自分で画面上にどのような割り当て領域を作るかを設定できます。さらに、マルチディスプレイ、仮想デスクトップを使っている場合、それぞれのディスプレイかつ仮想デスクトップで個別にレイアウトが設定できるようになります。 レイアウトを設定した後は、Shiftキーを押しながらウィンドウを移動すると、設定した領域が出てきて、あとは、割り当てたい領域にウィンドウを移動するだけでその領域いっぱいにウィンドウをリサイズしてくれます。 また、設定を変えることで、Shiftキーを押さなくてもウィンドウ移動するだけで領域にリサイズすることも可能です。また、Aero Snapの機能をオーバーライドしてWin+カーソルで動作させることも可能になります。

WSL2 + Windows Terminal

三宅さんからコメントを頂いたので。

なんとなく噂は聞いていましたがということで、MSのドキュメントを見ながらインストールしました。クイックスタートに則って作業するだけで特に問題なくUbuntuまで無事インストールできました。 Windows Terminalも同様です(クイックスタートで入れることになる)。

Git for Windows + wsl-ssh-agent

少してこずったのがこちらです。 チュートリアルに記述はあったのですが、どちらで作業するのか?などが少しわかりにくかったので。ググって出てきた記事をもとに作用しました。

RustのプロジェクトファイルをMacから丸ごとコピーしていたのですが、Git for Windowsを入れるまでは、CLion+Rust pluginの環境では、.gitファイルをきちんと認識してくれませんでした(この時WSL2と少し混同してた)。

無事環境は用意できました。 作業の手順は以下のような感じです。 Macで使用していた.sshのディレクトリを持ってきて作業しました。

Windows側での作業

  1. Macから.sshディレクトリをc:\\Users\johta\にコピー
  2. Git for Windowsのインストール
  3. OpenSSHクライアントの設定
    • 管理者権限でコマンドプロンプトを起動して
      • sc config ssh-agent start=auto
      • sc start ssh-agent
  4. [wsl-ssh-agent(https://github.com/rupor-github/wsl-ssh-agent)のインストール
    • ダウンロードして.7zファイルを展開
    • wsl-ssh-agent-gui.exenpiperelay.exec:\\Users\johta\binに移動
    • c:\\Users\johta\bin\wsl-ssh-agent-gui.exeのショートカットをスタートアップに作成
    • 作成したスタートアップのリンク先に -setenv -envname=WSL_AUTH_SOCKを追加
  5. Git BashでOpenSSHを利用するように設定
    • setx GIT_SSH C:\\Windows\system32\OpenSSH\ssh.exe
  6. ssh-addで秘密鍵を登録
    • ssh-add .ssh/id_rsa

WSL2のUbuntuでの作業

  1. Ubuntuはgitがすでに入っていたのでインストールはスキップ
  2. git config --global user.name "Jun Ohtani"
  3. git config --global user.email "メールアドレス"
  4. mkdir .ssh
  5. .bashrcの最後行にwsl-ssh-agentのWSL2 compatibilityにあるexportからfiまでをコピー。この時、パスを自分のパスに変更すること(私の場合$HOME/winhome/.wslの部分を/mnt/c/Users/johta/binに書き換えました)

これで、WSL2側では.sshのファイルを管理しなくても、Windows側のOpenSSHに接続してssh周りの処理をしてくれるようになりました。

PeaZip

wsl-ssh-agentが.7z形式で圧縮されていたので、ダウンロードしました。 とりあえずこれを入れてみたのですが、ほかにお勧めがあれば教えてほしいです。

Speccy

CPUの温度やスレッドごとのCPU使用率などを見てみたいので入れてみました。 これもとりあえず入れてみた感じなので、ほかにお勧めのソフトがあれば教えてもらえればと。 リソースマネージャーでもスレッドごとのCPU使用率は見れたのですが、温度が見れなかったので。

Hugo +

WSL2にあるUbuntuにsudo apt-get install hugoしてインストールしました。

あとは、畠山さんに教えてもらったVSCodeのRemote - WSLを入れて、 WLSに接続した状態でVSCodeを起動して記事のMarkdownを書くと、VSCodeのターミナルを開くとWSL2に接続してくれて、hugoコマンドが実行できます。

まとめ

とりあえず、ブログが書ける環境ができました。 Mac上にあった各種プロジェクトのディレクトリをコピーして、Rustの開発もできるようになりました。

今後も環境構築は続いていきます。Javaとか入ってないし。 SDKMan使ってたけど、切り替えどうしよう?とか。

IDE系から呼び出すターミナルはWSL2がいいなぁとか。

ほかにもおすすめなどがあれば教えてください!


comments powered by Disqus

See Also by Hugo


Related by prelims-cli