標準ディレクトリの設定

ホームディレクトリ以下にある標準ディレクトリの設定は ~/.config/user-dirs.dirs に記述されている。

# This file is written by xdg-user-dirs-update
# If you want to change or add directories, just edit the line you're
# interested in. All local changes will be retained on the next run
# Format is XDG_xxx_DIR="$HOME/yyy", where yyy is a shell-escaped
# homedir-relative path, or XDG_xxx_DIR="/yyy", where /yyy is an
# absolute path. No other format is supported.
#
XDG_DESKTOP_DIR="$HOME/Desktop"
XDG_DOWNLOAD_DIR="$HOME/Downloads"
XDG_TEMPLATES_DIR="$HOME/Templates"
XDG_PUBLICSHARE_DIR="$HOME/Public"
XDG_DOCUMENTS_DIR="$HOME/Documents"
XDG_MUSIC_DIR="$HOME/Music"
XDG_PICTURES_DIR="$HOME/Pictures"
XDG_VIDEOS_DIR="$HOME/Videos"

日本語ディレクトリ名を英語名に変換

Ubuntu を日本語で使っているとホーム以下に作成されるディレクトリの名前が「デスクトップ」や「ダウンロード」といったように日本語で作成されてしまう。
これらを英語に変更するには以下のコマンドを実行する。

$ LANG=C xdg-user-dirs-gtk-update

すると以下のダイアログが表示される。

ここで「Update Names」ボタンを押下するとまとめてディレクトリ名が変更される。


ただし、ディレクトリの中にファイルがある場合はリネームではなく別ディレクトリが作成されるようだ。
おいらが試した時は「ピクチャ」ディレクトリの中にファイルがあったので、実行後は「ピクチャ」と空の「Pictures」ディレクトリが存在する状態になった。


xdg-user-dirs-gtk-update は環境変数 LANG を参照して変換を行なっている。また、ログイン時に自動的に実行されるようで、次回ログイン時には今度は日本語に変換するための確認画面が現れる。

「次回からは表示しない」にチェックを入れて、「古い名前のままにする」ボタンを押下すれば、以後この画面が出ることはなくなる。


ちなみに「次回からは表示しない」にチェックを入れていずれかのボタンを押下すると、以降は xdg-user-dirs-gtk-update を実行してもダイアログが出てこなくなる。
その場合は、以下のコマンドで強制的に変換を行うことができる。

$ xdg-user-dirs-update --force

また、この後 xdg-user-dirs-gtk-update を実行すると再びダイアログが表示されるようになる。

仮想マシンの MAC アドレス

Virtual PC
OUI は「00:03:FF」
シリアル ID は、一台目はホスト PC のシリアル ID をそのまま使用し、二台目以降からはシリアル ID の 1 オクテット目を 1 ずつ減らして使用される。


Hyper-V
OUI は「00:15:5D」
シリアル ID は以下のようになるらしい。

そもそも、このMACアドレスの範囲は、Hyper-Vが起動して外部ネットワークが作成される段階で作成されます。生成アルゴリズムはどうなっているかというと、その時点のホストのIPアドレス

192.168.10.200

だとしたら、第3、4オクテットが使われるのでこれらの値を16進数に変換すると0A、C8になります。上位MACアドレスは決まっているので結果的に

00-15-5d-0a-c8-00から00-15-5d-0a-c8-ffの範囲になります。

Hyper-V2.0 Server 展開におけるMACアドレスの挙動について(MCTの憂鬱)

VMware
VMware の場合は 2 パターンあって
自動設定にした場合
OUI は「00:0C:29」


手動設定にした場合
OUI は「00:50:56」
シリアル ID は「00:00:00」から「3F:FF:FF」の範囲で選択可能。


参考資料:
仮想ネットワーク デバイスに静的 MAC アドレスの範囲を設定する方法(Microsoft|TechNet)

(VBA) Input # の仕様

CSV ファイルを読み込むマクロを作る時にいろいろ調べたのでメモしておく。

  • 読み込んだデータは Shift-JIS として扱われる。
  • 一回の実行でデリミタまで読み込む。デリミタはカンマと改行、終端側の引用符。
  • 改行として扱われるのは CRLF と CR。LF は文字データと同等に扱われる。

