Category: Windows

“Zsh” on “Arch Linux” on “Windows 10”


どうもみむらです。

最近、Windows 10 の RS1 から “Windows Subsystem for Linux” という機能が乗りました。

早い話が Linux アプリケーションを Windows 10 上で動かせるようになりました、
というような機能でして、 “Bash on Ubuntu on Windows” とも呼ばれたりします。

ただ、私は “Bash” 派ではなく “Zsh” 派だったりして、
また “Ubuntu” 派でもなく “Arch Linux” 派だったりしますので、
ちょいとこの機能を使って、表題のようなことをしてみようかと。


余談ですが・・:

どういう風に Bash on Ubuntu on Windows が実現されているかと言うことですが、
ざっくり書くと Linux 環境で Windows アプリケーションを動かす “WineHQ” の逆操作のような
そんな感じです。

Wine が Windows API 呼出 → Linux システムコール として、動かせるようにしているように、
WSL ではその逆で Linux のシステムコール → Windows API 呼出 に変換して動かすような。

詳しいことはこの記事では触れませんが、
気になる方は Microsoft 社のブログ “Windows Subsystem for Linux Overview” をご参照ください
https://blogs.msdn.microsoft.com/wsl/2016/04/22/windows-subsystem-for-linux-overview/

日本語ですと ASCII さんの “Windows Subsystem for Linux の中身を詳しく見る” がわかりやすいかと思います。
http://ascii.jp/elem/000/001/246/1246548/

 

また Windows は可能であれば Insider Build  (Fast) の方が対応しているシステムコールが多く
色々と楽しめるかと思います。

このあたりが気になる方は、リリースノートが公開されていますのでご確認ください。
https://msdn.microsoft.com/ja-jp/commandline/wsl/release_notes


Zsh on Arch Linux on Windows のつくりかた:

1. Windows 10 RS1 もしくは Insider Preview の環境を用意する。

(Windows のインストールの仕方は割愛します・・。)

Insider 版のビルドをダウンロードするには:


設定画面を開き「更新とセキュリティ」をクリック。

image

 

左ペインから「Windows Insider Program」を選択し、右ペインの「ファースト」を選択。
(初めての場合は「Insider Preview ビルドの開始」というボタンがあると思いますので、そちらをクリックします)

image

 

あとは Windows Update を実行することで、
運が良ければ直ぐ、悪ければ1日後に降ってくるようになります。
(Insider Preview ビルドを受け取れるようにするためにちょっと時間が掛かるそうです。)

 

 


2.開発者モードを有効にする

左ペインから「開発者向け」を選択し、右ペインの「開発者モード」を選択します。

image

 

 


3. Windows Subsystem for Linux (Beta) を有効化する

3.1. Windows キー + R  で「ファイル名を指定して実行」を表示し、
“appwiz.cpl” と入力して OK を押します。

image

 

3.2. 開いた画面の左側にある「Windows の機能の有効化または無効化」をクリック。

image

 

3.3. 「Windows Subsystem for Linux (Beta)」にチェックを入れて “OK” をクリック。
image

 

 


4. WSL 環境に “Arch Linux” を導入する。

こちらのサイトで公開されているスクリプトを実行して、インストールを行います。
https://github.com/alwsl/alwsl

 

4.1. 適当なフォルダに “alwsl.bat” をダウンロード。
image

 

4.2. コマンドプロンプトを立ち上げる。

何もないところで “SHIFT キー” を押しながら右クリックすると、
「コマンドプロンプトをここに開く」もしくは 「Power Shell ウインドウをここに開く」
というメニューが現れますので、こちらを利用すると楽かと思います。

image

 

4.3. インストール
( “alwsl.bat install” と入力することで、セットアップが実行されます)

image

 

4.4. “bash” と打って実行。

image

そのまま “root” の Arch Linux 環境に入ります。

 


5. 一般ユーザの設定

さすがに Root で使い続けるのはあまり気分が良くないので、
一般ユーザを作成して、最初はそのユーザになるようにします。

5.1. Root のパスワードを設定する。
→ そのまま passwd と入力して再設定を行ってください。

 

5.2. ユーザを作る
※bash コマンドで Linux 環境に入っていない方は ”bash” と入力して Linux 環境に入ってください。

5.2.1. useradd コマンドでユーザを作成します。
ex) useradd mimura1133

