Ubuntu Weekly Recipe

第680回 LXDコンテナ上のWindowsでWSL環境を整える

この記事を読むのに必要な時間:およそ 5.5 分

UbuntuとWSLの間のファイルの送受信

SSHなどのサービスが動いていない状態でのWSL/Windows間,WSL/ホスト間のファイルの送受信の方法を考えてみましょう。

WSLとWindowsの間のファイルの送受信

WSLとWindowsの間のファイルの送受信についてはWSL関連の説明サイトならおそらくどこにでも書かれていることでしょう。よってここでは基本的な部分だけ説明します。

まずWSLからWindowsですが,WSLの中は/mnt/c以下にCドライブがそっくりそのまま見えています。よってあとは必要な場所に普通のCLIのやり方でコピーすれば良いだけです。もちろん一般ユーザーで書ける場所は限られています。 たとえばWindows上の「ダウンロード」なら/mnt/c/Users/<Windows上のユーザー名>/Downloads/となります。Windowsのパスは比較的安易に半角スペース等が含まれる点は注意してください。

Windowsからならファイルエクスプローラーを開いた上で,⁠Ctrl-l」を押し,アドレスバーに\\wsl$と入力します。これでディストリビューションごとのファイルシステムがネットワークファイルシステムとしてアクセスできます。 GUIでアクセスしたい場合はこちらが便利でしょう。

図6 ファイルブラウザーからホームディレクトリを見た様子

図6

WSLとホストのUbuntuの間のファイル送受信

今回はホスト上のUbuntuマシンの上で動いているLXDのインスタンスとしてWindowsを起動し,そこにWSLをインストールする想定でした。 つまりホストのUbuntuがメイン環境であり,WSLはサブ環境になります。この2点間でファイルのやりとりができると便利です。

一番わかりやすいのはホスト側にSSHサーバーかSambaクライアントを入れてしまうことです。 しかしながらたまにしかやりとりしないなら若干オーバーキル気味です。

そこで今回はRemminaのファイル共有を使ってみましょう。 前回の手順通りに実施していたら,WindowsにはRemminaでRDP経由の接続を行っていると思います。まずは一旦ログアウトして切断しておきます。

次にRemminaのメインウィンドウからセッションを右クリックして「編集」を選択し,基本設定タブを開きます。 ⁠共有フォルダー」という項目があるはずですのでそこにチェックを入れて,選択メニューから「その他」を選択してください。

ホームディレクトリなどの適当な場所で,右上の「フォルダーを作成します」のボタンから「Share」といった英数字の名前のディレクトリを作成してください。日本語フォルダー名はバージョンによってはきちんと表示できないため,英数字にすることをおすすめします。

作成したら「開く」ボタンを押して,そのフォルダーを選択し,保存ボタンを押して完了です。ちなみに今回は新規にフォルダーを作成しましたが,別に英数字の名前であれば既存のフォルダーでもかまいません。

あとは再度Windowsに接続します。ファイルエクスプローラーを起動して「PC」を選択すると「<Ubuntuのホスト名>の<共有フォルダー名>」といった形で表示されるはずです。

図7 Remminaの機能で共有されたフォルダー

図7

しかし残念ながらこのフォルダーをWSLから直接見る方法は存在しません。DrvFsでマウントできるものの,アクセスはできません。おそらくWSL側での対応が必要です。当面は前述の「WSLとWindowsの間のファイルの送受信」を駆使すると良いでしょう。特にWindows Terminalからならcd \\tsclient\<共有フォルダー名>で共有ディレクトリに移動できるため,タブを駆使すればキーボードだけでファイルのやりとりが可能です※5⁠。

※5
ここまでやるなら普通にWindowsのファイル共有使ったほうがいいかもしれません。さらに言うと,どうもRemminaの共有フォルダーは安定度が悪いような感じです。何度かアクセスできなくなることがあり,そのたびに再接続していました。

WSLは非常にユーザーの多いツールであり,さまざまなところでいろいろな知見が公開されています。ぜひ導入して夢のCLI生活を堪能してください。

図8 Ubuntuだけで生活できるタイプの人なら,直接Ubuntu使ったほうが楽だとは思う

図8

著者プロフィール

柴田充也(しばたみつや)

Ubuntu Japanese Team Member株式会社 創夢所属。数年前にLaunchpad上でStellariumの翻訳をしたことがきっかけで,Ubuntuの翻訳にも関わるようになりました。