Seeker's Memo

個人的で技術的かもしれないメモがメインのブログです。http://seekers.hatenablog.jp/about

Windows-7上でLinuxライクな簡易シェル(プロンプト,コンソール,ターミナル)環境を作ってみる。(フォルダ右クリックメニュー+管理者権限対応)

cmd.exeと周辺がださくて貧弱で使いにくので、どうにかできないかと色々検索してたら見つかったので試してみた

PowerShellでもいいきがするけど、あえて他の道を行く!

※本稿での内容において、用語と認識(そのソフトの役割)を間違えている可能性があります。
1.ckw-mod-0.9.0-d2(シェルラッパー=いわゆるターミナルに当たる。色々派生版があるらしいが現在はこれが一番いいらしい)
2.nyaos-3.2.0_7-win(Windows-OS添付のcmd.exeに変わるプロンプトシェル)
3.GoW(Win用移植基本*nix系コマンド集)かMinGW/MSYS(GCCとか入れるかな.mingw-get-installとかいうインストーラがある。MinGWGCCだけならx86-64のバイナリ単体でも個人ビルドの配布があったように思う)を入れる
4.emacsのWin用バイナリ(zipとかtarで配布されてる)

んで、GoWの場合は勝手にパス設定とかしてくれる。

他は設置とパスの設定などなど済ませること。

ckwはフォントとかカレントディレクトリとか、シェル指定をする(nyaosに)。

環境変数HOMEを設定してなければ、設定すること。(好きな場所。そこに設定ファイルとか作られるし、そこがホームディレクトリと起動デフォルト場所になる)

nyaosでいじったのは、

#カスタマイズ
option savehist "B:\Progs\nyaos-3.2.0_7-win\history_list"
option prompt $e[31;40;1m[$p]$_$$ $e[37;1m

これだけかな。
history_list」は空のファイルを作っておけばOK。コマンド履歴が使えるようになる。

ckwは、
execにnyaos.exeのパスを書いておく
半透明は220ぐらいにしてみた。
フォントはMigu 1Mを10ptぐらいでやってみる


設定を済ませ&いじってckw(nyaos)を起動してみると半透明で表示できたりして良い感じ、lsコマンドとかも使えるし。
emacsも-nwで起動できるし。設定はLinuxで使ってたやつを流用していじってます。
f:id:uys:20120821134049p:plain

んでこのままだと、好きなディレクトリから起動したり、管理者権限のときめんどうなので、レジストリを編集。
専用レジストリファイルを晒しておく。ckwとかの設置場所を読み替えてください
フォルダ右クリックでckw(nyaos)を起動

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\\shell\ckw]
@="このフォルダからckwを起動する(&B)"

[HKEY_CLASSES_ROOT\Directory\shell\ckw\command]
@="B:\\Progs\\ckw-mod-0.9.0-d2\\ckw.exe -cd \"%1\""

フォルダ右クリックでckw[nyaos]を管理者権限起動

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\shell\runas]
@="このフォルダから管理者権限でckwを起動する(&B)"

[HKEY_CLASSES_ROOT\Directory\shell\runas\command]
@="B:\\Progs\\ckw-mod-0.9.0-d2\\ckw.exe -cd \"%1\" -tl (管理者権限)ckw[nyaos]"

上記2つを実行すれば右クリックから好きなフォルダで実行できるようになります。
私の場合「B:\Progs\」にそれぞれ適当配置したのでそのようになってます。
また、なにもないところをクリックした時にckwを起動させたい時は、

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\Background\shell\ckw]
@="ここでckwを起動する(&B)"

[HKEY_CLASSES_ROOT\Directory\Background\shell\ckw\command]
@="B:\\Progs\\ckw-mod-0.9.0-d2\\ckw.exe -cd \"%V\""
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\Background\shell\runas]
@="ここでckwを起動する[管理者権限](&B)"

[HKEY_CLASSES_ROOT\Directory\Background\shell\runas\command]
@="B:\\Progs\\ckw-mod-0.9.0-d2\\ckw.exe -cd \"%V\" -tl [管理者権限]-ckw[nyaos]"

上2つを。

それからsudoとかしたいときは、
http://www.binzume.net/diary/2012-06-23
あたりが参考になるです。ありがたや。
ファイル作って設置(パスの通ってる場所か、パス通す)

ターミナルのタブ機能とかを使いたいのなら「ckw」じゃなくて「Console2」というのを使うという選択肢もあるが、日本語化はされてない(日本語は問題なく使えるみたい)。


応用で同じように環境作るなら、
MinGW/MSYSからMinttyの端末ミュレータを使うという手もあるかな。
もちろんCygwinって選択もあり。