wet-to-dry’s blog

京大大学院生の備忘録ブログ

WindowsのWSLでNGS解析するための準備2

目次

概要

今回のテーマは、

WSL上でホームディレクトリをOnedriveの共有ディレクトリに変更する

です。

以前、Windows10にWSL(Windows Subsystem for Linux)を導入する方法について紹介しました。

wet-to-dry.hatenablog.com

導入してからあまり弄れていなかったんですが、ふと久しぶりに前の記事を読み直したとき、

このホームディレクトリ、Windowsから探しづらくね???

となったので、ホームディレクトリをいつもお世話になっているOnedriveの共有ディレクトリに移しました。

やったこと

1. 前準備

まず、Onedrive for windowsは入れておいてください。

onedrive.live.com

これで、

C:\Users\username\OneDrive\

フォルダが共有フォルダとして作成されるはずです。

僕は京都大学のofficeアカウントを年間1320円で使っているので

www.s-coop.net

このアカウントの共有フォルダは

C:\Users\username\OneDrive - Kyoto University\

に入っています。*1

2. ホームディレクトリの設定

前回と同じく、

sudo vi /etc/passwd

でパスワードファイルを開き、最終行

username:x:1000:1000:"",,,:/home/username:/bin/bash ←初期設定
username:x:1000:1000:"",,,:/mnt/c/ubuntu:/bin/bash ←前回の記事

username:x:1000:1000:"",,,:/etc/c/Users/username/ONEDRI~1/xxx/xxx:/bin/bash

へと変更する

変更部分の「/etc/c/Users/username/」は名前の通り。また、「/xxx/xxx」は、僕が設定したpathをぼかしてるだけです。使いたいホームディレクトリになるようなpathにしてください。

windowsのpath「/OneDrive - Kyoto University/」には半角スペースが含まれているため、bashがうまく識別しない。*2

下記のサイトにもあるように、windowsにはショートファイルネームという表現技法があり、これを使えば何とかいけました。

okwave.jp

一応ここでも解説しておきます。

windowsには何文字でも使ってよいロングファイルネームと、8文字英数+拡張子3文字のショートファイルネームが存在しているらしいです。

そのため、「OneDrive - Kyoto University」のように8文字よりも長いファイル名(ロング)は、別名として「ONEDRI~1」という6文字+チルダ+番号のファイル名(ショート)が与えられているようです。

「OneDrive」は「ONEDRI~1」にはならなかったので、たぶん8文字以下のファイル名にはショート版は与えられないのかな?

とりあえず、書き換えた後に:wqで保存してexit→もう一度WSLを再起動

pwd

で、ちゃんとパス通りにホームディレクトリが設定されていることがわかります。

あとがき

以前、ショートファイルネームどこかで使ったなーと思ってうろ覚えの知識をあてに色々探したんですが、結局情報を得るのに小一時間かかりました。

調べたことは必ずどこかにメモった方がいいですね。。。

WSLでNGS解析の記事リスト(2020/10/07追記)

wet-to-dry.hatenablog.com

*1:京大のこのOfficeアカウントは最強です。Onedrive 1TBに加え、5台分のOfficeライセンスが付いてこの値段ですからね、、、

*2:一応シングルクオーテーションやダブルクオーテーションで囲うという方法も試してみたがうまくいかなかった