(更新:2017/10)Install on Windows 10
(作成:2017/09)
Windows 10 Aniversary Update (2016/08) から、標準のWindowsシステム上でUbuntuサブシステムが動くようになった。スゲー。これでLinux環境を別途構築する手間と管理の悩みが省ける。
Install on Windows 10
スタートメニュー
-設定
アプリ
-アプリと機能
関連設定
-プログラムと機能
Windowsの機能の有効化または無効化
Windows Subsystem for Linux (Beta)
: チェック
インストール後、一度再起動が必要。
スタートメニュー
-設定
更新とセキュリティ
-開発者向け
開発者向け機能を使う
-開発者モード
: チェック
(2017/10更新)βが取れたようで、Linux環境もストアから入手するようになったみたい。なので bash
を実行しても以下のように言われる。
C:\Users\riyo
> bash
Windows Subsystem for Linux には、インストールされたディストリビューションがありません。
ディストリビューションをインストールするには、次の Windows ストアを訪問してください:
https://aka.ms/wslstore
続行するには何かキーを押してください...
C:\Users\riyo
SUSEも使えるんだ。へー。でもUbuntu贔屓なのでUbuntuで。
入手
-起動
Installing. this may take a few minutes...
Installation successful!
Please create a default UNIX user account. The username does not need to match your Windows username.
For more information visit: https://aka.ms/wslusers
Enter new UNIX username: riyo
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Default UNIX user set to: riyo
To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.
riyo@kappa:~$
。。。おお? USB HDD(ウチとこではE:がそう)が自動認識してマウントされるようになってる! チョーイイネ! drvfs! サイコー!
riyo@kappa:/mnt/c/Users/riyo$ mount
rootfs on / type lxfs (rw,noatime)
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,noatime)
proc on /proc type proc (rw,nosuid,nodev,noexec,noatime)
none on /dev type tmpfs (rw,noatime,mode=755)
devpts on /dev/pts type devpts (rw,nosuid,noexec,noatime)
none on /run type tmpfs (rw,nosuid,noexec,noatime,mode=755)
none on /run/lock type tmpfs (rw,nosuid,nodev,noexec,noatime)
none on /run/shm type tmpfs (rw,nosuid,nodev,noatime)
none on /run/user type tmpfs (rw,nosuid,nodev,noexec,noatime,mode=755)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,noatime)
C: on /mnt/c type drvfs (rw,noatime)
E: on /mnt/e type drvfs (rw,noatime)
aptラインを日本のサーバに切り替えてパッケージを更新。
#### /etc/apt/source.list
## (略)
##deb http://archive.ubuntu.com/ubuntu/ xenial main restricted
deb http://ftp.jaist.ac.jp/pub/Linux/ubuntu/ xenial main restricted
# deb-src http://archive.ubuntu.com/ubuntu/ xenial main restricted
## (略)
##deb http://archive.ubuntu.com/ubuntu/ xenial-updates main restricted
deb http://ftp.jaist.ac.jp/pub/Linux/ubuntu/ xenial-updates main restricted
# deb-src http://archive.ubuntu.com/ubuntu/ xenial-updates main restricted
## (略)
##deb http://archive.ubuntu.com/ubuntu/ xenial universe
deb http://ftp.jaist.ac.jp/pub/Linux/ubuntu/ xenial universe
# deb-src http://archive.ubuntu.com/ubuntu/ xenial universe
##deb http://archive.ubuntu.com/ubuntu/ xenial-updates universe
deb http://ftp.jaist.ac.jp/pub/Linux/ubuntu/ xenial-updates universe
# deb-src http://archive.ubuntu.com/ubuntu/ xenial-updates universe
## (略)
##deb http://archive.ubuntu.com/ubuntu/ xenial multiverse
deb http://ftp.jaist.ac.jp/pub/Linux/ubuntu/ xenial multiverse
# deb-src http://archive.ubuntu.com/ubuntu/ xenial multiverse
##deb http://archive.ubuntu.com/ubuntu/ xenial-updates multiverse
deb http://ftp.jaist.ac.jp/pub/Linux/ubuntu/ xenial-updates multiverse
# deb-src http://archive.ubuntu.com/ubuntu/ xenial-updates multiverse
## (略)
##deb http://archive.ubuntu.com/ubuntu/ xenial-backports main restricted universe multiverse
deb http://ftp.jaist.ac.jp/pub/Linux/ubuntu/ xenial-backports main restricted universe multiverse
# deb-src http://archive.ubuntu.com/ubuntu/ xenial-backports main restricted universe multiverse
## (略)
# deb http://archive.canonical.com/ubuntu xenial partner
# deb-src http://archive.canonical.com/ubuntu xenial partner
##deb http://security.ubuntu.com/ubuntu/ xenial-security main restricted
deb http://ftp.jaist.ac.jp/pub/Linux/ubuntu/ xenial-security main restricted
# deb-src http://security.ubuntu.com/ubuntu/ xenial-security main restricted
##deb http://security.ubuntu.com/ubuntu/ xenial-security universe
deb http://ftp.jaist.ac.jp/pub/Linux/ubuntu/ xenial-security universe
##deb http://security.ubuntu.com/ubuntu/ xenial-security multiverse
deb http://ftp.jaist.ac.jp/pub/Linux/ubuntu/ xenial-security multiverse
$ sudo apt-get update
...
$ sudo apt-get upgrade
...
$ sudo apt autoremove
...
(Windows 10 v1709以前)
既に一度インストールした環境では、コマンドプロンプトを管理者モードで起動して bash
を実行する。
C:\Users\riyo
> bash
-- ベータ機能 --
これにより Windows に Ubuntu がインストールされます。Ubuntu は Canonical によって配布される製品であり、
次のサイトに示される条件に基づいてライセンスされています。
https://aka.ms/uowterms
続行するには、"y" を入力してください: y
Windows ストアからダウンロードしています... 100%
ファイル システムを展開しています。この処理には数分かかります...
Ubuntu のロケールを Windows のロケール (ja-JP) と一致するように設定しますか?
既定のロケールは en_US です。
続行するには、"y" を入力してください: y
既定の UNIX ユーザー アカウントを作成してください。ユーザー名は、Windows のユーザー名と一致する必要はありま
せん。
詳細: https://aka.ms/wslusers を参照してください
新しい UNIX ユーザー名を入力してください: riyo
新しい UNIX パスワードを入力してください:
新しい UNIX パスワードを再入力してください:
passwd: password updated successfully
インストールが正常に終了しました
環境が間もなく開始されます...
ドキュメントを参照できる場所: https://aka.ms/wsldocs
To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.
riyo@kappa:/mnt/c/Users/riyo$
aptラインを日本のサーバに切り替えてパッケージを更新。
#### /etc/apt/source.list
##deb http://archive.ubuntu.com/ubuntu/ xenial main restricted universe multiverse
##deb http://archive.ubuntu.com/ubuntu/ xenial-updates main restricted universe multiverse
##deb http://security.ubuntu.com/ubuntu/ xenial-security main restricted universe multiverse
deb http://ftp.jaist.ac.jp/pub/Linux/ubuntu/ xenial main restricted universe multiverse
deb http://ftp.jaist.ac.jp/pub/Linux/ubuntu/ xenial-updates main restricted universe multiverse
deb http://ftp.jaist.ac.jp/pub/Linux/ubuntu/ xenial-security main restricted universe multiverse
$ sudo apt-get update
...
$ sudo apt-get upgrade
...
$ sudo apt autoremove
...
後はcmderと連携して楽しむのみ。
参考:
- Bash on Ubuntu on Windowsをインストールしてみよう! - Qiita
設定
好みの設定だけをつらつら。
.bashrc
プロンプトのディレクトリ表示をカレントのみにする。ディレクトリ階層が深い時に邪魔なので。
$PS1
で \w
を \W
(小文字→大文字)に変更する。ついでにエスケープシーケンスも修正。
#### ~/.bashrc
if [ "$color_prompt" = yes ]; then
##PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
PS1='${debian_chroot:+($debian_chroot)}\[\e[01;32m\]\u@\h\[\e[00m\]:\[\e[01;34m\]\W\[\e[00m\]\$ '
else
##PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\W\$ '
fi
unset color_prompt force_color_prompt
# If this is an xterm set the title to user@host:dir
case "$TERM" in
xterm*|rxvt*)
##PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \W\a\]$PS1"
;;
*)
;;
esac
残念ながら現行バージョン(2017/09)のstable版BoWだと256色対応してない。対応すればカラフルになるのかな。まあ使わないと思うケド。
スクリプトは拙サイト「bash - bashカラーバリエーション表示スクリプト」参照。
追加パッケージ
- ImageMagick
コマンドラインで画像処理ができる。
$ sudo apt-get install imagemagick
- nkf
文字コード判別 / 変換ができる。
$ sudo apt-get install nkf
Tips
BoWのWindows上のフォルダ位置
(2017/10更新)
どうやら C:\Program Files\WindowsApps\
配下にストアアプリとして導入されるようだけれど、基本ここは参照禁止のためWindowsからは操作できないみたい。
(Windows 10 v1709以前)
こんなところに!
C:\Users\riyo
> dir %USERPROFILE%\AppData\Local\lxss
ドライブ C のボリューム ラベルは OS です
ボリューム シリアル番号は 1EF4-549B です
C:\Users\riyo\AppData\Local\lxss のディレクトリ
2017/09/24 08:52 911,975 bash.ico
2017/09/24 08:52 <DIR> cache
2017/09/24 08:52 <DIR> data
2017/09/24 09:03 <DIR> home
2017/09/25 19:36 <DIR> mnt
2017/09/24 08:42 <DIR> root
2017/09/24 08:52 <DIR> rootfs
2017/09/24 08:40 64 sha256
2017/09/27 15:02 <DIR> temp
2 個のファイル 912,039 バイト
7 個のディレクトリ 45,550,915,584 バイトの空き領域