= WSL (Windows Subsystem for Linux) = <> == WSLとは? == Windows上でLinux(UbuntuやDebianなど)をそのまま動かすための仕組みです。 重力波解析のツール(gwpy, LALSuite, nds2など)はLinuxネイティブで開発されているものが多く、Windowsで直接動かすよりも、WSL上のLinuxで動かすほうがトラブルが少なく、動作も高速です。 現在は '''WSL 2''' が標準です。仮想マシンでありながら起動が非常に速く、Windows側のファイルへのアクセスも容易です。 == インストール方法 (Windows 10/11) == 2025年現在、コマンド1発でインストールが完了します。 1. '''PowerShellを管理者権限で起動する''' * スタートボタンを右クリック → 「ターミナル (管理者)」または「PowerShell (管理者)」を選択。 2. 以下のコマンドを入力して実行する。 {{{ wsl --install }}} * このコマンドだけで、必要な機能の有効化、最新のWSLカーネルのダウンロード、そして標準ディストリビューション(通常は '''Ubuntu''')のインストールが行われます。 3. '''PCを再起動する''' * 再起動後、自動的にセットアップ画面が立ち上がります。 === Ubuntu以外のディストリビューションを入れたい場合 === Debianなど、別のLinuxを入れたい場合は、インストール前にリストを確認して指定します。 {{{ wsl --list --online wsl --install -d Debian }}} == 初期設定 == 再起動後、黒い画面(ターミナル)が開き、初期設定が始まります。 1. '''ユーザー名とパスワードの設定''' * {{{Enter new UNIX username:}}} 好きなユーザー名(英小文字)を入力 * {{{New password:}}} パスワードを入力('''入力しても画面には何も表示されませんが、認識されています''') 2. '''パッケージの更新''' * インストール直後は中身が古いので、以下のコマンド(おまじない)を実行して最新の状態にします。 {{{ sudo apt update && sudo apt upgrade -y }}} == WindowsとLinuxのファイルのやり取り == WSLの最大の特徴は、WindowsとLinuxでファイルを相互に参照できる点です。 === Linux側からWindowsのファイルを見る === WindowsのCドライブは {{{/mnt/c/}}} にマウントされています。 例えば、Windowsの「デスクトップ」にあるデータにアクセスするには以下のようにします。 {{{ cd /mnt/c/Users/(Windowsのユーザー名)/Desktop ls }}} === Windows側からLinuxのファイルを見る === エクスプローラーのアドレスバーに以下を入力します。 {{{ \\wsl$ }}} ネットワークドライブのように、インストールされているLinux(Ubuntuなど)のフォルダが見えます。解析コードやデータはここに置いておき、WindowsのVS Codeで編集するスタイルが一般的です。 '''! 重要: ファイルシステムの速度について''' 解析で使用する巨大なデータや、頻繁に読み書きするスクリプトは、Windows側({{{/mnt/c/}}})ではなく、'''Linux側({{{~/}}} や {{{/home/ユーザー名/}}})に置くこと'''を強く推奨します。 Linux側からWindows側のファイルを読み書きすると、ファイルシステムの違いにより動作が非常に遅くなることがあります。 == 解析環境の構築 == Linuxが動いてしまえば、あとはLinux用のMiniforgeを入れるだけです。 1. [[../Conda|Condaのページ]] を参照し、'''Linux用''' のインストーラー ({{{Miniforge3-Linux-x86_64.sh}}}) をダウンロードする。 {{{ wget https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-Linux-x86_64.sh bash Miniforge3-Linux-x86_64.sh }}} 2. 以降の手順は、Condaのページの通りです。 == グラフの表示 (GUI) == Windows 11 (および最新のWindows 10) では '''WSLg''' という機能が標準搭載されており、特別な設定なしで {{{plt.show()}}} などのグラフ描画ウィンドウが表示されます。 (かつてのように VcXsrv や Xming をインストールする必要はありません) 動作確認として、簡単な目の動きを表示するアプリ {{{xeyes}}} を試してみましょう。 {{{ sudo apt install x11-apps xeyes }}} これで目玉のウィンドウが表示されれば、matplotlibのグラフも問題なく表示されます。 == VS Code との連携 (推奨) == WSLを使う場合、エディタはWindows側にインストールした '''Visual Studio Code (VS Code)''' を使うのが最も快適です。 1. Windows側に VS Code をインストールする。 2. VS Code の拡張機能 '''「WSL」''' (Microsoft製) をインストールする。 3. WSL(Ubuntu)のターミナルで、編集したいディレクトリに移動し、以下のコマンドを打つ。 {{{ code . }}} 4. VS Codeが立ち上がり、左下に「WSL: Ubuntu」と表示されれば成功です。これで「Windows上のエディタで、Linux内のファイルを編集・実行」できます。 = クラウドストレージ (Dropbox / Google Drive) の利用 = <> == ! 重要: Dropbox のデータが壊れて見える問題 == WindowsにインストールしたDropbox内のデータを、WSL側 (`/mnt/c/Users/.../Dropbox`) から直接読み書きすることは'''推奨されません'''。 Windows版 Dropbox は「スマートシンク (オンラインのみ)」機能などを実現するために、Windows特有の「リパースポイント」という仕組みを多用しています。 WSL (Linux) 側はこの特殊なファイル形式を正しく解釈できないことが多く、以下のようなトラブルが発生します。 * '''ファイルが壊れている''': テキストファイルの中身が空、あるいはバイナリのように見える。 * '''アクセス拒否''': `cat` や `ls` で I/O Error や Permission Denied が出る。 * '''同期の競合''': WSL側でファイルを開いている間にWindows側で同期が走り、ファイルがロックされる。 === 回避策 === 解析を行う際は、以下のいずれかの方法を採ってください。 1. '''作業用ディレクトリにコピーする (推奨)''' * Dropbox上のデータを直接解析するのではなく、一度 WSL内のホームディレクトリ (`~/work` など) にコピーしてから解析する。 {{{ cp -r /mnt/c/Users/User/Dropbox/MyData ~/analysis/ }}} 2. '''Linux版 Dropbox を WSL 内にインストールする''' * 常に同期させたい場合、Windows版とは別に、WSL内にもLinux版Dropbox(CUI版)をインストールする。ディスク容量は消費するが、最も安全。 == Google Drive の利用 == Google Drive (パソコン版ドライブ) は、仮想ドライブ(`G:` など)としてマウントされるため、Dropboxよりはトラブルが少ない傾向にあります。 ただし、WSLのデフォルト設定では `C:` 以外のドライブが自動マウントされないことがあります。 === Google Drive (Gドライブ) をWSLで見る方法 === もし `/mnt/g` が存在しない場合は、以下のコマンドで手動マウントできます。 {{{ sudo mkdir -p /mnt/g sudo mount -t drvfs G: /mnt/g }}} これで `cd /mnt/g` でアクセスできるようになります。 ただし、Dropbox同様、ネットワーク越しのファイルアクセスは非常に遅いため、'''「解析に必要なデータだけをLinux側 (`~/`) にコピーして使う」'''のが基本ルールです。