December 12, 2006

DarwinPortsのインストール

DarwinPortsのインストール。X11 SDKを入れてないと怒られた。
# curl -O http://darwinports.opendarwin.org/downloads/DarwinPorts-1.3.2.tar.gz
# tar zxvf DarwinPorts-1.3.2.tar.gz
# cd DarwinPorts-1.3.2
# ./configure && make && make install
# /opt/local/bin/port -d selfupdate


お試しインストール。Subversion
# /opt/local/bin/port install subversion

初代Mac mini(G4 1.42GHz/512MB)にインストールしたら、60分近くかかりました。

って書くほどのネタでもなかった、か。  

July 17, 2006

mac mini復活




壊れてしまったmac miniのHDDを交換しました。どうもI/Oが遅いと感じていたので、スペックアップをかねた修理なのだと言い聞かせて2.5インチのHDDを購入。14800円也。HGSTのHTS721080G9AT00にしました。開けてみると、元のディスクはSeagateのST9808210A。何と4200rpmでした。そりゃあ遅いのも仕方がない。

幸いなことに分解記事は沢山あったので、こちらなどを参考にスクレイパーをザクっと突っ込んで爪を外して開けることができました。バラバラにしたパーツを組み立てるのに少々時間がかかりましたが問題なく起動。OSXを再インストールして元にもどったのでした。

OSをインストールしたばかりなのでなんとも言えませんが、HDDの速度が改善されたので多少はレスポンスがよくなったような気がします。もう壊れないでほしいものです。やれやれ。  

July 09, 2006

mac mini起動せず。




「あー、カーネルパニック起きてますねぇ。」

Apple Store Ginza ジーニアスバーのお兄さんは一目見て断言。これではどうしようもないですね、と続けて語りだしたのでした。

近頃、Safariが落ちたりマシンがフリーズすることが多く不安定だったmac miniがついに起動しなくなりました。これまでも起動しなくことはよくあったのでAppleのサポート情報に従って接続されている機器のケーブルを外したりしてなんとか起動させていたのですが、今回は何をやってもダメ。起動すると再起動を促す画面が出るだけで何もできませんでした。

試行錯誤の末、面倒になったのでジーニアスバーに持ち込んで対処してもらいました。ジーニアスさんは外部HDDのOSから起動(HDDを接続してコマンドキーを押しながら起動していました)してディスクユーティリティでHDDを修復。これでOSのインストールができるようになったので再インストールしてくれとのことなので一安心し、お礼を言って帰宅してOSXをインストールしようとしたところインストール先ボリュームにHDDが現れません。ディスクユーティリティで再度修復してみるもやはりインストール対象には出現せず。ジーニアスバーでOSXのインストールまでやってもらうべきでした。お手上げです。

ジーニアスバーではHDDが物理的に破損しているので交換すべきと言われました。しかしAppleで交換してもらった場合、保証期間がきれているため\38,000かかるとのこと。そもそもmac miniの買値は約八万円なので約四万もかけてHDDを交換する気にはなれません。後は自分で2.5インHDDを交換するくらいしか手段はないそうです。重要なデータは入っていないので交換すること自体は良いのですが、\38,000払う気はしませんし、自分でmac miniを開けて交換するのはかなり面倒です。

このmac miniは初代のモデルでスペックが非常に低く、インターネットや動画再生にすら支障が出ていたのでお金をかけて直す気もおきません。どうもTigerを入れてから動作が不安定になった気がします。最低限のスペックなので、デフォルトでインストールされているPantherが、動作させることのできる限界だったのかも。しかし今更安定動作のためにPantherに戻す気も起きません。

一瞬最新型のmac miniに買い換えようかとも思いましたが、最新型もロゼッタ経由だと大差ない程度のスペックです。mac miniはintel macシリーズの中でも極端にベンチの結果が悪く、mac fan誌には「おすすめしない」とまで書かれていました。その他の機種にはディスプレイが付属しているので場所的に不可能。というか不要。来月発表されると言われているG5の後継も発売はいつになるのかわかりません。

