目次
概要
今回のテーマは、
WSL上でホームディレクトリをOnedriveの共有ディレクトリに変更する
です。
以前、Windows10にWSL(Windows Subsystem for Linux)を導入する方法について紹介しました。
導入してからあまり弄れていなかったんですが、ふと久しぶりに前の記事を読み直したとき、
このホームディレクトリ、Windowsから探しづらくね???
となったので、ホームディレクトリをいつもお世話になっているOnedriveの共有ディレクトリに移しました。
やったこと
1. 前準備
まず、Onedrive for windowsは入れておいてください。
これで、
C:\Users\username\OneDrive\
フォルダが共有フォルダとして作成されるはずです。
僕は京都大学のofficeアカウントを年間1320円で使っているので
このアカウントの共有フォルダは
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にはショートファイルネームという表現技法があり、これを使えば何とかいけました。
一応ここでも解説しておきます。
windowsには何文字でも使ってよいロングファイルネームと、8文字英数+拡張子3文字のショートファイルネームが存在しているらしいです。
そのため、「OneDrive - Kyoto University」のように8文字よりも長いファイル名(ロング)は、別名として「ONEDRI~1」という6文字+チルダ+番号のファイル名(ショート)が与えられているようです。
「OneDrive」は「ONEDRI~1」にはならなかったので、たぶん8文字以下のファイル名にはショート版は与えられないのかな?
とりあえず、書き換えた後に:wqで保存してexit→もう一度WSLを再起動
pwd
で、ちゃんとパス通りにホームディレクトリが設定されていることがわかります。
あとがき
以前、ショートファイルネームどこかで使ったなーと思ってうろ覚えの知識をあてに色々探したんですが、結局情報を得るのに小一時間かかりました。
調べたことは必ずどこかにメモった方がいいですね。。。