XAMPP for Windows環境でPerlのパスを /usr/bin/perl にする

XAMPPをインストールしたまんまだと、perlは以下のところにあります。

C:\xampp\perl\bin\perl

つまりperlのパスは以下のようになります。

/xampp/perl/bin/perl

cgiファイルを1個1個開いてパスを変更するのは正直面倒くさいので(それに本番環境と同じファイルが使えないということにも)、なんとか解決することができないかググってみるとやはりありました
シンボリックリンクを設定するソフトウェアを導入すれば解決するらしい、ということでこちらから早速ダウンロード&インストール。

C:\xamppディレクトリとC:\ディレクトリ(というかCドライブルート)を両方エクスプローラーで開いて、C:\xampp\perlフォルダを右クリックしてC:\の方に、ドラッグアンドドロップ。右クリックメニューに「リンクを作る」というのが追加されているのでこれを選択。するとCドライブルートにperlフォルダが作られます。これがC:\xampp\perlへのシンボリックリンクです。

「リンク作成シェル拡張」を使う様子

このままではパスがおかしいのでC:\perlフォルダ(シンボリックリンク)をusrにリネーム。するとperlのパスは

/usr/bin/perl

になるというわけ。

シンボリックリンクで作ったディレクトリは、エクスプローラー上でも普通のフォルダと同じように扱えます。そして、シンボリックリンクとなるフォルダ自体を削除すれば、リンクを解除することができます。

使用中のWindowsフリーソフトまとめ

あけましておめでとうございます。
正月は実家に帰り、ただただこたつでTVの正月特番を見てました。。

本日仕事始めを迎え、新しい気持ちで仕事に取り組もうということで、自分のPCの作業環境を整理整頓していました。
そのついでと言ってはなんですが、作業環境(Windows XP)にインストールしているフリーソフトウェアの一部をまとめてみました。掲載順はアルファベット順です。

CLCL
クリップボード履歴の管理とか、自分で設定した定型文の挿入とかができる。OSに最初から組み込まれていればいいのにと思うほど便利
DataRecovery
削除したファイルを復元したり、完全削除したりするツール。マシン乗り換えのとき、ファイル完全削除用途に使用しました
Dropbox
無償プラン(2GB)で使用中
FastCopy
ファイルの移動、コピー、削除が高速にできるツール。大量にコピーしたりする時に重宝。IP Messengerと同じ人が作っている
FFFTP
王道FTPクライアント
FileZilla
SFTP用。FFFTPがSFTPに対応していないため。FFFTPと結構UIが異なるので、いずれこっちに一本化したいです。Mac用もあるし
Evernote
主にプライベートなメモばっかり放り込んでいるので、あまり仕事では使っていませんが。有償プラン(月500MB)で使用中
ID Manager
ID・パスワードを管理するツール。とても使いやすい。Mac版もあれば最高なのに・・・
KeySwap
キー配列の入れ替えツール。<CapsLock>→<Esc>に設定
msysgit
Windowsで使えるGit(バージョン管理ツールの一種)。コマンド勉強中
Seven Remix XP
Windows XPの見た目をWindows 7っぽくするソフト。気分が変わります
SkyDrive Explorer
SkyDriveをエクスプローラーに統合して使えるようにするツール。まだインストールしたばかり
Tera Term
たまにSSHを使うときに
Twit
たまにつぶやいてます
VMware Player
仮想マシン実行ツール。Ubuntuをのっけてローカルサーバーとして使ってみましたが、パフォーマンスの問題で結局XAMPPを使っています
X-Finder
タブ表示のファイラ。上っ面な使い方しかしていないので、もっと使いこなしたいところ。こちらの記事を参照のこと
WinMerge
diffのすごいやつ、みたいなツール。ファイルだけでなく、フォルダまるごと比較にも対応
WinShot
スクリーンショットツール。JPEG、BMP形式対応、カーソルも含めた撮影、矩形選択、プレビューなど
XAMPP for Windows
ローカルサーバー。現バージョンだとインストールするだけでPerl、PHP、MySQLと一通り揃っている
Xnview
画像ビューア。軽い。Irfan Viewよりこちらのが好み

2010年が皆様にとって良い年になりますように。
本年もどうぞよろしくお願いいたします。

VMware Playerのビープ音を止める

こないだインストールしたVMware Player上のUbuntuで、コンソールで操作を誤った際などにパソコン本体からビープ音が鳴ってしまい、鬱陶しいと思っていましたが・・・、ちょっと調べてみたら解決しました。

Google先生で調べて、こちらのページを見つけました。
どうやらこれはサウンドドライバを組み込んでいないと鳴ってしまうとのことですが、preference.iniにmks.noBeep="TRUE"と書いても解消されませんでしたので、さらに調べてみることに。

今度はVMware側じゃなくてUbuntu側での設定方法が書かれたページを発見。こちらの方法で解決できました。

コンソールを起動して

sudo vi /etc/inputrc

パスワードを聞かれるので、ログインのパスワードを入力。該当のファイルが開くのでVIコマンド /bell-style で文字列検索。頭に# とされてコメントアウトされているのでこれをVIコマンドで削除して外す。:wqで保存してVIを終了。

これでUbuntuを再起動させたらビープ音は鳴らなくなりました。

VMware PlayerでUbuntuを起動すると出るエラー

最近VMware Playerを使ってUbuntuを触り始めました。
Ubuntuの設定や操作について調べたこともポストしていきたいと思います。