一応メインマシンとして使用していたのでないと困るので、できれば買い換えたいのですが良い機種がない。

弱りました。どうしたものか・・・  

June 20, 2006

MacOSXのブラウザで音が出なくなるトラブル

ある日突然、ブラウザで再生するFlashやムービーの音がでなくなってしまいました。Safari, Opera共にダメ。
iTunesなどの音は問題なし。再起動しても変化なし。寝ても直らないので検索したら解決策発見。ありがたや。

Appleにも情報があるようです。

システムアラートは鳴るが、一部のアプリケーションから音がでない (Mac OS X 10.3, 10.4)

解決方法

  1. 「Audio MIDI 設定」(/アプリケーション/ユーティリティ/)を開き、「オーディオ装置」タブにある「オーディオ出力」の設定をチェックします。

  2. 「オーディオ出力」の「フォーマット」を“44100.0Hz”に変更します。

  3. 「Audio MIDI 設定」を終了します。




何かのアプリが勝手に設定を変更してしまうらしいです。迷惑極まりないですね。  

May 21, 2006

Mac OS X のファイル関連付け変更方法

Finderで該当ファイル右クリック
→情報を見る
→このアプリケーションで開く (メニュー展開)
→プルダウンでアプリ変更
→全てを変更


一年間わかりませんでした・・orz

参考
http://allabout.co.jp/computer/macos/closeup/CU20020206plst/  

November 04, 2005

JavaのCMS「OpenCms」をインストールしてみた

折角JSP/Servletの環境を作ったので何かアプリを動かしてみようと思い探してみたらOpenCmsなるCMSを発見。これを動かしてみることにしました。JSP/Servletでフリーのアプリって少ないような気がします。何か、日本語化されている有名なアプリはないのでしょうか。単に探し方が悪いだけなのかもしれませんが。
   続きを読む

October 30, 2005

OSXでJSP/Servletを動かしてみた

なんとなくJavaで遊んでみました。
メインUNIXマシン(MMX200)は遊びづらくなってきたので今回はmac miniです。MMX200だと、コンパイルとか遅くて眠くなるのです。

Javaはさっぱりわからないので少し調べてみたところ、JSP/Servletの開発に必要な環境は主に下記のようなので順を追って試してみることにしました。(Eclipseはなくても動くので今回はパス。)

  1. JDK (コンパイラ、ライブラリ等)

  2. Tomcat (Webアプリケーションサーバ)

  3. Eclipse (GUIベースの開発ツール)



Hello World (JDK)

しかしまずJavaを知らないので、取りあえずお約束のHellow Worldを書いてJDKで動かしてみました。
OSXには最初からJDKが入っているのでインストールの必要はなし。

まずコードを書いて
# vi helloworld.java
class HelloWorld{
static public void main(String args[]){
System.out.println("Hello World!");
}
}


コンパイルして実行、と。 *1
# javac helloworld.java
# java HelloWorld
Hello World!


*1 実行時に# java HelloWorld.classと打ったら「Exception in thread "main" java.lang.NoClassDefFoundError: HelloWorld/class」のようにクラスへのパスが通ってないとさんざん怒られました。拡張子は不要らしい。というかドットはパッケージの階層構造を意味するらしい。このことにしばらく気がつかず困りました・・・。
カレントはデフォルトのクラスパスなので明示的にパス指定する必要はないようです。あえて指定する場合は環境変数CLASSPATHにパス(この場合は「.」)を通せばいいらしい。また、「java -cp . HelloWorld」のようにオプションで指定することもできる、と。


Tomcatのインストール

次にTomcatをインストール。*2

# cd /usr/local/src/
# wget http://www.meisei-u.ac.jp/mirror/apache/dist/tomcat/tomcat-5/v5.0.28/bin/jakarta-tomcat-5.0.28.tar.gz
# tar zxvf jakarta-tomcat-5.0.28.tar.gz -C /usr/local/
# cd /usr/local/
# ln -s jakarta-tomcat-5.0.28 tomcat5

これでインストールはおしまい。

