普段使いしているUbuntuで致命的な問題が起こり実用に耐えなくなってしまったので急遽IE確認用に残しておいたWindowsを開発機として使うことにしました。次こういうことが起こった時にスムーズに対処できるようにするためのメモを残します。
WindowsをIEの動作確認に利用する程度で全くセットアップされておらず、ほぼクリーンインストール直後と同じ状況でした。
なお、もともとWindowsに詳しいユーザにとって特に目新しいことはないと思います。そして吟味されていない不適切な方法が掲載されている可能性があります
新しいPCが届くまでのつなぎとして情報の吟味をほとんどしてないため、より良い選択肢があれば教えてもらえると喜びます。
環境を整えるためにいろいろインストールしていくので脆弱性のパッチなどはあらかじめ当てておきたい。ということで長いこと溜め込んでたWindows Updateを実行します。
私の場合Windows 10のメジャーアップデート(?)があったようで100Mbpsの有線接続で3-40分くらい放置しました。
US配列を使っているのですがWindowsはJIS配列として認識されていました。
IEにURLを打つ程度なら問題なかったのですが、さすがにコード書くとなると記号の入力が壊滅しているのは厳しいので修正しました。
— Ctrl2Capツールで[Ctrl]と[CapsLock]キーを入れ替える(Windows編):Tech TIPS - @IT
純正のツールでキーマップを変更できたので取り急ぎこれを使った。
ただ後述するキーマッピングの変更ソフトを使って一元管理したほうがよさそうです。
仕事では日本語を入力しないので英語しか入力できなくても大きな支障はないですが、日本語が入力できないとTwitterやブログ書くのに不便なのでやります。
もともとUbuntuでも使用していた「左右の⌘キー/Altキーで日英の切り替え」ができる手段の1つがこちらです。
— karakaram/alt-ime-ahk
— WindowsのAlt空打ちで日本語入力(IME)を切り替えるツールを作った - karakaram-blog
AutoHotKeyというソフトを使ってAltを単押ししたときだけ日英を切り替えるスクリプトだそうです。
@euxn23から教えてもらったのですがAHKより良い手段がいろいろあるそうで、現キーマップが動かないor物足りなくなったら試行錯誤してみようと思います。
ahk 不安定なので nodoka (yamy の後継)がおすすめですよ。変なことしないなら PowerToys のキーボード拡張でも事足ります
— ユーン🍆 (@euxn23) August 6, 2020
単にBluetoothデバイスとしてペアリングすると最低限マウスとしては動作します。
しかしマウスの移動とクリックしかできず、スクロールやその他ジェスチャはすべて使えません。これではMagic trackpadを利用する意味がありません。治します。
まず出てきたのがこちらのOSSで作成されているドライバ。Bluetooth接続には対応してない(ロードマップには入っている)ので有線接続でのみ動作します。
次に出てきたのがこちら。有償ですが品質は高いそうです(試してない)
mac-precision-touchpadがよくできているので、結局そちらを使っています。
本当は無線のまま使えたら良かったのですが、OSSもしくはフリーソフトでBluetooth対応しているドライバはなかった+USBポート1つ空いてたので有線接続しました。
こちらの記事の通りです。
特に用はないのですが、とりあえずLinuxのターミナルとVSCodeの環境を用意しておけばWindows固有の問題に詰まった時に回避できそうなので用意しておきます。
といってもやることはExtension入れるだけです。
— Developing in the Windows Subsystem for Linux with Visual Studio Code
公式ドキュメントがあったのでこの通り進めてOpenSSHを有効化します。
— Installation of OpenSSH For Windows Server | Microsoft Docs
するとPowerShellでssh-keygenが使えるようになります。UNIX系OSと同様のやり方でキーペアを生成し、パーミッションを確認しておきます。
GitHubに公開鍵を登録し、そもそもSSHが動いているか、パーミッション周りが適切か調べておくとこの先のトラブルが少ないと思います。
私の場合はEC2においてある開発用のコンテナに接続して開発しているので、ローカルに開発環境を整える必要はありません。
VSCodeでSSHできればいいのですが思った以上にハマったので残しておきます。
VSCodeのRemote - SSH
というExtensionをインストールし、SSHの設定ファイル(パスは違うけど~/.ssh/configと同じもの)を開いて必要な設定を書き足します。
— Developing on Remote Machines using SSH and Visual Studio Code
公開鍵認証を用いた1段階のSSHであれば問題なく接続できたのですが、踏み台を用いた多段SSHでよくわからないエラーが起きました。
具体的にはProxyCommand
が動作しません。ProxyCommandの設定内容を直接SSHコマンドとして実行すると動作するのですが、なぜかSSHできない場合はおそらくこれが原因です。
ProxyCommand
コマンドの中身を貼り付けて実行してエラーになるようなら別の問題です。ググりましょう。
デフォルトでインストールされるOpenSSHのバージョンにはバグがあるようで、SSHコマンドを最新に更新する詳しい手順があるのでそれに従います。
手順通りsshコマンドをアップグレードしたところProxyCommandが期待通り動き、VSCodeで多段SSH環境に入れるようになりました。
こちらのコメントに手動で修正する方法が紹介されています。 https://github.com/microsoft/vscode-remote-release/issues/18#issuecomment-507258777
「スタートアップ アプリ」という設定があるのですが、この設定画面からは項目を追加できません。
スタートアイコン(Windowsマーク)を右クリックし「ファイル名を指定して実行」を押下し、shell:startup
と入力すると、起動時に自動起動してほしいアプリを置いておくフォルダが開かれます。
このフォルダにexeのショートカットまたはexe本体を配置しておくと自動起動するようです。
フォルダにいろいろ追加してみると「スタートアップ アプリ」の設定画面にも反映されていました。
なんでGUIの設定画面から設定できないんだろう。
私はSteamなどのゲームもしないしWindows専用のソフトも何も使ってないため、真剣にWindowsを触ったのはWeb制作会社でバイトしてた頃の貸与PCぶり(8年前)でした。
その頃はAdobeのDreamweaverとSublime Text、ターミナルにはGit for Windowsを使ってました。
当時と比べて(今更ですが)WSLの登場だったりエディタの進化だったりOSの進化だったりによってかなり使いやすくなってると感じました。正直このままメインマシンとして使ってもいけそうな予感がしています。
仕事ではEC2に開発環境を置いてあるためローカルの動作環境が一切なくてもいい点が幸いでした。
そのためまだlocalhostを立てたこともなくWSL化のUbuntuも酷使していません。
趣味のコードを書き始めれば何か問題が見つかると思います。何かあれば逐次追記します。
以上雑記でした。