Web Archiveから落としたzipファイルを開く

2008/10/11PC::Tips

Web Archiveから公開停止となったzipファイルを落とせる*1ことがありますが、通常の場合不正なzipファイルとなってしまっていて解凍することが出来ません。

このようなファイルはバイナリエディタでファイル末尾に「0x00」を付加してやればいいようです。WindowsであればBZ、Linux(KDE)であればkhexeditあたりで編集すればよさそうです。
編集が完了したら通常のzipファイルのように開ける……はず。

*1 : 運が良ければ

VMware Server Consoleにおけるキーバインドのカスタマイズ

2008/10/05PC::VMware

LinuxではXmodmapでのキーバインドのカスタマイズはゲストOSには反映されません。生のキーコードがそのままゲストOSへ渡されているようですが、以下の手順にて変更することが可能です。

環境

以下の環境で確認しました

  • Kubuntu 8.04.1 日本語ローカライズド
  • キーボード: 日本語キーボード(jp106)
  • VMware Server 1.0.6
  • VMware Server Console 1.0.6

変更前のキーコード調査

xevなどで調査可能です。

KeyPress event, serial 32, synthetic NO, window 0x4600001,
    root 0x1e9, subw 0x0, time 191321504, (65,176), root:(2378,200),
    state 0x0, keycode 66 (keysym 0xffe3, Control_L), same_screen YES,
    XLookupString gives 0 bytes:
    XmbLookupString gives 0 bytes:
    XFilterEvent returns: False

上記の場合はCapsLockを押した場合のイベントですが、キーコードは66であることがわかります。

VMware Server Consoleでのキーの割り当て

日本語キーボードでのVMware Server Consoleでのキーのコードは以下に記載されています。
/usr/lib/vmware/xkeymap/jp106

Escape                  = 0x001
1                       = 0x002
2                       = 0x003
3                       = 0x004
4                       = 0x005
5                       = 0x006
6                       = 0x007
7                       = 0x008
8                       = 0x009
9                       = 0x00a
0                       = 0x00b

上記は/usr/lib/vmware/xkeymap/jp106の抜粋ですが、Escapeは0x001ということがわかります。このリストから目当てのキーの機能とコードを探します。

実際に変更してみる

CapsLockと左Ctrlを入れ替える場合は次のようになります。

~/.vmware/preferencesに以下を追加する。

xkeymap.useKeycodeMapIfXFree86 = true
# CapsLock -> L_Control
xkeymap.keycode.66 = 0x01d
# L_Control -> CapsLock
xkeymap.keycode.37 = 0x03a

関連記事

[Linux] VMware Server Consoleで「\」「_」が入力できない問題への対応

2008/10/05PC::VMware

Linux環境にてVMware Server Consoleで「\」「_」のキー入力が無視されてしまうという問題への対処法。

~/.vmware/preferencesに以下を追加する。

xkeymap.useKeycodeMapIfXFree86 = true
xkeymap.keycode.211 = 0x073

発生した環境

  • Kubuntu 8.04 日本語ローカライズド
  • VMware Server 1.0.6
  • VMware Server Console 1.0.6
  • キーマップ: 日本語キーボード

参考

ファイル名をShift-JISからUTF-8へ変換するシェルスクリプト

2008/09/28PC::Linux/BSD

概要

ファイル名のエンコードの変換はconvmvで出来るのだが、必要になるのがShift-JISからUTF-8だけなので毎回入力するのはめんどい*1。と、いうことでカレントディレクトリの配下にある全てのファイルのエンコードをShift-JISからUTF-8へ変換するシェルスクリプトを作ってみた。

*1 : だいたい日本語を含む圧縮ファイルで問題となっている

使い方

ファイル名をShift-JISからUTF-8へ変換したいファイルのあるディレクトリに移動し、sjis2utf8.shを実行するだけです。

オプション

-v, --view
変換を行わずに、変換前後の結果を表示する(convmvで引数なしの場合と同じ)
-V, --version
sjis2utf8.shのバージョン
-h, --help
スクリプトの簡単なマニュアル

インストール

前提として、convmvが適当な方法でインストールされている必要があります*2

  1. sjis2utf8.shをダウンロードし、適当な場所に置く*3
  2. sjis2utf8.shに実行権限を付加する

*2 : Ubuntu 8.04ならapt-get convmv

*3 : /usr/local/binあたりを推奨

ライセンス

GNU GPL v2

更新履歴

Ver1.0 2008/09/28
First Release
Ver1.1 2008/10/05
case-esacで書き直し&ヘルプ部を関数化

ダウンロード

ver1.0
ver1.1

拡張子がアップロードする都合上txtとなっているので、適当な拡張子に変換して下さい。

[Kubuntu] Amarokでメディアの接続/切断機能を利用する

2008/09/21PC::Linux/BSD

KubuntuのAmarokではメディアデバイスの接続や、接続状態の切断を行う機能が備わっていますが、そのままでは利用できません。これらの機能を使えるようにしたときのメモ。

環境

  • Kubuntu 8.04.1 日本語ローカライズド
  • KDE 3.5.9
  • Amarok 1.4.9.1
  • メディアデバイス: iPod shuffle 1G (512MB)

デフォルトの状態

amarok-mount.jpg

Amarokで利用可能なメディアデバイスを物理的に接続後、Amarokで「接続」ボタンを押しても図のようなエラーが発生し、マウント及びAmarokでアクセスすることができません。

Amarokから接続/切断ができるようにするには

/etc/fstabを編集する

[KDE] FAT32ファイルシステムをログイン時に自動マウントするを参考に以下の要件を満たす様に編集します。

  • デバイスはUUIDなりLABELで指定する*1
  • 特定のマウントポイントにマウントできる
  • 一般ユーザが書き込み権限を持つ状態で自由にマウントできる
実装例
  • デバイス: iPod shuffle 1G (512MB)
  • ラベル: KaedePod
  • マウントポイント: /media/ipod

上記の場合/etc/fstabを以下の様に編集します。

# iPod shuffle
#<file system> <mount point> <type> <options>                                  <dump> <pass>
LABEL=KaedePod /media/ipod vfat user,rw,noauto,codepage=932,iocharset=utf8  0  0

Amarokからマウントできるように設定する

amarok-mount2.jpg
Amarokにメディアデバイスを接続した状態で設定ボタン(歯車のアイコン)をクリックし、以下の様に設定を行います。

接続前のコマンド
mount /media/ipod
接続切断後のコマンド
umount /media/ipod

これでAmarokからメディアデバイスの接続/切断が可能となります。

*1 : メディアデバイスがUSB機器などの場合状況によって/dev/sddや、/dev/sdeなどに変わってしまうため