Tomcatの起動。*3
# setenv JAVA_HOME /System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home/
# /usr/local/tomcat5/bin/startup.sh
Using CATALINA_BASE: /usr/local/tomcat5
Using CATALINA_HOME: /usr/local/tomcat5
Using CATALINA_TMPDIR: /usr/local/tomcat5/temp
Using JRE_HOME: /System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home/


プロセス確認
# ps -auxw | grep Java
root 1868 0.1 5.7 283072 30088 p1 S 8:15PM 0:10.03 /System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home/bin/java (以下略)
root 1872 0.0 0.0 8772 8 p1 R+ 8:15PM 0:00.00 grep Java


ブラウザでアクセスして確認。不細工なネコが表示されたらOK。
http://127.0.0.1:8080/


終了は
#/usr/local/tomcat5/bin/shutdown.sh



*2 当初、最新版のv5.5.12をインストールしたら
This release of Apache Tomcat was packaged to run on J2SE 5.0
or later. It can be run on earlier JVMs by downloading and
installing a compatibility package from the Apache Tomcat
binary download page.

起動しませんでした。Tomcat5.5はJ2SE5以上でないとダメらしい。現段階ではどうでもいいので5.0系を使いました。

*3 環境変数を指定せずに起動したら
# /usr/local/tomcat5/bin/startup.sh
Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
At least one of these environment variable is needed to run this program

怒られました。


Hello World (JSP)

さて次はJSPでWebアプリケーションを作成してみます。
J2EEではWebアプリケーションのディレクトリ構成が決まっているようなので作法に従ってディレクトリを作成。
今回はデフォルトのwebappsの下に作成しました。

# cd /usr/local/tomcat5/webapps
# mkdir MyApp
# mkdir MyApp/WEB-INF
# mkdir MyApp/WEB-INF/classes


次にWebアプリケーションのコンテキスト定義ファイルを作成します。
# vi /usr/local/tomcat5/conf/Catalina/localhost/MyApp.xml
<Context path="/jsp-app" docBase="MyApp" debug="0" reloadable="true" />

URIはここで指定。reloadable="true"にしておけばサーブレット修正時にサーバを再起動する必要がなくなるそうです。

次にWebアプリケーションの設定ファイルであるweb.xmlを作成。適当です。
# cd MyApp/WEB-INF
# vi web.xml
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
version="2.4">
</web-app>


表示するjspファイルを作成。
# cd ..
# vi helloworld.jsp
<html>
<head>
<title>Hello World!</title>
</head>
<body>
<%@page import="java.util.Date" %>
<%
Date time = new Date();
String s= "Hello World";
out.println(s);
%>
<address><%= time %></address>
</body>
</html>


Tomcat再起動
# /usr/local/tomcat5/bin/shutdown.sh
# /usr/local/tomcat5/bin/startup.sh


ブラウザで確認。
http://127.0.0.1:8080/jsp-app/helloworld.jsp



Hello World (Servlet)

最後にServletも動かしてみることに。ServletからWebに直接出力というのはちょっと微妙ですが。

まずソースを書く。(ここからもらいました。)
# cd /usr/local/tomcat5/webapps
# vi HelloWorldServlet.java
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class HelloWorldServlet extends HttpServlet {
public void service(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
// ContentTypeを設定
response.setContentType("text/html; charset=Shift_JIS");
// 出力用PrintWriterを取得
PrintWriter out = response.getWriter();
// 出力
out.println("<html>");
out.println("<head>");
out.println("<title>Hello World Servlet</title>");
out.println("</head>");
out.println("<body>");
out.println("Hello World");
out.println("</body>");
out.println("</html>");
}
}


コンパイル。なにやらいろいろパスを通さないといけないようです。
# javac -d WEB-INF/classes -classpath /usr/local/tomcat5/common/lib/servlet-api.jar HelloWorldServlet.java


web.xmlに下記を追加。
# vi WEB-INF/web.xml
<servlet>
<servlet-name>MyHello1</servlet-name>
<servlet-class>HelloWorldServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>MyHello1</servlet-name>
<url-pattern>/helloservlet</url-pattern>
</servlet-mapping>


