2008/07/17(Thu)Vistaでの証明書インポート時の注意

2008/07/17 13:47 Software::Windows
オレオレ証明書など、IEを立ち上げるたびに証明書の警告がうっとうしい場合は、信頼する証明書としてインポートしてしまえば良いのだが、Vista-IE7からはインポート手順がややこしくなっているので注意が必要である。

対象のサイトを開くと「このWebサイトのセキュリティ証明書には問題があります。」という警告が表示される状態から説明を始める。
  • 一旦全てのIEを終了し、IEを「管理者として実行...」する
cert_install_01.png

cert_install_02.png

  • 対象サイトを開くと、再び「このWebサイトのセキュリティ証明書には問題があります。」と文句を言われるが「このサイトの閲覧を続行する」を選ぶ
cert_install_03.png

  • アドレスバーがピンク赤色になっているので、「証明書のエラー」という部分をクリックし、「証明書の表示」を選ぶ
cert_install_04.png

  • 「証明書のインストール」をクリックする(管理者としてIEを実行しないとこのボタンが表示されない)
cert_install_05.png

  • 「証明書をすべて次のストアに配置する」を選び、「信頼されたルート証明機関」に切り替える*1
cert_install_06.png

cert_install_07.png

cert_install_08.png

  • 「次へ」「完了」をクリックする
cert_install_09.png

cert_install_10.png

  • 拇印(sha1)を確認後「はい」をクリックすると「正しくインポートされました。」が表示されるのを確認する
cert_install_11.png

cert_install_12.png

  • 管理権限のIEを終了し、一般権限で立ち上げ直す。
  • 対象サイトを開いた時、「このWebサイトのセキュリティ証明書には問題があります。」が表示されないこと、アドレスバーが赤色にならないことを確認する
cert_install_13.png

cert_install_14.png


なお、この方法では管理者権限が必要になるが、一旦証明書をファイルに落とせば不要?(未確認)
手順としては、一般権限で立ち上げているIEから「証明書の表示」をしたとき、「インストール」(表示されていない)ボタンの代わりに「ファイルへコピー」をクリックし、デフォルトの形式で.cerファイルに書き出し、それをダブルクリックしてインストールする。
この時もストア先を「信頼されたルート証明機関」に変更することをお忘れなく。

*1 : Vistaからはセキュリティ上の観点か、デフォルトがここにならなくなったようです。

2008/07/11(Fri)便利コマンド on Linux

2008/07/11 18:19 Software::Linux
Linuxのシェルは拡張性がヤバいですね。
Linuxを使い始めたときからbash一筋な私ですが、.bashrcに色々と拡張関数を作って便利に使っているので、少し紹介してみます。

コンパイラ系 省略コマンド

コンパイルしたら自動的にそのプログラム名で出力して欲しい!ってことで、N先生に作り方を教わったコマンド。
a.outのままだと、後からみてどのプログラムのコンパイル結果なのか分からないし、既存のと被る可能性があるからなぁ。
  • Usage: $ gcc prog.c
    # gcc
    alias gcc='mygcc'
    function mygcc(){
        pn=`echo $1 | sed -e 's/\.cp\?p\?//'`
        command gcc -Wall -lm -o $pn $*
    }
    # g++
    alias g++='mygpp'
    function mygpp(){
        pn=`echo $1 | sed -e 's/\.cpp//'`
        command g++ -Wall -lm -o $pn $*
    }
    # cc
    alias g++='mycc'
    function mycc(){
        pn=`echo $1 | sed -e 's/\.c//'`
        command cc -Wall -lm -o $pn $*
    }
    

プログラムコンパイルから出力をファイルに書くまで一発なコマンド

まぁごくたまに使いますかねぇ。大量のinputをプログラムに流し込んだ結果をとりたいときとか。
  • Usage: $ start prog.c input.dat
    function start(){
        pn=`echo $1 | sed -e 's/\.c//'`
        command cc -Wall -lm -o $pn $1; ./$pn $2 &> $pn.result; cat $pn.result
    }
    

ファイルの中をぐるぐる検索してくれるコマンド

でも、最近は$ grep -r HOGE ./ で事足りるじゃん…と思って使ってない。
  • Usage: $ exgrep HOGE
    # File grep
    function exgrep(){
        command find ./ -type f -exec grep -l "$1" {} \;
    }
    

