カテゴリー : MacOSX

このカテゴリーの登録数:106件 表示 : 1 - 7 / 106

Jul 19, 2013

AirMac Diskを外から使う

ポスト @ 0:34:16 , 修正 @ Jul 18, 2013 15:34:16 | MacOSX,ubuntu

 以前、職場から自宅のAirMac Extremeに繋いだディスクに接続できなかったのだが、いつの間にか繋がるやうにその設定等を控えておく。

 AirMacユーティリティ(英語版だとAirPort Utility)でディスクを接続しているAirMacを開いて、Disksのパネルでファイル共有をオンにする。ここでは、LaCieの外付けハードディスクをUSB接続しているので、LaCieと名付けている。

AirPort Disk
次にモデム/ルータの設定を開いて、このAirMac Extremeのport 458を外に対して開く。

 どこでもMyMac(英語だとBack to My Mac)は使わない(設定しない)。

 これだけでいいはず。

 繋ぐときは、Finderでサーバへ接続を選んで、サーバの登録をする。ServerAddressにafp://xxx.xxx.xxx.xxx/LaCieと入力して、Connectボタンを押すだけ。iPadから繋ぐときは、afpに対応しているアプリ、例えばGoodReaderを使えば簡単にできる。

 Ubuntuから繋ぐこともできる。まず、afpfs-ng, afpfs-ng-utils, libafpclient0をインストール。ホームディレクトリに、MyMacというディレクトリを作成。そして以下のようにマウントすればいい。

$ mount_afp afp://username:password@xxx.xxx.xxx.xxx/LaCie ~/MyMac
Mounting xxx.xxx.xxx.xxx from LaCie on /home/xxxxx/MyMac
Mounting of volume LaCie of server AirMac00 succeeded.
といった具合で、接続完了。意外に簡単である。

 いや、これは便利である。EC2のWebDAV要らなかったじゃないかといいいたくなるほどである。

Jan 13, 2013

MacOSX Lionでmod_python

ポスト @ 14:15:00 , 修正 @ Jan 13, 2013 5:15:00 | MacOSX

 この記事を運用しているサーバもMacOSX 10.7で動いているMac miniに移行した。いろいろ苦労したので、しばらく自分用の忘備録が続く予定。

 mod_pythonは以前はMacOSに最初から入っていたような気がしていたが、今はどうやらないので、自分で入れなければならない。mod_wsgi使えみたいな記述を見かけるが、よく判らないのでここはmod_pythonで。最新版を(といってもちょっと古いが)をダウンロードして展開後、./configure → make → make install で簡単だろうと思ったら、