Tomcat再起動
# /usr/local/tomcat5/bin/shutdown.sh
# /usr/local/tomcat5/bin/startup.sh


ブラウザで確認。
http://127.0.0.1:8080/jsp-app/helloservlet




というわけで駆け足でHello Worldを試してみたのでした。

参考URL
http://www.ayaori.net/software/osx/tomcat5Primer/
http://www.hellohiro.com/
  

October 12, 2005

Mac OSXのVNCクライアントとOpenSSHポートフォワードを使ってWindowsを遠隔操作してみた

外出先のWindowsから自宅PCをVNCで操作するのはとっても便利なのですが、遠隔地のOSXからも自宅のVNCサーバにアクセスしたくなったのでやってみました。理由は単純。Windows(VNCサーバ機)のひかるにアクセスして家計簿を付けたいのです。ただそれだけ。

手順はこんな感じ。


  1. 操作対象PCのVNCサーバを起動しておく。(RealVNC)。ポート番号はここでは5900。

  2. ターミナルから自宅のSSHサーバに接続し、VNCサーバのローカルIP(192.168.0.250)に向けてトンネルを掘る。(ここではOSXのローカルポート5900を自宅VNCサーバの5900にフォワードしてます。
    自宅SSHサーバのホストアドレスが「gate.example.com」ユーザIDが「myuser」だとするとこんな感じ。
    # ssh -l myuser -L 5900:192.168.0.250:5900 gate.example.com

    ※SSH -L <ローカルポート番号>:<転送先ホスト>:<転送先ポート番号> <リモートホスト>

  3. OSXのVNCクライアントChicken of the VNCをインストールして起動。Hostに「localhost:5900」、PasswordにVNCサーバのパスワードを入力して「Connect」



これで遠隔地のOSXから自宅のWindowsを操作することができます。動作はすごく遅いけども一応便利・・・かな。
ちなみにポートを3389にすればさくっとリモートデスクトップが使えることでしょう。  

October 11, 2005

RSSリーダーとしてのSafari

bb420e4f.jpgあっ、という間にインターネット世界を席巻してしまったブログのおかげで近頃は巡回サイトのほとんどがRSSに対応してくれるようになりました。RSSは普及するのかどうか微妙だなーと思っていたのですがついに浸透してしまった気がします。PointCastは失敗したのに。かつてのチャンネル技術がもっと気軽に作れる仕様だったら普及したのでしょうか。単に時期尚早だったのかもしれません・・。

それはさておき近頃はRSSに対応していないと毎回見に行く気がおこりません。RSSリーダーとしてBloglinesを愛用しているのですが、これが実に見づらい。blogを見る方が遙かに見やすいです。[お気に入りblog発見→bloglines登録!→見づらいので見なくなる]という間抜けな展開になることが増えてきたのでこれでは本末転倒と思いRSSリーダーを探していました。

Googleがβサービスをはじめたのでちらっと触ってみましたがJavaScriptの使いすぎでブラウザ対応がいまいち。livedoorとかはてなとかいろいろ見てみましたがどれも使いづらい or 見づらい。(はてなのサービスは全てが恐ろしく見づらく、わかりにくい・・。)

そこでSafariを使ってみました。
ブラウザはOperaを長いこと愛用しているのですが、文字の見やすさにおいてSafariに一日の長があります。RSS機能もその例外ではなくとても見やすい。インターフェースもわかりやすい、今のところ快適に使用できています。

ブックマークとしてRSSのURIを登録しておき、「すべてのRSS記事を表示」とすればフォルダ内の全てのRSS記事を一括で開いてくれます。サブフォルダ内のRSS記事にも対応しています。表示範囲やソートもできて便利。RSS記事は一度開かないとSafari側でRSSだと認識しないようなのでURIを登録するだけでなく一度は個々に開かないといけないようです。

ちなみにbloglinesからSafariへのOPMLのimport手順はこんな感じ。

・blogline→MY フィード→編集→登録リストの抽出(OPML)で、OPMLファイルをエクスポート
→Firefoxをインストール
→Firefoxにsageをインストール
→Firefoxメニュー→ツール→sage→Options→OPML inport/export→Import OPMLで、OPMLファイルをインポート
→Safariメニュー→ファイル→ブックマークの読み込みでFirefoxのブックマークを読み込む(User/Library/Application Support/Firefox/Profiles/の中)


・・・面倒。さっさとSafariもOPMLのimpot/exportに対応してほしいものです。


※手順は下記を参考にさせていただきました。
http://homepage.mac.com/jsgarage/C303066367/E191576364/  

September 14, 2005

iTunes目覚まし時計

b724d5ea.jpg今は壊れてしまい捨ててしまったオーディオ機器をまだ所有していた頃、朝起きるために目覚まし時計代わりにCDを利用していたことがありました。朝が弱いので毎日起きるのには一苦労なのですが、起きる時間の一時間前くらいから、好きな音楽を聞き取れる最低レベルの音量で鳴らしておくとレム睡眠状態の時に頭に好きな音楽が流れ込んで夢の中で音楽を聴いているような状態になります。これが上手くいくと、気がつくといつのまにか目覚めて爽やかな朝を迎えることができるのでした。

愛用のミニコンポが壊れて数年、また起きるのが辛くなってきたのでこの目覚め方を再現しようと思いヨドバシカメラに出向いたものの、お目覚めタイマー付のCD再生機器は少なく、あっても徐々に音量が変化したり、また数分で停止するようになっていたりと目的を満たすものではありませんでした。店員に相談したところ、単品のアンプとチューナーとCDプレーヤーを買えば良いとのこと。7〜10万円コースです。オーディオ機器はいずれ購入したいところですが、目覚ましのためにこの金額を投資するのはおかしい気がするのでパス。

一時はオーディオを買うしかないかなーと思っていましたが、よく考えてみればメインマシンのmac miniは常時稼動してもほとんど無音なので付けっぱなしにできます。cronが使えるので設定も実に簡単。CronnixなどというGUIでcronを編集するソフトもあるようで、タスクスケジュールの実行に関してはWindowsよりも遥かに便利です。

で、これで解決と思ったら・・・コマンドラインでiTunesに登録したプレイリストやアルバムを再生する方法がわからないことに気がつきました。 Σ(゚Д゚)


iTunesはいろいろと外部からいじることができるらしいので多分なんとかすることはできるのだと思いますが、そもそもデスクトップにアルバムやプレイリストのショートカットを置くことはできないのでしょうか? ドラッグ&ドロップ(ってWindows用語かな)もできませんでしたし曲をドラッグしたら単にmp3ファイルのコピーになりました。デスクトップやDockにプレイリストを置いて1クリックで繰り返し再生するというような需要はあると思うのですが、使い方を間違えているのかそんなことができないのか・・・。(やり方知ってるヒト、教えてください)

iPodを使い始めてそろそろ二年になりますがiPodは実に使いやすい機器だと思います。しかしiTunesはものすごぉぉぉぉぉぉぉく使いづらいです。こんなに使いづらいソフトウェアにはあまりお目にかかったことがありません。悪夢のようなソフトと申せましょう。Winampの方が遥かにわかりやすく、軽い。しかしネットで検索してもあまりiTunesが使いづらいという声は見当たりません。それどころかむしろ賛美の嵐の様相。Windows Media Plarer、QuickTime、Real One Playerなどに比べれは使いやすいとは思いますが、Winampや国産の軽量MP3プレーヤーと比較すると、とても使いやすいとは思えないのでした。ディレクトリ構造という概念に固執してしまっているのが原因という気がするので、Macの思想に馴染めていないのかもしれません。


ということで、これはDAAPでも叩くしかないかなーと思い始めていたのですが、iTunesSleepTimerというソフトを発見。事なきを得たのでした。これでmac miniが目覚ましになりました。ボリューム調節機能も付いていてとっても便利です。(´∇`)