トップ «前の日記(2009-10-05(Mon)) 最新 次の日記(2009-10-08(Thu))»

PC関係のメモ


2009-10-06(Tue) [長年日記]

_ 「tDiary-mode for xyzzy」を「tDiary 2.3」以降に対応させる。(UTF8対応)

ハハハハさんが公開されている超便利な「tDiary-mode for xyzzy」。

http://www20.big.or.jp/~rin_ne/soft/tdiary-mode/

残念ながらtDiary 2.3以降には対応していない。

原因はtDiaryの文字コードが2.3以降、EUCからUTF8に変更されているため。

というわけで、適当に対応させる。

「多分eucって書いてある箇所をutf-8とかutf8に置換すればOK」でしょ。っていう方針。

結論から言うとそれで出来た。

置換方法は下記でOK。ハイフン有無を注意。

  • 「encoding-euc」を「encoding-utf8」に。(utf8の様にハイフン無し)
  • 「map-internal-to-euc」を「map-internal-to-utf-8」に。(utf-8の様にハイフン有り)
expansion.l:96:;;   (si:www-url-encode (map-internal-to-utf-8 str) nil " ")
expansion.l:100:   (si:www-url-encode (map-internal-to-utf-8 str)) "+" "%2B"))
http.l:78:     (change-fileio-encoding (or encoding *encoding-utf8n*))
http.l:82:     :incode (or encoding *encoding-utf8n*)
http.l:83:     :outcode (or encoding *encoding-utf8n*)))
http.l:152:    (change-fileio-encoding (or encoding *encoding-utf8n*))
http.l:157:    :incode (or encoding *encoding-utf8n*)
http.l:158:    :outcode (or encoding *encoding-utf8n*)))
tdiary.l:146:  (defvar *tdiary-encoding-system* *encoding-utf8n*
tdiary.l:750:  (change-fileio-encoding (or *tdiary-encoding-system* *encoding-utf8n*))
tdiary.l:850:  *encoding-utf8n*))

expansion.l:96はコメントなのでどっちでもいい。

注意点としては、「encoding-utf8」ではなく「encoding-utf8n」である点。違いはBOMの有無。

最初「encoding-utf8」としたら、BOM(Byte Order Mark)が入っているせいで「<U+feff>POST」のようになってしまい失敗した。

_ ディレクトリ内のファイルを全部gzip圧縮するシェルスクリプト

Apache等のログファイルが肥大化してる等の理由から、ファイル単位で全てgzip圧縮するためのシェルスクリプト。

#!/bin/sh

for i in `find . -name '*.log.*'`
do
    echo "gzip -f $i"
    /bin/gzip -f $i
done

「-name」の検索条件はログの名前により変更する。

ディレクトリ単位で圧縮するより、ファイル単位で圧縮するほうが、後でzcat等で中身見る際に便利。

_ 一般ユーザ権限にActiveDirectoryのグループポリシーを使ったソフトウェアの展開

グループポリシーオブジェクトを使ったソフトウェアの自動配布について調査したのでメモ。

大きく2つ方法がある。

  • コンピュータに対して割り当てる。
  • ユーザに対して割り当てる

title0

この2つの違いは下記。

  • コンピュータ
    • ローカルのSYSTEM権限でインストーラが実行される
    • 展開方法は「割り当て」のみ。「公開」は選択不可。
    • インストールタイミングはOS起動時ログオン前。
  • ユーザ
    • ドメインのユーザ権限でインストーラが実行される。
    • 展開方法は「割り当て」と「公開」から選択できる。
    • インストールタイミングはログオン後。

特に重要なのは「コンピュータの場合ローカルのSYSTEM権限だが、ユーザの場合ドメインのユーザ権限で実行される」ということ。

よって、下記2点に特に注意が必要となる。

  • ユーザが一般権限しか持っていないような環境で、管理者権限が必要なソフトウェアをインストールする場合、コンピュータを選択することになる。
  • コンピュータの場合、インストールポイントとなるフォルダのアクセス権限は、ドメインユーザ以外のユーザもアクセス許可すること。

特に後者、気づきにくいので注意。

[]