mizuk6nの【公開備忘録】
Amebaでブログを始めよう!
1 | 2 | 3 | 4 | 5 | 最初次のページへ >>

Cygwin導入&ある程度日本語化(Cygwin-JE未使用)

以前、こちらの投稿 で、NT版UNIX-like toolsをお勧めしましたが、
処理部分を貧弱なバッチで書く必要がある上、UNIXのコマンド形式と
異なっていることで、使い込むほどに不便になってきました。
一時的にチョコっと使うときにお勧め。)

ということで、今回、Cygwin導入に関する備忘録を残そうかと。。。

Cygwinを利用するには日本語を扱えるようにしなければなりませんが、
基本方針としては、日本語用の特別なモジュールはなるべくインストールせず
設定ファイルの変更のみで「ある程度日本語化」することを心掛けました。
(なので、Cygwin-JEは利用していません。)

結果として、懸念していた日本語化もシンプルな手順になりました。
ただし、あくまで「ある程度日本語化」ですので、ご注意ください。。。
※manの日本語化が出来ていなかったりします。。。

【参考サイト】
http://cygwin.com/ ・・・ Cygwin公式サイト(本家)
uenox.ld.infoseek.co.jp/cygwin/installV15.html ・・・インストール手順など
musashi.sourceforge.jp/cygwin/cygwin.html ・・・ インストール~CygTerm導入
www.sixnine.net/cygwin/translation/index.html ・・・ Cygwinドキュメント翻訳
www.okisoft.co.jp/esc/cygwin.html ・・・ Cygwinの解説