5.2.2. passwd コマンドでパスワードを設定します。
ex)  passwd mimura1133 → パスワードを求められるので入力、設定.

5.2.3 ホームディレクトリを Windows と同一にする。
→ “/mnt” 以下に Windows のドライブ名が並んでいますので
シンボリックリンクを張って、同一にしてしまいます。
ex)   ln –s /mnt/c/Users/mimura1133 /home/mimura1133


…纏めるとこんな感じのコマンドを入力していきます:

root@Satoshi:/mnt/e/temp# passwd
New password:
Retype new password:
passwd: password updated successfully

root@Satoshi:/mnt/e/temp# useradd mimura1133

root@Satoshi:/mnt/e/temp# passwd mimura1133
New password:
Retype new password:
passwd: password updated successfully

root@Satoshi:/mnt/e/temp# ln -s /mnt/c/Users/mimura1133 /home/mimura1133

root@Satoshi:/mnt/e/temp# ls -al /home/mimura1133
lrwxrwxrwx 1 root root 24 Mar  9 18:46 /home/mimura1133 -> /mnt/c/Users/mimura1133/

 

5.3. 起動時のユーザを設定

5.3.1. 一度 “exit” と入力して Linux 環境を抜けます

5.3.2. lxrun /setdefaultuser <5.2 で作ったユーザ名>  と入力。

image

 

5.4. 変わったことを確認。

そのまま “bash” と入力して、Linux 環境に入り、
ちゃんと一般ユーザでログインされていることを確認します。

 


6. Zsh の導入。

6.1. Zsh をインストール。
→ root に昇格後  “pacman –S zsh”

※もし失敗する場合は一度 “pacman –Syu” と入力して全体をアップデートしてみてください。

image

 

6.2. bash コマンドで Linux 環境に入っても “zsh” が立ち上がるように細工する。

私の場合は .bashrc に次のように書き込んでおきました:

/bin/zsh
exit 0;

とりあえずこれで、bash コマンドで起動しても zsh が起動し、
zsh の終了と共に Windows 環境に戻ってくるような感じになります。

 


最後に。

image

インストールするとこのような感じでスタートメニュー内に “archlinux” が追加されます。

またここから起動された端末は文字コードが “UTF-8” となっていますので、
何かと便利かな・・と・・!

image

 

また、Windows のコマンドプロンプト・端末周りも Windows 10 になってかなり良くなりまして

image

AA の nyancat もちゃんと表示される良い子になりました。

 

元から Windows, Arch Linux が大好きな人も、そうじゃない人も
もしよろしければお試し下さいー。

Windows 10 RS2 で ATOK が既定にならない場合。


どうもみむらです。

いつの間にか社会人2年目になっていたらしいのです。
とはいえ「年目」っていうカウントは難しいもので、諸説あるらしいです。よく知りませんが。。

最近はプライベートなPCよりもお仕事のPCを触っている時間が増えていて、
あんまり家のPCで楽しい事をする機会も減っているようなそんな気もしています。

家のPC は Windows 10 の Insider Build の Fast を使っていまして、
マイクロソフト社のなかのひとに「リスキーだなぁ・・」とあきれられそうですが
そういうリスクってのも、プライベート環境ならではの楽しみということで楽しんでいます。

 

ところで、最近の Windows 10 のビルドとジャストシステムさんの ATOK を組み合わせますと、
どうも再起動後に Microsoft IME になったり、英語になったりするようになりました。

加えてキーボードの欄を見てみますと “ATOK” と出ずに、
何も名前がない IME として出てきたりするようにもなりました。

もちろん、この問題に関してはマイクロソフト社さん側でも認識しているようですが
取り急ぎこの問題を解決する方法ということで。

 


解決方法:

やることとしましては、 “Display Description” を追加することで治ります。

追加するもの:

キー名 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\CTF\TIP\{6DBFD8F4-701D-11E6-920F-782BCBA6348F}\LanguageProfile\0x00000411\{6DBFD8F5-701D-11E6-920F-782BCBA6348F}
値名 Display Description
種類 REG_SZ
ATOK 2017

 

Before:

image

After:

image

 

設定完了後、再起動すると

image

このような形で正常に “ATOK 2017” が現れるようになります。
あとはこれを既定にするなり、なんなり。

