April 19, 2012

MacのWeb共有でPythonのCGIを実行する環境


  1. ユーザhogeが~/Sites以下での実行環境 .pyで実行する場合
  2. Uncheck System Preferences > Sharing > Web Shearing
  3. % diff /etc/apache2/httpd.conf /etc/apache2/httpd.conf.default
    145c145
    < LoadModule python_module libexec/apache2/mod_python.so
    ---
    > #LoadModule python_module libexec/apache2/mod_python.so
    469c469
    <     AddHandler cgi-script .cgi .py
    ---
    >     #AddHandler cgi-script .cgi
  4. % diff /etc/apache2/users/hoge.conf /etc/apache2/users/hoge.conf.default
    2c2
    <     Options Indexes MultiViews ExecCGI
    ---
    >     Options Indexes MultiViews
  5. Check System Preferences > Sharing > Web Shearing
  6. /Users/hoge/Sites% cat hello.py
    #!/usr/bin/python
    # -*- coding: utf-8 -*-

    print "Content-Type: text/plain"
    print
    print "Hello world!"
    /Users/hoge/Sites% chmod 755 hello.py
  7. http://localhost/~hoge/hello.py にアクセスするとHello world!と表示される

April 5, 2012

LionでFinderのフォルダや選択したテキストからターミナルを開く

LionでFinderのフォルダや選択したテキストからターミナルを開くには,cdtoを利用する方法もありますが,元から入っている機能を利用して実現できます.以下はosx - Open terminal here in Mac OS finder - Stack Overflowの適当な訳.


Mac OS X Lion 10.7ではサービスを利用してターミナルを開く方法がある.デフォルトだと無効になっているので有効にする必要がある.

System Preferences → Keyboard → Keyboard Shortcuts → Services

New Terminal at FolderNew Terminal Tab at Folderを有効にする.日本語だとなんと表記されているかわかりません←


サービスのサブメニュー(メニューバーにあるアプリケーション名をクリックすると表示される)とコンテキストメニュー(フォルダか選択されたパス上で右クリックする)に表示される.ショートカットキーも割り当てられる.

これらのサービスは他のアプリケーションでも利用可能.またこれらはどこかのフォルダだけでなく,選択されたテキストの絶対パスからもターミナルを開ける.

フォルダを選択して右クリックでもいける

テキストを選択した状態でメニューバーからサービスを選んでもいける

さらにLionのターミナルではフォルダかパス名をターミナルのアイコンにドラッグアンドドロップすればFinderの新しいタブで開ける.

選択したテキストをドラッグアンドドロップしてもいける

フォルダかパス名をターミナルのタブバーにドラッグすると,自動的に"cd"コマンドが実行される.(単純にターミナルにドラッグした場合はパス名が挿入される)

選択したテキストでもいける

元記事にはシェルスクリプトでこれらを実現する方法や,関連情報としてサービスで選択したテキストのmanを見る方法も記されています.