ディレクトリ内のtarballを一気に解凍するコマンド

さっき必要だったので作ってみた。
$ tar zxvf *.tar.gzでディレクトリ内の全ての.tar.gzを解凍してほしかったんだけど(apacheログの日ごとにtarballしていたものを解凍したかった)、いちいちforとか打つの面倒だなと思って。
  • Usage: $ extar *.tar.gz
    # Expand decompress .tar.gz
    function extar(){
        for TGZ in $@
        do
            tar zxvf ${TGZ}
        done
    }
    

どーでもいいけど、シェルスクリプトってifの対がfiだったり、caseの対がesacなのに、doの対はodじゃないんだね^^;

追記: bashの関数名に+とか書くと怒られる 2012/04/30

今まで何ともなかったfunction g++() ...という書き方だが、Fedora 16を新規インストールした辺りのbashからどうもsyntax errorになる。仕方がないんで、aliasを噛ませて修正。

Before)
$ function g++(){ echo "hogehoge"; }
-bash: syntax error near unexpected token `echo'
After)
$ alias g++='mygpp'
$ function mygpp(){ echo "hogehoge"; }

2008/07/08(Tue)PuTTYで自動接続

2008/07/08 11:15 Software::Windows
私のクライアントマシンのOSは殆どWindowsなので、Linuxの遠隔サーバー制御のためにPuTTY ごった煮 v0.60-JP_Y-2007-08-06をよく使っている。
PuTTYの日本語化だけでなく、日本語ロケールに特化した機能が多く非常に便利なコンソールアプリである。

が、毎回セッションリストから接続先を指定するのが面倒なので、自動的にセッションをオープンできないかと思って調べてみた。
putty.exe -load <session-name>
で自動的につないでくれるみたい。
ちなみに-loadがない場合は、ホストとして認識するらしい。
セッション名に空白がある場合は""で囲むのを忘れないように…。

2008/07/05(Sat)AnkhSVNとTortoiseSVN併用時の注意

2008/07/05 23:13 Software::Windows
つい最近、TortoiseSVN 1.5.0が公開された。
お、最新版か、と思って1.4.8からサクっと更新したのだが、AnkhSVN 1.0.2でエラーを吐くようになってしまい、どうにも使い物にならなくなった。

Subversion管理のプロジェクトをAnkhSVNに読ませると、
This client is too old to work with working copy; please get a newer Subversion client.
と文句を言われる。

TortoiseSVNになってから色々と機能が増えたようなので、バージョン互換がなくなったような感じなのだが、AnkhSVNのstable最新版は1.0.2のまま。
とりあえずDiary ReleasesのNightly Build "AnkhSvn-Daily-2.0.4523.90.msi"を入れてみてエラーが出なくなった模様。
たまに[Project File]-[Subversion]の項目を選ぶとこういうエラーが出るけどな。
System.ArgumentNullException: 値を Null にすることはできません。
パラメータ名: path
   場所 Ankh.StatusCache.FileStatusCache.get_Item(String path)
   場所 Ankh.Commands.ReverseMergeCommand.OnUpdate(CommandUpdateEventArgs e)
   場所 Ankh.Commands.CommandMapItem.OnUpdate(CommandUpdateEventArgs e)
   場所 Ankh.Commands.CommandMapper.PerformUpdate(AnkhCommand command, CommandUpdateEventArgs e)

と、書いてから、こちらに紹介されていることに気がついた。もっとググらなきゃなぁ…。

2008/07/03(Thu)zshでセグメンテーション違反

2008/07/03 23:29 Software::Linux
長い間bashをカスタムして使っている私ですが、補完がウワサのzshに乗り換えようかと思ってるものの、なかなか設定ファイルがうまく書けないので乗り換えられません。

今日こそは、と.zshrcをいろいろ弄ってみたのですが、なんとシェルで日本語を入れるとセグメ違反になってしまうことが発覚…^^;

zsh_prob_jpn.png

---(bash)---
$ ls -l
$ cat 日本語.txt
$ zsh
---(zsh)---
$ ls -l
~ここではちゃんと日本語が見えている~
$ cat 日本語
↑「にほんご」の変換を確定した時点で"セグメンテーション違反です"

えーと、どうすればいいんでしょうか…。
LANG=ja.JP_UTF-8、zshは4.2.6な環境です。