もちろんこれで、再起動後に “ENG” が既定になったり “Microsoft IME” が既定になったり
という問題も解消されて、ちゃんと ATOK が既定になるようになります。


ところでどうでもいいですが、

image

Microsoft IME 側の当該のレジストリ情報を見てみますと、
ProfileFlags とか Enable とか、他にもパラメータがあるんじゃないかというような
そんな感じのわくわく感がしますが、実際どうなんでしょう・・w

 

ということで、参考まで・・。

Windows 10 で “0x80070002” と出て bash が立ち上がらない場合.


どうもみむらです
なんだかんだで社会人です。そんなもんですかね。

Bash on Ubuntu on Windows が出て久しくなりました。
コントロールパネルでは Linux Subsystem なんて書いてあります。

ただ、一端その Linux の環境が調子悪くなり
ファイルを消せばなんとかなるだろ! と試したために、
コントロールパネルから入れ直しても動かなくなってしまうこと、よくありますよね。

私も見事にそれをやらかして、インターネットをさまよっていた際に解放を見つけましたので
情報共有と、将来の自分に関してのメモということで記述しておきます:


基本的には Linux Subsystem 部分をそっくりインストールし治します。

1. Linux Subsystem を削除

コマンドプロンプトで次のコマンドを実行します:
lxrun /uninstall /full

2. Linux Subsystem をインストール

コマンドプロンプトで次のコマンドを実行します:
lxrun /install


手順としてはこれだけです。
自分で %APPDATA% 内の LXSS に関係するフォルダを削除したりすると
直ぐにこのエラーに遭遇したりして、使えなくなったりします。(やらかしました)

また一度発生すると、コントロールパネルから「追加」と「削除」を繰り返しても
状況は改善しないのですが、
その場合でも、上記の方法で改善できる可能性があります。

 

ということで参考までにメモ。

REF : http://answers.microsoft.com/en-us/insider/forum/insider_wintp-insider_install/problems-reinstalling-bash-on-ubuntu-on-windows/bb32e0a5-e711-410b-b28b-ebc561d5b4d8?auth=1

Windows 10 で 3本指ジェスチャで仮想デスクトップを制御出来るようにしてみた。


どうもみむらです。
なんだかんだドタバタな日々を過ごしております。

 

いつものように Twitter を見ていましたら、
Windows 10 向けの3本指スワイプ(3本指ジェスチャ)でのデスクトップ操作のプログラムを
公開しわすれていたということに気づきまして。。。

 

実は情報セキュリティ系の学会の一つである、コンピュータセキュリティシンポジウム (CSS) 2015 にて交流会の余興のようなもので Windows 10 版を発表していまして。。。

 

・・・というわけで公開いたしました。


ダウンロードは次のリンクから可能です:
http://mimumimu.net/beta/programs/Synaptics_SwitchDesktop_10.zip

 

動作風景としてはこんな感じです・・

 

OS は Windows 10 のみを想定しており、
タッチパッドには「3本指が認識可能な」Synaptics 社製タッチパッドを想定しております。

 

また本ソフトウェアは
ソニー株式会社製 VAIO Pro 13 及び
VAIO 社製 VAIO Pro 13 mkII にて動作を確認しております。

 

仕掛けとしては、前作のものを細工し、自前でデスクトップ切り替えを行っていた部分を
キーボードジェスチャを送信するように書き換えてあるだけです。

 


 

要望等ありましたら、可能な範囲で対応します・・
https://mimumimu.net/community/
https://mimumimu.net/bbs/

 


Windows 7 及び 8 ユーザの皆様に関しましては、
Windows 7, 8 での3本スワイプによるデスクトップ切り替えの発表資料 / バイナリを公開しました。 – みむらの手記手帳
より、当該OS 向けのバージョンを入手可能です。

 


余談:

実は純正で機能は持ってるんです。

Windows 10の新しい「タッチパッドジェスチャー」を使いこなす – itmedia

ただ、ハードウェア要件(装置自体が要求する仕様を満たせているかどうか)が満たせていない場合、
Windows 10 で新しく乗っかったジェスチャが無効になってしまいます。

私が使用していた VAIO も要件を満たしていない部類でしたので、
このようなソフトウェアを使用して「似たような動作が出来るようにした」という
背景があります。

 