私のCygwinの使い道は、sortuniqdiffsedawkPerlを使う程度で、
全てのモジュールをダウンロード・インストールするのは嫌でした。
なので、以下モジュールのみをダウンロード・インストールしました。
View:category で選択
 Editors
    vim   ・・・ テキストエディタ
 Interpreters
    Perl  ・・・ Perlです。。。
 Shells
    tcsh   ・・・ cshを使いたいので。。。
    zsh   ・・・ なんとなく高機能shellを。。。使ってませんが(^^;
 Utils
    bc    ・・・ なんとなく、電卓がわりに。。。
    diffutil ・・・ diffコマンドのために。。。
    lv    ・・・ 日本語が扱えるページャー(lessやjlessの代わり)
※ちなみに、ダウンロード先は、ftp://ring.nict.go.jp/archives/pc/gnu-win32/
 setup.exeを実行した際のdownload siteには表示されていないかも。。。

Cygwinのインストール方法などは冒頭でご紹介したサイトをご覧くださいm(_ _)m

ここでは私が「ある程度日本語化」する上で作成・追記したホームディレクトリの
ファイル(ドットファイル)をご紹介します。
 これ以外に日本語を扱うために実施した手順はないはず。。。
 少なくとも他のモジュールをインストールとかはしてないです。

ただし、デフォルトで記載している部分は省略している部分があります。
また、冗長・不足・無意味な部分があるかと思いますので、ご容赦ください。
ページャはlessの代わりにlvを使っているつもりです。
manは日本語化できていません
 ※ネット上でmanを見ればいいから、、、と割り切っています。

# ~/.vimrc
set encoding=japan

# ~/.inputrc
set kanji-code sjis
set convert-meta off
set meta-flag on
set input-meta on
set output-meta on

# ~/.bashrc
export LANG=ja_JP.SJIS
export TZ=JST-9
export PAGER='lv -Os'
alias ls='ls --show-control-chars --color=auto'
alias lv='lv -Os'
alias less='lv -Os'
export HISTSIZE=100
export HISTFILESIZE=100

# ~/.cshrc
setenv LANG ja_JP.SJIS
setenv TZ JST-9
setenv PAGER 'lv -Os'
alias ls 'ls --show-control-chars --color=auto'
alias less 'lv -Os'
alias lv 'lv -Os'
set history=100
set savehist=100

また、Win標準のコマンドプロンプトでは色々と使いづらい面があるので、
TeraTerm ProjectによるTera Term(Tera Term Proの拡張版)
CygTerm(Cygwin接続:上記Tera Termに付属)を利用するのがお勧め。
※さらに、CygLaunchでは環境変数PATHの変更不要なのでお手軽

ところで、TeraTermをインストールするときに"Cygterm Here"という
コンテキストメニューを追加できるのですが、これはログインシェルを
実行しない
ようになっており、何かと不便です。

こうなる原因は、レジストリ上のHKCR\Folder\shell\cygterm\commandに
cyglaunchに対して、-nols のオプションが設定されているためです。
ですが、このオプションをはずすと、ホームディレクトリへ移動されてしまい、
Cygterm Hereでなくなってしまいます。。。

解決策は、http://slashdot.jp/~doda/journal/438267 に記載されてました。
この解決策は、/etc/profiles に以下の記載があることを利用しています。

# Make sure we start in home unless invoked by CHERE
if [ ! -z "${CHERE_INVOKING}" ]; then
unset CHERE_INVOKING
else
cd "${HOME}"
fi

つまり、環境変数 ${CHERE_INVOKING} を定義している状態であれば
ログインシェルを読み込みを行う(-nolsのオプションを外す)設定にしても
ホームディレクトリへの移動を抑止することが可能になります。

具体的には、先ほどのレジストリ commandキーを以下のように変更すると、
希望通りのCygterm Hereになりました。(^^)

"(省略)\cyglaunch.exe" -nocd -nols -d \"%L\"
                 ↓ 変更
"(省略)\cyglaunch.exe" -nocd -v CHERE_INVOKING=y -d \"%L\"

以上、いかがだったでしょうか。。。
本投稿により、Cygwinの導入のハードルが低くなれば幸いです。

PCでのFAX送受信

今の時代、ネットで様々な手続きが出来ますが、極々たまにですが、
電話やFAXで資料請求してくださいというような、面倒な手続きもあります。
こういう場合、FAXなら24時間受付、ということで利便性が高いですよね。

とはいえ、ほとんど使うことのないFAX
持っていない方も多いのではないでしょうか?
私も持ってません。場所をとりますし。。。

先日、電話なら平日9時~17時、FAXなら24時間、という事態に出くわしました。
昼休みにでも電話しようと思っていたのを忘れてしまったので、コンビニのFAXで
申請をしようかな、、、とも思っていました。

しかし、よく考えたら私のノートPCにはソフトウェアモデムが付いている、、、
ということを思い出しまして。

PCでFAXを送信しよう!ということに相成りました。

こちらは結果的には結構簡単でして、Windowsに標準で搭載されている
FAX送信ウィザードや、FAXコンソールを使えば簡単に送信できました。
セットアップ~送信までの手順はこちら に詳しく解説されています。

また、メールでFAXを送信するサービスがあることも分かりました。

BIGLOBE FAX送信サービス がそのひとつ。(@niftyにも同様のサービス あり)
(FAX番号)@fax.biglobe.ne.jp というアドレス宛にメールを送信すると、本文と
添付ファイル(PDF、WORDなど制限あり)をFAX送信してくれるサービスです。
※単価も\42/枚、ということで、コンビニでのFAX送信より若干安いので、
 文面などがフリーフォーマットでいけるならこちらの方がお手軽です。

BIGLOBE会員でない方も、コンテンツ会員(無料) になれば使えるようですので、
ご興味があれば、会員登録すると良いかと。
メールアドレスも付与されます。(POP/SMTPは利用不可。Webメールのみ)

こういう感じで調べていると、FAXを色々試したくなりまして。。。

まず、FAX受信

先ほどのBIGLOBE FAX送信サービスで自宅の電話番号宛にFAXを送信し、
FAXコンソールで受信しましたが、結構簡単。(手順はこちら をご参照のこと)
ただ、電話の留守電との連携などは出来ないので、常時使うのは難しいかも。

次に、FAX情報サービス
これは、今の時代、まず使うことはないですが、興味本位で試してみました。

結果として可能でしたが、モジュラ2分配アダプタ一例 )などを使って
2つに分岐させ、それぞれを電話機とPC(モデム)に接続する必要があります。
2分配アダプタは、割り込み防止(秘話)機能の付いてないものが必須。