データバイナリ改行として処理
CRLF0D0A
CR0D
LF0A×

  • 読み込んだデータから空白文字を除いて、最初に現れた文字がダブルクォートだった場合、そのダブルクォートは引用符として扱われる。
    • 引用符で始まった場合、次のダブルクォートまたは改行までが一つの値と見なされる。このため、引用符で囲まれた値の中にダブルクォートを含める事はできない。
    • 引用符に囲まれた中に現れたカンマはデリミタではなく文字データとして扱われる。
  • 空白文字は、スペースとタブ。
  • スペース、カンマ、ダブルクォートは全角も有効。
    • 読点はカンマ扱いされない。

文字Shift-JIS コードカンマとして処理
8141×
8143

    • 引用符として扱われるのは「”」 だけ。

文字Shift-JIS コード引用符として処理
8167×
8168
?8780×

  • 読み込んだデータからは以下が除去される。
      • 先頭および末尾の空白文字
      • 引用符としてのダブルクォート
      • デリミタ
    • 除去の順番は空白文字 → 引用符。よって引用符に囲まれた空白文字は除去されない。
    • 末尾の引用符が無い場合でも先頭の引用符は除去される。


例 1

"ABC""DEF"

先頭のダブルクォートは引用符として処理される。
次のダブルクォートまでが一つの値として処理されるので「"ABC"」までが読み込まれる。
引用符は除去される。
取得される値は「ABC」
もう一度実行すると「DEF」が取得される。


例 2

"ABC,

先頭のダブルクォートは引用符として処理される。
終端側のダブルクォートが存在しないため「"ABC,」まで一行全て読み込まれる。
途中のカンマは引用符の中にあるためデリミタとしては処理されない。
先頭のダブルクォートは引用符として扱われているため除去される。
取得される値は「ABC,」


例 3

A"B",C

ダブルクォートが含まれているが先頭ではないので文字データとして扱われる。
引用符ではないので除去されない。
取得される値は「A"B"」
もう一度実行すると「C」が取得される。

Pml Driver HPZ12 サービスのアンインストール

タスクマネージャを見ていた時に HPZipm12.exe というプロセスがいる事に気が付いた。
調べてみるとどうやら HP のプリンタドライバのようだ。
しかし、HP のプリンタは現在は使用していないので関係するソフトは全て削除したはずだったんだけどな。


で、アンインストールしようとやり方を調べてみたのだが、どうも手動で消すしか無いっぽい。('A`)


手順
1、「Pml Driver HPZ12」サービスを停止する。
2、レジストリから以下のキーを削除

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Pml Driver HPZ12


とりあえず、これで起動はしなくなる。
気になるならプログラムファイルも削除。

C:\WINDOWS\system32\HPZipm12.exe

ただし、似たような名前のファイルがたくさんあるので完全に消すのは大変かも。

Interscan Web Security Suite は SELinux に対応してないのかー その 2

あの後、Patch 1 と Critical Patch を当てたんだが、結局こんだけ chcon コマンドを叩く羽目になった。

chcon -t textrel_shlib_t '/opt/trend/iwss/bin/plugin/IWSSPISigScan.so'
chcon -t textrel_shlib_t '/opt/trend/iwss/bin/lib/libReportLogging.so'
chcon -t textrel_shlib_t '/opt/trend/iwss/bin/plugin/IWSSPIJavascan.so'
chcon -t textrel_shlib_t '/opt/trend/iwss/bin/plugin/libIWSSPIUrlFilter.so'
chcon -t textrel_shlib_t '/opt/trend/iwss/bin/lib/libReportMetric.so'

はなはだ面倒でござる。


なんとか対応して欲しいもんだ。
でも、別件でこんな事言ってるしなぁ。
UNIX:Red Hat Enterprise Linux 4において初期設定のSELinuxを有効にした場合のIWSSの動作について(トレンドマイクロ サポートページ)

本現象を回避するには、SELinux を無効にしていただくか、ポリシー違反のアクセスを拒否せずに
ログへの記録のみを行う “permissive” のモードで運用する必要があります。

セキュリティを高めるために導入してるのに、これはどうなの……