Microsoft Surface など、要件を満たしているハードウェアでは、
本ソフトウェアを使用せず(むしろ誤作動の元になります)純正機能で楽しんで戴き、
そうでない場合、本ソフトウェアで動作すれば御の字、というような代物です。

TeX Support for Visual Studio を作ってみた。


どうも。みむらです。
論文を書く日々が続いております。そろそろ完成させなきゃなんですが・・。

tex_vsaddon

そんなこんなで、
ちまちまと作っていた Visual Studio の TeX Support アドオンがいい感じに形になりましたので
ベータ版ではありますが公開いたします。

 

利点としては、次のような点があげられます:

Visual Studio のプロジェクトとして追加出来るため、他のプロジェクトと一緒に管理出来る。
F5 キーで pdf がビルドされる。 Debug ビルドにすれば、リーダーで自動的に開く。
画像ファイルは勝手にビルド時に extractbb される。
・ちゃんと色が付く。

こんなところでしょうか。

 

image

もし、やるならこんな感じですよね。

 

繰り返しになりますが、まだベータ版です。
分かる人のみが使用してください。

 

また、このプロジェクトは私の修論の気分転換の一環で作成されているため、
コードが非常に汚いです。

落ち着いたらリファクタリングしたいです。。


2016/01/27 17:11 update:

本日8時頃に公開いたしましたバージョンではシンタックスハイライトが
上手く動作しない事が判明しましたので、先ほどファイルを更新いたしました。

既にインストール済みの場合は再度ダウンロード頂き、
vsix ファイルから上書きアップデートが行えるようになっています。

 

2016/01/27 22:50 Update:

複数行に渡る TeX コードのハイライトの際に問題がありましたので
修正いたしました。
 


ダウンロードページ : http://mimumimu.net/beta/#VsTeXProj
直接ダウンロード: http://mimumimu.net/beta/programs/VsTeXProject.zip

ソースコード : https://github.com/mimura1133/vstex

ライセンスとしては今のところ MIT ライセンスです。


使い方:

1. 環境を準備する。

1.1. TeX の実行環境を準備する。

 

このプログラムの実行には、LaTeX 環境が必要になります。
具体的には、 pLaTeX or LaTeX,  bibtex, extractbb, dvipdfmx を使用します。

もし環境が準備できていない場合は、阿部さんというかたが作成し提供されている
「TeX インストーラ3」を使用しますと簡単に準備が出来ます。

ダウンロード:http://www.math.sci.hokudai.ac.jp/~abenori/soft/abtexinst.html

ページ下部の「最新版」と書かれたリンクからプログラムがダウンロード出来ます。

image

 

展開したファイルのうち、 abtexinst.exe を実行します。

image

後は「次へ」をクリックして画面に従っていくだけですが(デフォルトのままで大丈夫です)

もし「不明なエラーが発生。ログファイルを見ると何か分かるかも知れません」と出る時は、

image

image

ダウンロード先の URL をこのように、“core.ring.gr.jp” にすると
上手くいくかも知れません。

 

あとはひたすら完了するのを待ちます・・。

image

 

1.2. Visual Studio の実行環境を準備する。

Visual Studio が入っていない場合は、こちらもインストールをお願いします。

ダウンロード: https://www.visualstudio.com/ja-jp/downloads/download-visual-studio-vs.aspx

image

Visual Studio Community で動作しますが、それ以外にも Professional や Enterprise でも動作します。
(Express でも動作するようには設定してありますが、動作確認はしていません。)

またインストール時にメモリが不足していると、コンポーネントのインストールに失敗した表示が出てセットアップに失敗するようです。 VM 上で行おうとする方は気をつけてください。


 


2. アドオンをインストールする

下記リンクよりアドオンのファイルをダウンロードします。

ダウンロード: http://mimumimu.net/beta/programs/VsTeXProject.zip

 

中に入っている VsTeXProject.vsix をダブルクリックしますと、インストーラが起動します。

image

よろしければ、「インストール」をクリックしてインストールを完了させてください。

なお、このとき Visual Studio が起動中の場合
インストール後に Visual Studio を起動し直してください。

 


3. TeX プロジェクトを作る

起動させましたら、
他のプロジェクトを作るときと同じように、プロジェクトを作成します。

image

 

左側のテンプレート一覧“TeX Project” が追加されますので、それを選択すると、
TeXProject が選択できるようになります。

image

 

