up:: PowerShell_and_Command-Line
脱出はexit。
Windows 11 に WSL2 Ubuntu をインストールして使ってみる【誰でもできるよ】|hiro20180901
一度完全に落とす場合はwsl -t name
。
wsl -l -v
で状態を確認できる。
WSLでUbuntuを停止(シャットダウン)する手順(WSL2) – マゴトログ シュミニイキル
最近はいろいろwindowsの設定を引き継いでくれるが、通信関係のファイアウォールとかはデフォルトでは無理っぽい。
なのでWindows側の~/.wslconfig
に以下を書く。
# .wslconfigに書く
[wsl2]
networkingMode=mirrored
でもこれでもwslのdockerにwindowsのollamaをつなぐとかいう変な設定は流石に無理。
大人しくwslでollamaを使う。
追記:ミラーモードを使うと何故かhttps://registry-1.docker.io/v2/に接続できなくなってしまう。
なので切った。
docker
公式に従う。
Ubuntu | Docker Docs
could not select device driver “nvidia” with capabilities: gpu
wslは標準でGPUを使用しないようにしている。
なのでそれをONにする。Nvidiaドライバーをインストール。
Installing the NVIDIA Container Toolkit — NVIDIA Container Toolkit
WSL でのパーミッション設定・GPU の有効化 WSL2 - Qiita
環境変数をwindowsと共有
Title Unavailable | Site Unreachable
WSL2 LinuxとのWindowsの相互運用性 [Ground Sunlight]
WSL その128 - Windowsの環境変数とLinuxの環境変数を相互に引き継ぎ可能に - kledgeb
WSLENVというところに変数名を入れると、同名の環境変数がWSLに入る。
これは逆も然りで、WSL側の変数にあれば同名の環境変数がwindowsに入る。
一方向にしたい場合、windows → wslなら\u
、wsl → windowsなら\w
スイッチを付ける。
そのままだとパスの違いで意味が無くなるので、\p
をつけて相互変換してもらう。
スイッチを複数点ける場合は\up
のように続けて書く。
パスを複数点ける場合はPATH:PATH
のようにコロンで区切る。
PATHを相互で使用したい場合
windows → wslの解説。exeまとめのパスリストを扱う場合。
まず前提として\l
はいらない。
また、WSLはデフォルトでシステムの環境変数をPATHに引き継ぐ。
これを切りたい場合は以下をwslの/etc/wsl.conf
に書く。
[interop]
appendWindowsPath = false
WSL2でWindowsのPATH設定が引き継がれるのを解除する
直接WSLENVにPATHと指定しても、よくわからないが反映されない。
なので一回別の環境変数にPATHを書き込み、それを共有し、それを~/.bashrc
で読み込むという流れ。
一例として、WSLPATHに一度PATHを書く。
これは%PATH%
を指定すれば勝手に展開してくれる。
これをWSLENVに、WSLPATH/up
のように置いておく。
あとはwsl側でexport PATH=$PATH:$WSLPATH
を.bashrcに書いて、source ~/.bashrc
とすれば毎回読むようになる。
なお、.exeを付けないとちゃんと読んでくれない。
しゃーないのでmiseはmise.exe x -- fd
のようにして呼んでる。
なんかプロセスを消してくれない?
どんどんたまってタスクマネージャーが効かない位PCを重くしたので、あまり同じmiseをwslから使わないようにする。
結局Stop-Process
で止めた。