現段階の結論:遅い。今後に期待。
続き zsh:試してみた!(2) Windows Subsystem for Linux ,Ubuntu on W...- 遅い。遅い。遅い。(うちだけかも。期待値が高いせいかも。)
- UTF-8
- zshは動くが一部機能が有効にならないみたい。bashのほうがよさげ。
- いきなり「#」
- 今の段階では、c:/........./AppData/Local/lxss/root に、.rcfiles を設置
- 日本語UTF-8テキストで化けたり化けなかったり。
- ふつうに、apt install , apt-get install でパッケージ追加できる。
- ジャンクション、シンボリックリンクがだめ。
c:/.......................AppData/Local/lxss/rootfs/bin
UoW@/bin
だいたい標準で150個ほどコマンドが入ってる。一部追加した状態のリスト。10日ほど使っている自分のubuntu16.04betaでは160個ほどなので、だいたい全部入っていると考えていい。ちゃんと動けばけっこう困らないと思います。
あ、Perlが入ってないですね。いれなきゃ。 /usr/bin/perl
ls -x 最後に列表示を追記。
bash binlist.txt bunzip2 busybox
bzcat bzcmp bzdiff bzegrep
bzexe bzfgrep bzgrep bzip2
bzip2recover bzless bzmore cat
chgrp chmod chown chvt
cp cpio dash date
dbus-cleanup-sockets dbus-daemon dbus-uuidgen dd
df dir dmesg dnsdomainname
domainname dumpkeys echo ed
egrep false fgconsole fgrep
findmnt fuser fusermount grep
gunzip gzexe gzip hostname
ip kbd_mode kill kmod
less lessecho lessfile lesskey
lesspipe ln loadkeys login
loginctl lowntfs-3g ls lsblk
lsmod mkdir mknod mktemp
more mount mountpoint mt
mt-gnu mv nano nc
nc.openbsd netcat netstat nisdomainname
ntfs-3g ntfs-3g.probe ntfs-3g.secaudit ntfs-3g.usermap
ntfscat ntfsck ntfscluster ntfscmp
ntfsdump_logfile ntfsfix ntfsinfo ntfsls
ntfsmftalloc ntfsmove ntfstruncate ntfswipe
open openvt pidof ping
ping6 plymouth plymouth-upstart-bridge ps
pwd rbash readlink red
rm rmdir rnano run-parts
running-in-container rzsh sed setfont
setupcon sh sh.distrib sleep
ss static-sh stty su
sync tailf tar tempfile
touch true udevadm ulockmgr_server
umount uname uncompress unicode_start
vdir which whiptail ypdomainname
zcat zcmp zdiff zegrep
zfgrep zforce zgrep zless
zmore znew zsh zsh5
UoW@/bin
だいたい標準で150個ほどコマンドが入ってる。一部追加した状態のリスト。10日ほど使っている自分のubuntu16.04betaでは160個ほどなので、だいたい全部入っていると考えていい。ちゃんと動けばけっこう困らないと思います。
ls -x 最後に列表示を追記。
bash binlist.txt bunzip2 busybox
bzcat bzcmp bzdiff bzegrep
bzexe bzfgrep bzgrep bzip2
bzip2recover bzless bzmore cat
chgrp chmod chown chvt
cp cpio dash date
dbus-cleanup-sockets dbus-daemon dbus-uuidgen dd
df dir dmesg dnsdomainname
domainname dumpkeys echo ed
egrep false fgconsole fgrep
findmnt fuser fusermount grep
gunzip gzexe gzip hostname
ip kbd_mode kill kmod
less lessecho lessfile lesskey
lesspipe ln loadkeys login
loginctl lowntfs-3g ls lsblk
lsmod mkdir mknod mktemp
more mount mountpoint mt
mt-gnu mv nano nc
nc.openbsd netcat netstat nisdomainname
ntfs-3g ntfs-3g.probe ntfs-3g.secaudit ntfs-3g.usermap
ntfscat ntfsck ntfscluster ntfscmp
ntfsdump_logfile ntfsfix ntfsinfo ntfsls
ntfsmftalloc ntfsmove ntfstruncate ntfswipe
open openvt pidof ping
ping6 plymouth plymouth-upstart-bridge ps
pwd rbash readlink red
rm rmdir rnano run-parts
running-in-container rzsh sed setfont
setupcon sh sh.distrib sleep
ss static-sh stty su
sync tailf tar tempfile
touch true udevadm ulockmgr_server
umount uname uncompress unicode_start
vdir which whiptail ypdomainname
zcat zcmp zdiff zegrep
zfgrep zforce zgrep zless
zmore znew zsh zsh5
無意味な検証:ubuntuでWindows10x64をマウントして、UoWの標準コマンドを実行してみる。(16.04下)
/media/ORE/W10x64/Users/ORE/AppData/Local/lxss/rootfs/bin
$ ./ls | ./grep ntfs | ./sed 's|ntfs|エヌティエフエス|'
lowエヌティエフエス-3g
エヌティエフエス-3g
略
エヌティエフエスwipe
期待通り。14.04LTSバイナリなのでこの手のコマンド互換がなければおかしいですもんね。というか、バイナリは、ubuntu.comに取りにいっている(apt)ので、同じじゃないとおかしい。
sedサイズをみてみるとこんなかんじ。ほんとうに同じだった。diffでも同じなので、同じ。
●16.04beta2
-rwxr-xr-x 1 root root 73424 2月 12 09:20 sed
●UoW 14.04LTS相当
-rwxrwxrwx 1 ore ore 73352 4月 11 02:17 sed
●Linux Mint 17.3(14.04LTS相当)
-rwxr-xr-x 1 root root 73352 2月 13 2014 sed
$ ./ls | ./grep ntfs | ./sed 's|ntfs|エヌティエフエス|'
lowエヌティエフエス-3g
エヌティエフエス-3g
略
エヌティエフエスwipe
期待通り。14.04LTSバイナリなのでこの手のコマンド互換がなければおかしいですもんね。というか、バイナリは、ubuntu.comに取りにいっている(apt)ので、同じじゃないとおかしい。
sedサイズをみてみるとこんなかんじ。ほんとうに同じだった。diffでも同じなので、同じ。
●16.04beta2
-rwxr-xr-x 1 root root 73424 2月 12 09:20 sed
●UoW 14.04LTS相当
-rwxrwxrwx 1 ore ore 73352 4月 11 02:17 sed
●Linux Mint 17.3(14.04LTS相当)
-rwxr-xr-x 1 root root 73352 2月 13 2014 sed
■速度?! 今後に期待しよう。
バイナリそのままで、POSIX⇔WIN がどの程度なのか。これが気になるところ。期待は(現時点)では裏切られた。おっせーーーーーーーー!!マイクロソフトのシニアなんちゃらがいうほど速くない。いうほど速くない。ぜんぜん速くない。まったく速くない。へそが茶を沸かすほどだ。
がんばれ、マイクロソフト。
以下余談:
最近、AMDの5000+という10年前の過去の遺物CPUを生ubuntuでときどき使っているが、それと比較して、ファイルのリストを返して 来るっていう単純作業ですら待ち時間差が体感で大きい。
ちなみにAMD Athron 64 X2 5000+ は、Intel Core i7-4790K(4.00GHz)のだいたい1/10の速度である。笑) (Xは起動するが作業はターミナルで、放置で動かしています。RDPがうまく ないのでSSHで)。このマシンにWin10は?! 動くだろうけど触れない(気分になれない)と思う。
仮想マシン(VirtualBox)より速い。が、が、が、Xを起動せずに()、ターミナルのまま動かせば、Virtualboxのほうが速そう。(笑) いや、速いと思う(たぶん)。
■中間総括
これが今後速くなるかどうかは、マイクロソフトの技術力が試される。ubuntuが14.04LTSだからとかいうのは関係ないだろうな。■たいてい動くんじゃないの(だいたい合ってる)
LANGは日本語に設定して、と。ドットファイルを持ってきて、と。.zshrc(日々使っているもの)のいくつかの機能が有効にならない。まだまだらしい。便利な機能が使えない。
.bashrc(同じく)。エスケープシケーンスが違うらしく、色が違うな。ま、いいか。趣味が悪くなってしまったが訂正はしない。そのままの互換性が確保されるのだから、放置しておけば、マイクロソフトが治すはず。
Xはいらんけど、ターミナルは、Windows側が高機能になるか、なんか使いやすいのがでてきてほしい。マニアックなのは僕はいらん。→これは期待するのは間違いだな。開発しないと言っているし。この出来だとないな。
■文字コード
心配なのは、文字コード。どこまでいっても文字コード。UTF-8で空気のように扱える環境がほしい。つまり、文字コードを意識しないでPCは使いたいのだ。
→UTF-8のターミナルとして起動される。zshでは化けて、bashでは化けないとか現象的にはあるが、過渡期だからと思うので、気にしない。
UTF-8だと正常で、SJIS、EUCで文字化けするプロンプト文字列設定にしてある.zshrcなので,utf-8でなのがよくわかってよろしい。
同じテキストページャーでも、Zshから起動すると化けて、bashから起動すると化けない日本語文書とかけっこうあって、よくわからん。 zshのせいかも。というか、同じ挙動でないのはおかしいので。そのうち修繕されるだろう。
■バイナリはどこにとりにいっているのか
ubuntuなので、/etc/apt のリストを書き換えれば違うんだけど、いまんところ、UKのCanonical管理のubuntuサーバーにつなぎにいって落として来ている(IPアドレス)。単にデフォルトのまま。北陸先端科学技術大学院大学とか、筑波大学とか、KDDIを指定したら国内からになるんだろうな。source.list のサーバ名を書き換えるだけ。
つまり、特殊なバイナリではないってことはわかった(疑ってごめんよ)。本当にubuntu上でコンパイルされたパッケージがそのまま動く。ファイルの中身は精査していないけれど。 上記で確認した。
以下、列記リスト /bin
UoW@/bin
-----------------------------------------
bash .. 略 zsh5