2012年5月13日日曜日

foltiaがしょぼいカレンダーからデータを取得しない

foltiaをUbuntu12.04にインストールしようとやったのだが、
しょぼいカレンダーからデータを取って来てくれなかった。

どうもgetxml2db.plが正常に動いていないようだったので、
デバッグしてみると、以下の重複起動をチェックしていると思われるところで
なぜか1つしか起動していないのに重複起動していると判定して終了していた。
32 $processes =  &processfind("getxml2db.pl");
33 if ($processes > 1 ){
34 #print "process  found:$processes\n";
35 &writelog("getxml2db   processes exist. exit:");
36 exit;
37 }else{
38 #print "process NOT found:$processes\n";
39 &writelog("getxml2db  Normal launch.");
40 }
そこで、この重複起動チェックの部分をコメントアウトすると
すんなり、しょぼいカレンダーからデータを取得できた。


原因を探すために
32行目のfoltialib.plから呼び出す”processfind”という関数の中を見てみる。
210 sub processfind{
211 my $findprocess = $_[0];
212 
213 my @processes ;
214 @processes = `ps ax | grep -i $findprocess `;
215 my $chkflag = 0;
216 
217 foreach (@processes ){
218 if (/$findprocess/i){
219         unless (/grep/){
220                 #print "process found:$_\n";
221                 $chkflag++ ;
222                 }else{
223                 #print "process NOT found:$_\n";
224                 }
225         }
226 
227 }
228 return ($chkflag);
229 }#endsub
この関数を呼び出したgetxml2db.pl自身のプロセスと
"getxml2db.pl"を検索するgrepコマンドのプロセスの
2つをカウントして2を返していたよう。
このため、重複起動チェックでいつも終了して動いてなかった。


なので、とりあえずの対処法としてはgetxml2db.plの上であげた32行目から40行目をコメントアウトすればいい(と思う)。
ただし、重複起動チェックを切ることになるので他の部分で不具合が起きるかもしれない。




2012年4月8日日曜日

NFSの設定

Ubuntu11.10でNFSの設定をした時のメモ

音楽のフォルダを共有したかったので、まずはホームフォルダを英語化する。

今まではネットに転がってるコマンドでいけたが、今回はなぜかできなかった。
Ubuntu 11.10ではコマンドが変わってるらしく、以下のコマンドで設定ができた。
#ホームフォルダ英語化
LANGUAGE=C LC_MESSAGES=C xdg-user-dirs-gtk-update
あとはネットを見つつNFSを設定
#NFS設定
#--サーバ側---
sudo apt-get install -y nfs-kernel-server portmap
# 設定追記
sudo sh -c "echo '/home 192.168.1.0/24(rw,fsid=0,sync,all_squash,no_subtree_check)' >> /etc/exports"
# 設定反映
sudo  exportfs -ra

#--クライアント側---
sudo apt-get install -y nfs-common portmap
#以下のコマンドで[username]は適時変更する
# fstab設定追記
sudo sh -c "echo '#NFS\n''192.168.11.254:/[username]/Music /home/[username]/Music nfs  rw,nosuid,_netdev,hard,intr  0' >> /etc/fstab"
これで起動時から自動でマウントされるが、マウントされるまでしばらく時間がかかった。