使い方は、まず電話機でFAX情報サービスへ電話をかけ、サービス番号などの
必要な操作を電話機で行います。(私が試したのはこちらのFAX情報サービス
※お試しの場合はページ数の少ないものにしましょう。結構時間がかかります。

FAXのスタートボタンを押すタイミングで、PCのFAXコンソールで「すぐに受信」
押すと、FAX受信が開始されます。
※通常のFAXと同様、受信開始後に、受話器を置いて問題ありません。
 (ピー、ガーという騒がしいFAX伝送の音が聞こえるだけですので。。。)

ということで、PCでFAXが完全に(?)使えるようになりました。
※使うときだけ、ケーブルを繋ぎ替える形にしていますが。

PCのモデムを色々使えるかな?と思って、少し調べているところです。
基本的にはダイヤラー系で。(プッシュホンでのチケット購入とか。。。)

お勧めソフト『NT版UNIX-like tools』

お勧めソフトを紹介します。
今回は、『NT版UNIX-like tools』です。

どのようなソフトかは、ネーミングで何となく分かるかもしれませんが、
UNIX風のコマンドラインツール(NT系専用)です。

公式サイト: NT版UNIX-like tools
紹介サイト: WindowsをUNIXっぽく

万人に必要なツールとはいえないので、UNIXコマンドを手軽に使いたい、
という思いが全くない方は必要ないかと思います。
どちらかというと、既にUNIXに馴染みがあって、CygwinやSFUほどの機能は
要らないんだけど、、、という方向けです。

Cygwin は良く出来ていて、Xに対応しているなど、UNIX/Linuxで出来ることを
広範囲にカバーしてますが、導入が面倒です。(特に日本語の扱いの設定が
また、SFU も良く出来てはいますが、動作が重いのが難点。
PowerShellでも同等な処理を実現することが可能なのかもしれませんが、
チョコッと使うだけのために一から覚えるのもだるいです。

たとえば、diffコマンドが使いたいだけとか、sort | uniq をしたいだけとか
シェルをエミュレートするまでもなく、コマンドレベルで対応可能なものに
適用すると効果的です。

本家のコマンドに比べるとオプションが少なく、仕様が違う部分もありますが、
手軽に使うには問題ないレベルだと思います。
導入は、実行ファイルを適当なフォルダに入れて、PATHを通してやるだけ。

日本語(Shift-JIS)は問題なく扱えますし、MANPATHを通してやれば
manもどき(tmanコマンド)もあるので、ある程度お馴染みの操作が可能です。

NT版UNIX-like toolsに含まれないけど、個人的に必須なコマンドとして
sed、Perl、nkf、awk。。。これらは、別途入手しています。
※awkなんて、って感じですが、仕事の関係でPerlよりもawkをよく使ってたので
  まだまだawkのほうがパッとコーディングできるんですよね、残念ながら。

シェルをエミュレートするものではないので、条件分岐などを行う際は
Windowsコマンドを使わざるを得ない
のですが、導入がお手軽なので、
チョコッとしたツールとして使うだけであればオススメです。

ちなみに、コマンドプロンプト(バッチファイル)にて少し気をつけたほうがイイのは
UNIXの文法上で使用するダブルクォーテーション(")を思うように使えないことが
ありますので、その場合は\でエスケープしないと動作する必要があります。
 コマンドプロンプトの文法を正確に把握できていないからということもありますが
 私も結構ハマリました。。。

1 | 2 | 3 | 4 | 5 | 最初次のページへ >>