WSL
井上さん、なかなかやるな。元気で宜しい。
上記サイトの IC-7610 Technical Report (Vol2,3)が必見かな。一瞬トラ伎をみてる気分になったよ。
A/Dコンバーター(16Bit) LTC2208 130MHz D/Aコンバーター(14Bit) ISL5961
LTC2208 アナログデバイスのA/D
ISL5961 インターシルのD/A
WSLの理由
Windows10のemacsを使って、オイラーのHPの駄文を書いている。英語で書いたのをググル様の翻訳機にかけて、日本語にしてる訳ではなく、備え付けのIMEのお世話になってる訳だ。
所が7月になるかならないかぐらいから、IMEが発狂を始めた。梅雨が思わぬぐらい早くacetateた、申し訳ございません、発狂の結果です。
どう書きたかったかと言うと、『aketyatta monodakara, atusade kuruttaka』 です。
候補が勝手に確定しちゃうと言う、早とちり症候群とでも言う状態。気を抜くと、めちゃめちゃな文章が出来上がる。(それ以前に、読むに耐えないと言う、意見があるのは承知)
何とかしないとね。ぐぐっても症例は見つからず。難病・奇病なんですかね? 蚊に刺されて、日本脳炎にでも罹患した。涼しくなるまで、もしくは、自然回復するのを待て?
そう言えば、マウスの右クリックが効きにくいと言う症状は、いつの間にか治っているな。 それから、evenceで開いたPDFファイルが、どういう状態(配置とかページ)だったか覚えていて、再度開くと再現されるんだけど、これも健忘症にかかる事が有るんだ。これは、まだら模様で発症する。ああ、愚痴っちゃったな。
そんな唯著な事は言ってRAMられません。また化けた。察して読んでください。
もずくを喰ってみろ(天婦羅がお勧め)。でもね、日本語を書くのは、emacsの上だけなのよ。ぐぐる様への質問ワードは、英語の単語を並べるだけっていう偏向ぶりなんで、別段苦労しない。
だったら、WSLを入れて、その中でemacs専用のmozcを動かすって手もあるな。
WSLを入れてみる
WSL(Windows Subsystem for Linux)をインストールする(バージョン1803対応版)
Windowsの隠れた機能を生かすんだな。rebootしたら、構成を変えてますって言われて待たされた。FreeBSDにlinuxのエミュレーションを組み込み段階だな。
それから、M$のショッピングセンターへお出まし。世はUbuntuを入れるのが定番みたいだけど、 emacsでmozcに実績のあるdebianを選んでみた。海の向こうから来るので、到着まで少々時間がかかる。それに店の会員でもないんだけど、自由に引き出せる。お前は何処の誰よなんていう、アンケートさえも無し。太っ腹なんだか、販促にやっきなんだか。
到着して、使う準備が出来ると、M$得意の通知で、起動する、ピン留めするのボタンが出てくる。 オイラーは、起動を選んだ、ユーザー名とパスワードを叩いて、取り合えず儀式は終了。 それにしてもM$は貧弱なterminalを使い回そうとするのね。呆れてしまいますよ。
日本語化は、上の通りにやればいいんだろうけど、取り合えず無視。
emacs25-nox,emacs-mozc-bin,mozc-server,mozc-dataを入れた。mozc.elはdebian機から持ってきた。
鎮座した場所は、下記。ひたすらこっそりと入っていますって雰囲気だ。
C:\Users\sakae\AppData\Local\Packages\TheDebianProject.DebianGNULinux_beebee\LocalState\rootfs
600Mぐらいの容量だった。この中に、LocalState/rootfs が、有り、容量の大部分を占めている。
使ってみる
起動すると、無様に横に長い端末が出てくるけど、どんだけーー?
sakae@atom:~$ stty -a speed 38400 baud; rows 30; columns 120; line = 0; intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = M-^?; eol2 = M-^?; swtch = M-^?; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W; lnext = ^V; discard = ^O; min = 1; time = 0; -parenb -parodd -cmspar cs8 hupcl -cstopb cread -clocal -crtscts -ignbrk brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff -iuclc ixany imaxbel iutf8 opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0 isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke -flusho -extproc
ウナギの寝床じゃないんだから、そんな横幅は要らない。横幅を縮めたら、それに相応してsttyの結果も変化した。端末制御は、真面目にやってるみたいだな。
日本語もちゃんと表示出来てたしね@emacs。ならば、tmuxとかlvとかw3mも入れておくか。おまけでnkfもね。
sakae@atom:~$ df -h Filesystem Size Used Avail Use% Mounted on rootfs 238G 88G 150G 37% / none 238G 88G 150G 37% /dev none 238G 88G 150G 37% /run none 238G 88G 150G 37% /run/lock none 238G 88G 150G 37% /run/shm none 238G 88G 150G 37% /run/user C: 238G 88G 150G 37% /mnt/c
Windows10が入っているSSDを、頑張れば全て使えますっていう事だな。余裕綽綽な使いっぷりだ。それから、Cドライブは、/mnt/c経由でアクセスしろって事だな。
sakae@atom:~$ ps awx PID TTY STAT TIME COMMAND 1 ? Ss 0:00 /init ro 3 tty1 Ss 0:00 /init ro 4 tty1 S 0:00 -bash 19 tty1 S 0:00 tmux -u 21 ? Ss 0:00 tmux -u 22 pts/0 Ss 0:00 -bash 28 pts/1 Ss 0:00 -bash 34 pts/1 S 0:00 emacs 36 ? Ss 0:00 /usr/bin/mozc_emacs_helper --suppress_stderr 37 ? Sl 0:00 /usr/lib/mozc/mozc_server 43 pts/0 R 0:00 ps awx
こちらは、裏端末にemacsを上げて、日本語入力してる図。
sakae@atom:/$ cat /proc/cpuinfo : processor : 3 vendor_id : GenuineIntel cpu family : 6 model : 78 model name : Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz stepping : 3 microcode : 0xffffffff cpu MHz : 2401.000 cache size : 256 KB physical id : 0 siblings : 4 core id : 1 cpu cores : 2 apicid : 0 initial apicid : 0 fpu : yes fpu_exception : yes cpuid level : 6 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov p at pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtsc p lm pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 fma cx16 xtpr pdcm pci d sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave osxsave avx f16c rdrand bogomips : 4802.00 clflush size : 64 cache_alignment : 64 address sizes : 36 bits physical, 48 bits virtual sakae@atom:/$ dmesg dmesg: read kernel buffer failed: Function not implemented
CPUはちゃんと4個認識してた。dmesgは、まだ、、、、って言ってるけど、本当に実装されるのかね? やる気のバロメーター測定に丁度良いな。
ip a で、Windows10が管理してるNICが全て確認出来るのね。inet6なんてのがちらほら出てるけど、apt installとかすると、IPv6でアクセスしてるんだよな。おかげで、ちょっと疎通まで時間がかかる。
sakae@atom:~$ cat /etc/apt/sources.list deb http://deb.debian.org/debian stretch main deb http://deb.debian.org/debian stretch-updates main deb http://security.debian.org/debian-security/ stretch/updates main
本家もぐぐる様のご指導により、IPv6がデフォになったのか。日本のサイトへ行くように、捻じ曲げておこうかな。何、debian機からscpしてくるだけですからね。
C:\Users\sakae> C:\Users\sakae>debian sakae@atom:~$ ls -a ./ .bash_history .bashrc .ipython/ piki@ .ssh/ .tmux.conf ../ .bash_logout .emacs.d/ .mozc/ .profile test.doc .w3m/
基本的な起動方法は勿論、スタートの所にあるdebianマークをダブルクリック。Windowsのターミナルからdebian君を呼び出すのも有りだ。この他にwslとかbashでも起動するけど、Windows側のファイルとWSL側の ファイルが混ざる可能性が有るので、お勧め出来ない。
それから、コンソールの色が醜いとか言われてるけど、それって lsの色付きの事だろう。 オイラーは、ls -F になるようにaliasを登録しといた。
ターミナルの文字サイズがデフォだと16だったので、少し大きく20にした。(端末のアイコンをクリックして設定を開き、同時に行と列数も変更。最後にOKを押す)
これでw3mを使って、スイスイとネットの海を泳ぎきる事が出来るぞ。昔はWindowsでw3mなんて、夢のまた夢だったんだけど、今はあっという間だ。まさか、夏の夜の夢じゃないだろうね。
再インストールとか
管理者のPowerShellで行うそうな。
PS> lxrun /uninstall /full /y PS> lxrun /install
壊れてしまっても、安心かな?
管理者権限の端末を開くには、Win+R して、cmdまで入力。Ctl+Shift+Enter 脅しの文句が 出て来るけど、運を天に祈ってからOKを押す。これが、Windows版のsudo相当だな。
そりゃ、微妙に違うよ。普通のユーザーが開いている端末をroot権限にするには、タスクバーにある端末のアイコンをCtl+Shiftを押しながらクリック。タスクバーに盾が点滅して、運を天に 祈るか聞かれるよ。こちらの方がsudoっぽいな。
Windows 10のWSL環境を初期化してクリーンな状態に戻すなんて方法も有るのか。段々便利になっていくな。
調査
良く戦えるように、敵を知っておこう。まずは、大事なPATHから。
sakae@atom:~$ echo $PATH | sed 's#:#\n#g' /usr/local/sbin /usr/local/bin /usr/sbin /usr/bin /sbin /bin /usr/games /usr/local/games /mnt/c/Program Files (x86)/Intel/iCLS Client /mnt/c/Program Files/Intel/iCLS Client /mnt/c/Windows/System32 /mnt/c/Windows /mnt/c/Windows/System32/wbem /mnt/c/Windows/System32/WindowsPowerShell/v1.0 /mnt/c/Program Files (x86)/Intel/Intel(R) Management Engine Components/DAL /mnt/c/Program Files/Intel/Intel(R) Management Engine Components/DAL :
ゲームエリアがPATHに入っているのは、ベル研からの伝統? /mnt/c/以下のWindowsに伝統的なエリアも、しょーがないから、許してやるかって事だな。
root@atom:/# umount /mnt/c root@atom:/# find / -type f | wc 20021 20021 851763 root@atom:/# find / -type d | wc 2150 2150 64795
続いて、WSL内のファイルとディレクトリィーの数。計数に当たって、Windows側はのけ者にしてる。
root@atom:/# apt list --installed | wc WARNING: apt does not have a stable CLI interface. Use with caution in scripts. 274 1093 15999
ファイルの数なんて、入れるパッケージによって違ってくるだろう。ごもっともです。そこで、申し訳程度に入れているパッケージ数を計量しときました。この間お試しで入れたUbuntuなんだけど、取り合えず使いそうな物をどんどん入れたら、1849個も有ったよ。WSL側は、いかに慎ましいか分かると言うものだ。
aptはいまだに、インターフェースが固定化してない。これもそれも、GnomeだとかKDE陣営からの容赦ない改変依頼があるからでしょう。一体、何時になったら落ち着くの?
執筆環境
Windows10では、Cドライブ直下にUsersだかのdirが有り、その下に各ユーザーのhomeが割り当てられる。homeの中は、Windows流の管理がなされている。
ウブとかでGUIを入れると、home直下にDesktopだとかMusicとかが勝手に作られるのは、Windowsの真似だ。ああ、Windowsユーザーに違和感が無いようにっていう作戦か。
オイラーは、どうもこの本宅の配置が気に要らない。dir名ぐらいは、自分勝手にさせてよってスタンス。そこで、Cドライブ直下に別荘を建てて、普段はそこで暮らしている。本宅よりも妾宅の方が居心地が良いので、めったに本宅には帰らない。
Windows 10のWindows Subsystem for Linux(WSL)を日常的に活用する
こちらの方の経験だと、Windows側のアプリが、WSLのrootfs以下を触ると不幸な事が起こるそうだ。逆にWSL側のアプリがWindows側のファイルを触る場合、/mnt/c/ 経由ってのが鉄則。
既に妾宅内には、血圧診断室とか書斎とか、PDF用の棚とか金庫とか色々な物がオイラーの設計で配置されてる。WSL側から触るのは、書斎限定って事にしておこう。
sakae@atom:~$ ls -l piki lrwxrwxrwx 1 sakae sakae 16 Jul 10 05:42 piki -> /mnt/c/mine/piki/
bashの補完でピーピーと五月蝿いので、/etc/inputrcのコメントを外す
# do not bell on tab-completion set bell-style none set bell-style visible
原稿が書けるようになったら、ついでに原稿をhtmlに変換してしまいたい。文法違反が有れば、その場で指摘してくれるしね。その為のMakefileを用意し、Windows上で今まで使っていた。 ちょいと、内容を変更すれば、WSL上からも使えるだろう。
aa: ./piki template.html aa.piki > aa.html
の中のpikiは、Windows10のアプリ。
aa: ./piki.exe template.html aa.piki > aa.html
exeを付けて、pikiはWindowsのアプリだからねと明示してあげる。これで佳いと思っていたら、肝心のmakeが無い。今までは、makeをWindows上のunix詰め合わせセットbusyboxにお願いしてたんだ。それにもちゃんとexeを付ければいいのかな。
将来的にはbusyboxを撤去するんで(だって本物のdebian君が居るからね)、debian内にmakeを用意しておこう。こうして、少しづつ拡張されてくのさ。
あっ、Debianな人が居た。
DebianをWindows10上で動かす その8: しばらく使った感想
まとめを書いておられた。オイラーも書いておくか。FILEのI/Oは遅いという実感。apt installした時、展開と登録が肌で感じる程遅い(と思う)。がんがんコンパイルとかやるのは、止めた方が、精神衛生上良いと思うぞ。
せいぜい実用と思うのは、物書きみたいな、人間相手の仕事です。それぐらいにしておけば幸せになれると思う。
error
Windows10起動後、すぐにはWSLが起動しない事が有った。
C:\Users\sakae>debian Installing, this may take a few minutes... Installation Failed! Error: 0x800703fa Press any key to continue...
暫くすると、ちゃんと起動出来ると言う不思議な現象。ちょいと世界のみんなに聞いてみたら、
sc stop LxssManager pause sc start LxssManager pause sc queryex LxssManager pause
これを確認してみってのが有ったぞ。これって、Windows用のダエモン君コントロールじゃないですか。こういうダエモン君が動いて、取次をしてくれてるんだな。
ならば、本家のシアトルだかに尋ねてみるか。
こんなのが上がってた。提示されてる修正アプリを使って診断するのは無料。でも修復するには、30ドル払って会員になれ。ヤクザな商売してるな。おまけに、ロゴが紛らわしい。
マルウェアと言うか、身代金払えと同列。日本にも有るよね。無料でシロアリ診断します。縁の下に潜ってから、おばーちゃん、ほらこんなに沢山シロアリが巣食ってました。駆除しないと、家が潰れちゃうよ。駆除代は、100万円です。マッチポンプ。
たまたま、タスクマネージャーを見たら、暴走してCPU資源を食いつぶしているアプリが有った。プロパティ(困った時の右クリックとかCtlキーとかとのコンビネーション)を見たら、正体判明。何とあの石屋さん製だった。
C:\Program Files\Intel\iCLS Client\IntelPTTEKRecertification.exe
御同友がいないかと、聞いて回ったら、 Intel(R)PTT EK Recertification ServiceによるCPU負荷が高かった件 いましたね。オイラーだけじゃなくて安心しました。(するなよ!)
これを見ると、 What is IntelPTTEKRecertification.exe? みんなウィルスかマルウェア認定してます。役立たずの大飯喰らい!!
取り合えず、削除して様子を見る事にする。Windows10の不調が治る事に期待しましょ。
今後の参考のために
Windows がなんか重いときにコマンドで調べる(WMIC PROCESS)
sakae@atom:~$ tasklist.exe /v /fo csv | head "Image Name","PID","Session Name","Session#","Mem Usage","Status","User Name","CPU Time","Window Title" "System Idle Process","0","Services","0","8 K","Unknown","NT AUTHORITY\SYSTEM","4:48:52","N/A" "System","4","Services","0","1,392 K","Unknown","N/A","0:00:32","N/A" "Registry","96","Services","0","5,872 K","Unknown","N/A","0:00:00","N/A" "smss.exe","448","Services","0","1,188 K","Unknown","N/A","0:00:00","N/A" "csrss.exe","596","Services","0","5,120 K","Unknown","N/A","0:00:01","N/A" "wininit.exe","680","Services","0","6,296 K","Unknown","N/A","0:00:00","N/A" "csrss.exe","688","Console","1","5,540 K","Running","N/A","0:00:08","N/A" "winlogon.exe","776","Console","1","9,984 K","Unknown","N/A","0:00:00","N/A" "services.exe","812","Services","0","9,908 K","Unknown","N/A","0:00:05","N/A"
加工は、ご自由に。
sakae@atom:~$ tasklist.exe /v /fo csv | head | cut -f1,2,5,8 -d',' "Image Name","PID","Mem Usage","CPU Time" "System Idle Process","0","8 K","5:06:29" "System","4","1,"N/A" "Registry","96","6,"N/A" "smss.exe","448","1,"N/A" "csrss.exe","596","5,"N/A" "wininit.exe","680","6,"N/A" "csrss.exe","688","5,"N/A" "winlogon.exe","776","9,"N/A" "services.exe","812","9,"N/A"
並べ替えとかをちゃんとすれば、ps ぽくなるな。 ちゃんと作って、wpsとかで登録しておこうかな。それがunix屋の道だもの。
こんなのも有るな。