LoginSignup
4
6

More than 3 years have passed since last update.

Linux育ちの人間がWindowsでターミナルを使う道

Posted at

これはなに

Unixコマンドじゃないとやだと駄々をこねる人間がWindowsで生きるために試行錯誤してWSLとかWindowsTerminalとかchocoとかに救命してもらうお話
内容はないよ

今までのWindowsのターミナル事情をおさらいしよう

CMD.exe

  • 見た目のカスタマイズに弱いイメージ
  • 公式的には手放したいのにできなくて放置だったはず(Win7くらいの時)なのに最近いろいろ改善された
  • これ自体に罪はない(はず)

powershell.exe

  • 諸悪の根源(?)
  • スクリプトなのはすごくいいし.Netのオブジェクトとかも叩きやすい
  • コマンドレット長すぎ問題にぶちあたる
  • 方式が違いすぎてこれでCMD置き換えるのは無理だと思う
  • これ自体はいいツールで罪はない(ISEとか付属するし)

Cygwin

  • Unixライクなコマンド使おうとすると一度は通るやつ
  • 全部がCygwinのdllにつながってるのがちょっと...
  • POSIX完全再現を目指しすぎてて重い
  • 最近は嫌がられるイメージ

MSYS2

  • もとはCygwin
  • だけど最近はこっちがおおいイメージ
  • 多分MinGWと一緒に使われるからだと思う(確証なし)
  • もとはCygwinなのでこれでビルドしたのはMSYSでしか動かない

MinGW

  • UnixツールをWindowsネイティブにしましょうプロジェクト(あまり正確ではない)
  • クロスコンパイル環境にはほぼ必須
  • Terminalかって言われるとそうでもない

今のターミナル事情はすごい!

久しぶりに戻ったWindowsのターミナル事情が変わりすぎてまじでびっくりした

Windows Subsystem for Linux (WSL)

こいつやばい
昔あった(今もあるかも)coLinuxみたいな感覚で起動できて(仕組みは全然違うけど)、公式のサポートがついて、多くの人が使ってる(最重要
X11もいれるとWindowsにGNOME Terminalを起動することができる
セットアップはそこらへんに転がってるので検索してLGTMに入れましょう

Git Bash

MinGW+MSYS2だけどGitにくっついてくるのでなんだかんだ使いやすい
ほぼBashのためだけにいれた
chocoで入れるときはオプション打たないとコマンドラインツールはいらないので気を付けよう

Windows Terminal

なにこれ
複数Shell同時に動かせるし、タブもあるし分割もできるし、カスタムがJSONだし、Macのデフォターミナルの5000倍くらいいいと思う(個人的感想)
MSStoreからいれよう

Chocolatey

MacでいうHomeBrew、Debianでいうapt、Fedoraでいうyum
パッケージ管理ツールが成熟して私はうれしいですわよ
いろいろ突っ込みすぎてなにいれたか忘れた
インストール方法:

 Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))

これらを混ぜ合わせると

wsl.PNG
wsl2.PNG
これがWindowsですか...

4
6
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
6