1. Unix と Windows 世界の融合 みむら ( @mimura1133 ) http://mimumimu.net/ Title : Windows + SUA / @mimura1133 1
2. 自己紹介 みむら / 三村 聡志 (@mimura1133) Website : http://mimumimu.net/ Windowsと Linux を使う。 Windows Phone 7 もいじる。 C と C++ と C# と時々 HSP Python だれか教えて下さい。 最近は IDA Pro と OllyDbgでのバイナリ眺めも趣味。 Title : Windows + SUA / @mimura1133 2
3. お品書き 自己紹介 Subsystems for UNIX Application の紹介 インストール方法 利用方法 GnuWin32 でさくっと Linux のコマンドを入れるには。 SUAによる、ちょっと変態的なこと。 Title : Windows + SUA / @mimura1133 3
5. Windows と UNIX の融合 Windows 使いやすいよね。 UNIX も使いやすいよね。 メインが Windows でも、UNIX のコマンドを使いたい。 UNIXのプログラムをそのままビルドできると良いよね。 Title : Windows + SUA / @mimura1133 5 Subsystem for Unix Application
9. ・・・Cygwin でいいんじゃないの? よりネイティブに動く Title : Windows + SUA / @mimura1133 9 UNIX Application Cygwin SUASubsystem for UNIX-based Applications Windows Subsystem Windows Kernel Hardware Abstraction Layer (HAL) 参照: http://9xsjxg.blu.livefilestore.com/y1puBLfHJPlgyPPUxxJOMQSoWHKXkocmKAz-SgkvmFbzrF-5gAqsQ0lPndBhCAy0x5IU8Ad5oOZylnlfNm9c-EjsA/sua.png
10. SUA の良い点、悪い点 良い点: Win32API に頼っていないため、Windows で未サポートの機能を実現することが出来る。 高速に動作する。 コマンドプロンプトからもUNIX コマンドを叩ける。 パッケージ管理ソフトが付いてくる。 インストール時に変なファイルが作られない。 悪い点: Cygwin のように、多くのライブラリやプログラムが最初からあるわけではない。 ライブラリが結構古い。 Windows 起動時に cronや inetdが走り出す。 Windows Vista, 7 の Ultimate, Enterprise 版のみ (XP は SFU) Title : Windows + SUA / @mimura1133 10
11. 必要環境 Windows Vista, 7/ Ultimate, Enterprise その他、Windows Server にもある。 無い場合: DreamSparkの Windows Server MSDN AA の Windows Server / Windows 7 Enterprise MSDN Subscription などで準備。 インストール先は C ドライブ固定なので、容量をあけておく。 Title : Windows + SUA / @mimura1133 11
18. 使用方法 スタートメニューの Bash Shell を立ち上げる。 Bash Shell が立ち上がるので、遊ぶ。 Title : Windows + SUA / @mimura1133 18
19. 使用方法 – SUA から Windows Bash Shell から Windows コマンドを叩ける。 メモ帳などのプログラムも起動できる。 /dev/fs/[ドライブレター]/ でWindows のファイルへアクセスできる。 「~」は、%userprofile% になってる。 Title : Windows + SUA / @mimura1133 19
20. 使用方法 Windows から SUA grep, cat, ls, vi などのコマンドが コマンドプロンプトから使える。 C:indowsUA 以下に SUA のファイルがある。 UNIX のプログラムを直接実行できる。 ex.).ind . | grep f Title : Windows + SUA / @mimura1133 20
22. 活用方法 su / sudoにて Administrator 権限になれるので、管理者権限でプロセスを動かしたい時に楽にできる。※追記:Windows だと runasコマンドが存在する。 処理は UNIX編集は notepad, Visual Studio を使うというのが可能 Title : Windows + SUA / @mimura1133 22
23. 活用方法 特定の文字列が入ったファイルを探す。 Ex.)find . –name “*.c” | xargsgrep “WM_SETFONT” Subversion や gitによるソースコード管理。 Title : Windows + SUA / @mimura1133 23
24. 活用方法 UNIX のプログラムを OllyDbgでデバッグする。 Title : Windows + SUA / @mimura1133 24
25. 活用方法 /etc/init.d/sshd start SSH デーモンを立ち上げて、SFTP とかしてみる。 Windows をリモート制御してみる。 Xのアプリケーションで何かあそぶ。 Title : Windows + SUA / @mimura1133 25
26. 活用方法 Python とかのウェブサービス開発してみる。 SUA なので、Windows 向けの開発でなく、普通の UNIX 上で動くのと同じ感覚。 ssh [username]@[server-address] でSSH クライアントとして使う。 Title : Windows + SUA / @mimura1133 26
29. GnuWin32の導入 SUA 入れるまでの大がかりなことはしたくない。 そもそも、Ultimate, Enterprise 持ってない。 でも、Linux に標準で入ってる、UNIX 系のコマンドはほしい。 Title : Windows + SUA / @mimura1133 29 GnuWin32
36. SUA で emegeしたい! #gentooinstallbattleとかあるし。 gentooユーザ に片足入れられるし。 SUA もやっぱり ソースからビルドした方が楽。 emerge もソースからビルド。やったね! ftp://ftp.iij.ad.jp/pub/linux/gentoo/experimental/prefix/x86-interix/20110622/gentoo Prefix を入れて、Windows + SUA + Gentoo を! Title : Windows + SUA / @mimura1133 36
38. Gentoo Prefix をインストール Isoをダウンロードしてマウント。セットアップを開始する。 Title : Windows + SUA / @mimura1133 38
39. Gentoo Prefix をインストール 実は、Microsoft 社のウェブサイトや、SUA Community からいろいろ取ってこなくてもいい。 Windows 側の機能を有効にしておくだけで、楽ちんセットアップ。 Title : Windows + SUA / @mimura1133 39
40. Gentoo Prefix をインストール セットアップが完了したら、C:indowsosix.exe /u /c /opt/gentoo/bin/bash –l上記のパスへのショートカットを作成する。 Bash が立ち上がる。 Title : Windows + SUA / @mimura1133 40
42. Gentoo Prefix を使ってみる。 /opt/gentoo/etc/make.confを、国内ミラーに行くように変更するといい。 あとはひたすらemerge する。 Title : Windows + SUA / @mimura1133 42
43. Gentoo Prefix について。 コマンド一つでソフトウェアを入れられる。 依存関係も自動的に解決してくれる。 ・・マスク・・? 意外とうまく動かない・・? ・・・流石 Experimental なだけあるなぁ Gentoo-erな人か、挑戦的な人じゃないと・・? でも試してみる価値は十分にありそう。 Title : Windows + SUA / @mimura1133 43
44. Python + Visual Studio + SUA Title : Windows + SUA / @mimura1133 44
45. Python + Visual Studio + SUA PTVS ( http://pytools.codeplex.com/ ) Visual Studio この2つを使って、快適 Python アプリケーション開発。 実行は SUA 上のPython Title : Windows + SUA / @mimura1133 45
46. Python + Visual Studio + SUA こんなコードを書く。 Windows の Python インタプリタとして、追加する。 Title : Windows + SUA / @mimura1133 46 Download : https://github.com/mimura1133/mm_posix_python_call
47. Python + Visual Studio + SUA さっきのプログラムをインタプリタとして追加。 Python アプリケーションを書く。 実行する。 Title : Windows + SUA / @mimura1133 47
48. Python + Visual Studio + SUA IntelliSense が効く デバッグ可能 実行は UNIX 出力結果は Visual Studio に返ってくる。 Title : Windows + SUA / @mimura1133 48