作成画面になれば、プロジェクトの作成は完了です。

image

 


4. TeX を書いて pdf を作る。

このページの「ファイルの作成」にある内容を書き込んで見ましょう。

https://texwiki.texjp.org/?LaTeX%E5%85%A5%E9%96%80%2F%E6%9C%80%E5%88%9D%E3%81%AE%E4%BE%8B

image

おそらく上記の画面のようになったと思います。
(撮影用に文字サイズを大きくしてあります。)

その状態で F5 キーを押してみましょう。

pdf がビルドされ、上手くいけば関連づけられたプログラムで pdf が開きます。

..もし開かなかった場合(特に初回):
ベータ版特有のあれですが、プロジェクトファイルを再読込すると治ります。

また “Debug ビルド” になっているか確認してください。
Release ビルドでは出力ファイルを開かないようになっています。

 

手っ取り早く再読込するには:

1.プロジェクトを右クリックし、「プロジェクトのアンロード」を選択。

image

 

2.アンロードされるので、もう一度右クリックして「再読み込み」を選択。

image

 

。。。たぶんこれで F5 キーを押した時に、ちゃんと開くようになるはずです。

 


5. pdf ファイルを取りだそう

プロジェクトファイルの置いてあるフォルダに “pdf” というフォルダが出来ており、
最後に正常にビルド出来た pdf ファイルがここに置かれています。

image

 


6. 画像を入れてみよう

6.1. 画像をプロジェクトに入れる

プロジェクトの中に画像をドラッグ&ドロップするなどして追加します。

image

このとき、画面下部の「プロパティ」の “Build Action”
”Picture File” になっていることを確認してください。

image

 

また、ファイルをマウスオーバーすると画像が表示されます。

image

 

6.2. tex の中に画像を参照するコードを書く。

ドライバとしては dvipdfmx になりますので、
頭に dvipdfmx を usepackage して、画像を挿入したいところで includegraphics をします。

コードとしては こんな感じになります:

\documentclass{jsarticle} \usepackage[dvipdfmx]{graphicx} \begin{document} 吾輩は猫である。名前はまだ無い。 どこで生れたかとんと見当がつかぬ。 何でも薄暗いじめじめした所で ニャーニャー泣いていた事だけは記憶している。 吾輩はここで始めて人間というものを見た。 \includegraphics[width=4cm]{img101.png} \end{document}

 

 

そして、これをビルドするとこのような感じになります:

image

 


7. そのほかの機能

7.1. カスタムビルド

既定のビルド方法ではなく、独自のビルドを行いたい場合、
プロパティの “Custom Tool” 欄に記述します。

image

ここに書かれたプログラムにパラメータとして対象のファイルのパスが渡されますので、
後は煮るなり焼くなり。

込み入ったことをしたい場合は、バッチファイルを別途作成し、
ここの欄にそのファイルへのパスを書くといいと思います。

 

7.2. ビルドアクションについて

ビルドアクションには Compile,  Picture, Content の3つがあります。

それぞれ次のようになっています:

Picture:
画像処理用。ビルドの一番最初に処理される。
指定されたファイルを “extractbb” コマンドに与え、 xbb ファイルを生成する。

Content:
コンテンツ処理用。ビルドの二番目に処理される。
何も書かなければ何もしない。
eps ファイルなど、処理をしなくても直接読み込める形式のファイル
分割した TeX ファイルのうち、 include で読み込まれるファイルをこれに指定します。

Compile:
TeX ファイル処理用。ビルドの最後に処理される。
pLaTeX → bibtex → pLaTeX → dvipdfmx の順番で実行されて処理される。

 

7.3. プロジェクトプロパティについて

image

Processor:
LaTeX の処理ソフトを指定します。既定は platex です。

Path:
LaTeX のコマンド類が置かれているフォルダを指定します。
空欄の場合は %PATH% の中から検索します。(既定)

 


8. サポートについて

何かありましたら、サポート掲示板 ( http://mimumimu.net/bbs/Support/ ) までお願いします。

また、開発者の方で Pull-Request を投げてくださる方は、
Github に対して直接お願いします。 ( https://github.com/mimura1133/vstex )

また、直接連絡が必要な場合は、
連絡先ページ ( http://mimumimu.net/community/ ) よりお願いします。

 


そんなわけで、もし使う人が居れば・・どうぞ・・!