とりあえず手始めにVMware PlayerからUbuntuを起動する際に以下のエラーアラートが出るのが気になります。
エラーメッセージ(Ubuntu 8.04 Japanese - VMWare Player)

この下層マシンで VMware Tools パワーオンスクリプトが正常に実行されませんでした。仮想マシンにカスタムされたパワーオンスクリプトが構成されている場合は、スクリプトにエラーがないか確認してください。それ以外の場合は、サポートにご連絡してください。

エラーメッセージでググってみたところ、解決方法を丁寧に解説していらっしゃる方がいましたので、それに乗っ取って解決してみました。ここでは「対策法 4」を取っています。

  1. まず「アプリケーション→アクセサリ→端末」でコンソールを開きます。
  2. ls /etc/vmware-tools/ を実行し、該当ディレクトリの中身を(一応)確認
  3. sudo vi -e /etc/vmware-tools/poweron-vm-default を実行。
  4. パスワードを聞かれるのでログイン中のユーザーのログインパスワードを入力すると、viのファイル編集画面になる
  5. 空のファイルでいいので何も入力せず :w
    を実行(実際の入力は w<Enter> のみ)してファイルを保存。
  6. :q
    で(実際の入力は q<Enter>)ファイル編集を終了。これでコンソールに戻る。
  7. sudo chmod u+x /etc/vmware-tools/poweron-vm-default を実行し、先ほどviで作った空のファイルに実行権を付ける。
  8. もう一度 ls /etc/vmware-tools/ でファイル一覧を確認すると poweron-vm-default のファイル名の色が変わっていることを確認。(これは現ユーザーが扱えることを表している?)

学んだこと

  • コンソールは「アプリケーション→アクセサリ→端末」で起動する
  • sudoコマンドは続くコマンドをroot権限で実行する
  • ubuntuでは原則としてrootでのログインはしないという形が取られています。
    root権限が必要なコマンドを使うときは
    $ sudo hogehoge

    Ubuntu日本語フォーラム / root権限でのログイン方法が不明

    ということだそうで、sudoコマンドを何かと使うことになる模様。

autocomplpop.vimでclass属性値入力時に出るエラーを回避する

KaoriYaのWindows版Vimにautocomplpop.vimを入れると以下のスクリーンショットのようなエラーが出るようになります。

スクリーンショット:class属性値を入力するとエラーが出て鬱陶しい

コレ、HTMLのclass属性値を入力しようとすると出るエラーなのですが、どうやら編集中のHTMLファイルに関連付けられているCSSを見に行って、そこに定義されていないクラスを入力しようとすると出るようです。便利なようですが、スクリプトのために書くclass属性値もなんかもあるわけで、そういうのでいちいちエラー窓が開いていては入力しにくくて仕方ありません。
そこで、このエラーが出ないようにする、というか、class属性値をいちいちチェックしないようにする方法を。

まずVimのホームディレクトリから runtime/autoload/ とたどっていくと htmlcomplete.vim というファイルがあります。つまり、コレですね $VIMRUNTIME/autoload/htmlcomplete.vim
コレの中身を以下のように編集します。

245〜256行目

        "let headclasslines = filter(copy(styleheadlines), "v:val =~ '\\([a-zA-Z0-9:]\\+\\)\\?\\.[a-zA-Z0-9_-]\\+'")
else
let stylesheet = split(headjoined, '[{}]')
" Get all lines which fit id syntax
"let classlines = filter(copy(stylesheet), "v:val =~ '#[a-zA-Z0-9_-]\\+'")
" Filter out possible color definitions
"call filter(classlines, "v:val !~ ':\\s*#[a-zA-Z0-9_-]\\+'")
" Filter out complex border definitions
"call filter(classlines, "v:val !~ '\\(none\\|hidden\\|dotted\\|dashed\\|solid\\|double\\|groove\\|ridge\\|inset\\|outset\\)\\s*#[a-zA-Z0-9_-]\\+'")
"let templines = join(classlines, ' ')
"let headclasslines = split(templines)
"call filter(headclasslines, "v:val =~ '#[a-zA-Z0-9_-]\\+'")

294〜313行目

            "let classlines = filter(copy(stylesheet), "v:val =~ '\\([a-zA-Z0-9:]\\+\\)\\?\\.[a-zA-Z0-9_-]\\+'")
else
let stylesheet = split(stylefile, '[{}]')
" Get all lines which fit id syntax
"let classlines = filter(copy(stylesheet), "v:val =~ '#[a-zA-Z0-9_-]\\+'")
" Filter out possible color definitions
"call filter(classlines, "v:val !~ ':\\s*#[a-zA-Z0-9_-]\\+'")
" Filter out complex border definitions
"call filter(classlines, "v:val !~ '\\(none\\|hidden\\|dotted\\|dashed\\|solid\\|double\\|groove\\|ridge\\|inset\\|outset\\)\\s*#[a-zA-Z0-9_-]\\+'")
"let templines = join(classlines, ' ')
"let stylelines = split(templines)
"let classlines = filter(stylelines, "v:val =~ '#[a-zA-Z0-9_-]\\+'")
endif
endif
" We gathered classes definitions from all external files
"let classes += classlines
endfor
if internal == 1
"let classes += headclasslines

つまり、classlinesというコードが登場する行を全てコメントアウトします。こうしたら、エラーが出なくなりました。

スマートな方法ではありませんが、とりあえず普通に動くのでOKってことで。