connobject.c: In function ‘_conn_read’:
connobject.c:142: error: request for member ‘next’ in something not a structure or union
apxs:Error: Command failed with rc=65536
というエラーが出てしまった。途方に暮れて検索してみると、Snow Leopardにmod_pythonを導入(festangoの日記)というのを見つけたので、connobject.cの142行目の
!(b == APR_BRIGADE_SENTINEL(b) ||
の (b) を (bb) に書き換えて、再度コンパイルすると問題なく完了。

 次に、httpd.confに一行追加する。

LoadModule python_module libexec/apache2/mod_python.so
 さらに、/etc/apache2/extra/httpd-vhosts.conf の pythonスクリプトを動かしたいディレクトリについて、
    <Directory /Library/WebServer/xxx/>
        AddHandler mod_python .py .psp
        PythonHandler mod_python.publisher | .py
        PythonHandler mod_python.psp | .psp
        PythonDebug On
        PythonInterpreter main_interpreter
    </Directory>
などと追加。意味はよく判らない。動作確認のために、
from mod_python import apache
def handler(req):
  req.write("It Works!!")
  return apache.OK
というのを作って配置して確認しようとすると、not foundと云われてしまう。なぜなんだ。HOWTO: apache2 & mod_pythonというサイトにある
import time
def index():
    html = """
<html><head>
<title>mod_python.publisher first html page</title>
</head>
<body>
<h1>This page was generated by mod_python.publisher</h1><hr>
The local time of this server is:  %sThe timezone of this server is  :  %s
</body>
</html>
""" % (time.ctime(time.time()), time.timezone/3600)
    return html
というのを置いてみたら、ちゃんと表示された。やれやれ、よく判らないが動いたようだなと思って、設定したディレクトリを確認したらpythonスクリプトなんて一つもなかった。何年も前に頑張って作ったが、その後、もう使わなくなったのだった。何のための努力だったのか。まあ、また使う必要が生じるかも知れないので、ここに書き残しておこう。

Jan 08, 2013

MacOSXでpdftops

ポスト @ 18:17:16 | MacOSX

 pdfファイルをepsにするときに便利なのが、XPDFに含まれているpdftopsである。XPDFのダウンロードサイトからソースファイルをもらってきて、展開後、./configure → make → make install でコンパイルとインストールが完了する。そして、日本語のLanguage Support Packagesもダウンロードして展開後、/usr/local/share/xpdf/japanese以下に中身をそっくりいれる。これだけだが、xpdfそのものは使えない。別に要らないと思うが。pdftotextとかpdftopsが使いたいという人がほとんどだろうし。

 使うときは

pdftops -eps xxx.pdf xxx.eps
でいいのだが、
Syntax Error: Unknown character collection 'Adobe-Japan1'
というエラー表示が出てくることがある。これが出てもepsファイルはできていた。でも、このままでいいのかどうか不安になるので、~/.xpdfrc というファイルを作り、以下のように記す。
cidToUnicode    Adobe-Japan1    /usr/local/share/xpdf/japanese/Adobe-Japan1.cidToUnicode
unicodeMap      ISO-2022-JP     /usr/local/share/xpdf/japanese/ISO-2022-JP.unicodeMap
unicodeMap      EUC-JP          /usr/local/share/xpdf/japanese/EUC-JP.unicodeMap
unicodeMap      Shift-JIS       /usr/local/share/xpdf/japanese/Shift-JIS.unicodeMap
cMapDir         Adobe-Japan1    /usr/local/share/xpdf/japanese/CMap
toUnicodeDir                    /usr/local/share/xpdf/japanese/CMap
 これでエラーは出なくなった。ReadMeファイルを読めばそう書いてあるのだが、いつも読まずに済ませて狼狽えるので、ここに書き残しておく。こうやっても、これも読まずに狼狽えることがほとんどではあるのだが……

Jan 03, 2013

MacOSX LionでWebDAV

ポスト @ 15:21:22 | MacOSX

 古くなって妻が使わなくなったMac miniを自宅用サーバにしようと思った。Dell T100もあるのだが、音がうるさい。Mac miniは静かである。

 インストール用ディスクでSnow Leopardをインストールしたのち、AppStoreで前に購入したLionを使ってアップグレード。このMac miniが対応できるのはここまで。Mountain Lionには対応していないのだ。IPアドレスは固定で設定。環境設定でScreen SharingとRemote Loginをオンにして、一旦終了。キーボードもマウスもモニターも外して隣の部屋に持っていって、LANケーブルでAirMac Extremeに接続して起動。もちろん、本体を見ていても何もできない。

 先ほど設定したIPアドレスで画面共有して操作。SSHで入ってもいい。Web Sharingをオンにすれば、WebServer(Apache)も起動する。FileSharingもオンにしてAFPでファイル共有もできるようにした。

 さて、WebDAVである。外からファイルを保存したり読み出したりするときに使おうという目的だ。前にUbuntuでは使っていたのだが、MacOSで設定するのは初めて。ここに記録しておく。

 ほぼ、プラスα空間(跡地):LionをWebDAVサーバにする(Digest認証対応)をそのまま参照にしただけ……でもないのだが、以下の記載はまあそんな感じかも。

 WebDAV専用ディレクトリは、/Library/WebServer/WebDAVとした。Lock用ファイルを収納するところを/Library/WebServer/lockとした。所有者をwww:wwwに設定。次に、/etc/apache2/httpd.confを開いて、

#Include /private/etc/apache2/extra/httpd-dav.conf
の#を外す。ServerNameに自分が使っているドメイン名を記入。

 /etc/apache2/extra/httpd-dav.confを開いて、次のようにした。

DavLockDB "/Library/WebServer/lock/DavLock"
Alias /dav/ "/Library/WebServer/WebDAV/"
<Directory "/Library/WebServer/WebDAV">
    Dav On
    AllowOverride AuthConfig
    Order Deny,Allow
    Allow from all
    Options Indexes FollowSymLinks MultiViews
    AuthType Digest
    AuthName "WebDAV"
    AuthUserFile "/XXX/.htdigest"
    AuthGroupFile   /dev/null
    require valid-user
</Directory>
 Digest認証のユーザとパスワードの設定は通常の手順で。時間がかかったのは、Allow from allにしないと認証画面が現れずにエラーが出て接続できなかったところ。アドレスと認証の両方の許可がともにクリアされなければアクセスできないので、こう書いたからといって無条件でアクセスできるわけではない。

May 13, 2012

MacOSXでBoxとTransmitを組み合わせて使う

ポスト @ 19:58:39 , 修正 @ May 13, 2012 10:58:39 | MacOSX,ubuntu

boxnet_logo boxというクラウドサービスがある。前はbox.netという名前で、その方がよく知られているかも知れない。ここは5 GBまで無料で利用できるのだが、ときどき50 GBキャンペーンみたいなのをやって、私も昨年末のiOS登録者に50 GB無料提供というので大容量を手に入れたのだった。でも、あまり活用してこなかった。DropboxやGoogle Diskの方が簡単に使えるからだ。でも、折角だから、この50 GBを有効に活用したいと思ったのである。理由は特にない。

 ここは特にデスクトップ用アプリケーションを出していないのだが、WebDAVが利用できる。だから、OSに関係なく使いやすいはずなのだ。前にも書いたことがあるが、改めてUbuntuでこれを使う方法を書いておこう(自分のためでもある)。

 davfs2については、インストールして使える状態になっているという前提で。まず、/etc/fstabに、

https://www.box.com/dav /home/xxx/Boxnet    davfs   rw,noauto,user,uid=1000,gid=1000  0       0
と書いてみた。前はhttpsではなくてhttpだったような気がする。マウントするのは、もちろん、/media/box.netとかにしてもいい。私はホームディレクトリにマウントした。
 次に、/etc/davfs2/davfs2.confに、
use_locks 0
と書き込んだ。
 さらに、/etc/davfs2/secretsに、マウントする場所、ユーザID(メールアドレス)とパスワードを記入した。
/home/xxx/Boxnet  user@mail.address   password
 最後に、グループdavfs2に自分を追加。という一連の設定が終わったところで、
mount ~/Boxnet
とするとマウントできて、ドラッグ&ドロップでファイルを保存したりローカルディスクに持ってきたりできた。しかし、geditのようなエディタでテキストファイを開けない。ExcelファイルをLibreOfficeで開くことはできた。pdfファイルもacrobatで開いた。テキストファイルがどうして開かないのかはよく判らない。一度vimで開いて保存するとgeditやLeafPadでも開くようになった。理由は判らない。新規作成したファイルは保存できるし、書き換えて再保存も問題ない。

 Macではマウントは簡単にできる(ファインダーのサーバーへ接続という機能を使えばいい)が、ファイルの保存はできなかった。ファイルの書き換えもだめ。ファイルが存在しませんとかいうエラーが出る。ただし、コマンドラインではファイルの書き換えも、ローカルディスクにあるファイルの保存もできる。理由は分からない。しかし、動きが極めて鈍い。

 CyberduckというFTPクライアントが使いやすいという評判で、実際に以前使ったこともあるのだが、今回はどうもうまくいかない。接続できて、ファイルのアップロードもできるのだがファイルが見えない。見えないことにはダウンロードができない。これではどうしようもない。

 そこで今回試したのはTransmit。確かに、これを使えばファイルのダウンロード・アップロードは簡単である。その場でファイルの編集はできないが。これにはマウント機能もある。メニューバーにTransmit Diskを表示する機能をOnにしておくと、図のようなトラックのアイコンが常駐するようになる。ここからディスクをマウントできるようになる。この機能でマウントすると、なぜかちゃんとファイルを保存できる。ただ、ファインダー上では容量0と表示されてアプリケーションで開くことができないが、実際には保存されている。他のアプリケーションでの保存先に直接選べるから便利である。2950円の有料アプリケーションだが、それだけ支払う価値のあるものだろう。表示が0になったりしていなければ、ちゃんとファイルを開いて編集して保存することも可能。

Transmitメニューアイコン Box on Desktop

 しかし、こいつはわが家の自宅サーバのWebDAVはマウントしても、ファイルのアップロードをしてくれないのだ。不愉快である。こちらは、Cyberduckを使うという手は、まあ、あるわけだが。

Feb 02, 2012

MacでThinkPadキーボードを使ってみた

ポスト @ 21:16:59 , 修正 @ Feb 02, 2012 12:16:59 | MacOSX

 何度も書いているがマウスが苦手で、それほどでもないがトラックボールも苦手である。キーボードのキーから手を離すのが嫌だ。かといって、何もかもコマンドラインで仕事をするほどの変わり者でもない。そろそろ新しいトラックボールを探そうかと思っていた冬の寒い日に、私の目を捕えたのはThinkPadキーボードである。キーの真ん中に赤いトラックポイントというのがついている。そいつで、カーソルを動かすという仕組みである。これならトラックボールに手を伸ばす必要がない。クリックもスペースキーの下についているのだ。素晴らしい。これこそ私のためにあるキーボードではないか。どうして今まで誰も教えてくれなかったのかという憤りを抑えつつ、Amazon.co.jpにThinkPad USB トラックポイントキーボード(英語) 55Y9003 を註文した。およそ5000円。私はずっと英語配列キーボードを使っているので、今回も英語配列である。

 品物が到着したので早速キーボードを差し替えてMac miniを起動してみる。すると、認識できないキーボードが検出されたという警告が出て、確認するから右シフトキーの左隣のキーを押せとか左シフトキーの右隣のキーを押せなどと要求され、キーボードの認識作業が終わる。

ThinkPadKeyboard

 自分で買う前に職場で試したときには、スクロールキー+トラックポイントでMacでもスクロールができた。が、今日はできない。職場ではAppleキーボードを繋いだ上で、そのキーボードは机の抽斗に放り込んでしまって、実際の作業はUbuntuに繋いだWindows用キーボードから、Synergy経由でやっているのである。だからちょっと状況が違う。

 そこで、Macでトラックポイントキーボードをスクロールまで含めて使う方法という記事を見つけたので、それを参考にKeyRemap4MacBookをインストールすることにした。再起動後設定画面を開くと、膨大な設定項目が。結局チェックしたのは二項目。スクロールのための、MiddleClick+CursorMouse to ScrollWheelとApplication Key to Command_Rである。前者はスクロールキーを有効にするために。後者は、押しても何も反応しないアプリケーションキーをコマンドキーとして使えるようにするために。Windowsキーの機能変更はできないようなので、コマンドキーとオプションキーの位置を入れ替えることはできなかった。うまく入れ替えられると、自宅と職場でキーの位置が違うことになってしまうから、これでいいのかも知れない。

 これで肩の痛みが軽減されたりすれば本当に嬉しい。

Oct 04, 2011

自宅サーバのWebDAVをiPadで使

ポスト @ 11:26:50 , 修正 @ Oct 04, 2011 2:26:50 | MacOSX,iPad,ubuntu

 ハードディスクを入れ替えたり、地震の後の節電のためにサーバをAmazon EC2に避難させたりしている間に、何となく自宅サーバのWebDAVの機能が無効になっていたのだが、もっと便利に使えるのではないかと思い直し、再稼働を始めた。動かし方は一昨年の5月3日に書いたとおり。当時と違うのは、ubuntuでマウントするとき。locksというオプションがなくなった。代りにどうしたらいいのかはよく判らない。ユーザ名やグループ名もそのまま書くと、そんなグループは存在しないなんて怒られるので、

sudo mount -t davfs ~/WebDAVdisk -o uid=1000 -o gid=1000
とやったらマウントできた。ファイルを読むことも、保存することも問題なし。もちろん、fstabや/etc/davfs2/secretsの設定は前に書いたように済ませている。

 さて、MacOSで使う場合は、Finderから「サーバに接続」を選んで、サーバのURL、ユーザ名、パスワード等を入力すればすぐにマウントされる。それは便利なのだが、少し大きいファイル(大体200KB以上)を保存しようとする(アップロードしようとする)とこんなエラーが出てしまうのだ。

error111003
 検索してあちこち読んでみると、これは簡単には解決できないらしい。そこで、Cyberduckを使って接続。ところで、このCyberduckはさまざまなサーバに接続できて無料(寄付は奨励されている)なのに、MacAppStoreで入手しようとすると$23.99になってしまうのだ。

 これは外から自宅サーバに接続しようとしたときの話。自宅LAN内だと、Finderの「サーバに接続」でマウントしたWebDAVに数MBのファイルを問題なくアップロードできた。どうしてだろう。LAN内だから?

 UbuntuとMacからの利用は前にもできたことで、これだけでは面白くも何ともない。今回の目標はiPadでの利用である。自宅サーバにファイルを沢山置いておいて、そこのファイルを読んだり書いたり、あるいはそこに新規作成したファイルを保存したりすれば、もうディスク容量を気にしなくていいではないか。少なくともWebDAVに割り当てたハードディスクの容量の範囲内なら。読んだり作業したりするときに一時的にダウンロードしなくてはならないかも知れないが、また戻せばいいのだから。

 iPadはPCのように直接ファイルを操作することは私の知る限りではできない。Finderに相当するアプリケーションがないから。使用するアプリケーションごとにWebDAVに対応しているかどうかを考えなくてはならない。たとえば、iWorksのPagesだと最初に新規作成するかiDiskやWebDAVのファイルを読み込んで編集するかを選べるようになっているから、これでWebDAVを選択してファイルを開けばいい(のだと思う)。

PagesからWebDAV
 だから、iBooksではWebDAVに保存されている電子書籍は読めないということになるのだと思う。でも、私は電子書籍を読みたいのだ。そこで、GoodReaderを使ってみた。これはiDisk、DropBox、SugarSync、box.netといった主要なクラウドサーバ(というのか?)に対応していて、その他に自分でWebDAVサーバを追加設定できる。こんなふうに。
111003Pic1.jpg
 設定がうまくいけばサーバとして登録されるわけだ。これで、GoodReaderで(ファイル形式が対応していれば)自宅サーバにあるファイルを読んだり編集したりできる。

GoodReaderに設定できたサーバ

 あるいは、WebDAV Navigatorのようなものを使ってファイルを操作してもいいのかも知れない(試していない)し、読書を中心に考えるならファイルの受け渡しにWebDAVを設定できるi文庫HDを利用してもいいと思う(持っていないので確認していない)。