このサイトからMac OS X 10.6.5を実行しているMacBook Airにemacsをインストールしましたhttp://emacsformacosx.com/。これは、以前は cocoa emacs と呼ばれていたものだと思います。これをアプリケーション フォルダにドラッグし、そこから実行すると正常に動作します。ターミナルから実行できるようにしたいです。グーグルで検索した後、open -a /Application/Emacs.app foo.txt
(foo.txt は既存のファイルでした) を試しました。2 つの emacs ウィンドウが表示されました。1 つはウェルカム スクリーン、もう 1 つは foo.txt がロードされたものです。/Applications ディレクトリでいくつかのアプリケーションを試しましたが、このようには動作しないようです。自分のアカウント (管理者アカウント) を使用してインストールしたので、実行した後、ls -l
所有/Application
者とグループがこのフォルダ内の他のエントリと異なることに気付きました。所有者とグループを他のエントリと同様に root と wheel に再帰的に変更しましたが、効果はありませんでした。今おかしく見える唯一のことは、ls -l で拡張属性に関係する @ 文字が表示されることですが、これをどのように確認すればよいかわかりません。
次に何をチェックすればよいか、何か提案はありますか?
プログラムを実行するには open コマンドを使用するだけですか? シェル スクリプトを使用して、プログラムの動作をシミュレートできますか?
答え1
仕組みを誤解していますopen
: コマンドで、 Emacs と txt ファイルの 2 つのファイルを開くようにopen /Application/Emacs.app foo.txt
指示していますopen
が、これらは 2 つの異なる操作です。最初に emacs が起動され、次にファイルfoo.txt
のデフォルト プログラムが読み込まれます.txt
。これは明らかに、あなたの場合は Emacs です。
Emacs がこのファイル タイプに対してデフォルトである限り、 を使用するだけでopen foo.txt
Emacs でファイルが開きますが、デフォルトでない場合は を使用する必要がありますopen foo.txt -a /Applications/Emacs.app
(スイッチは open に使用するアプリケーションを指示します)。または、次のようなオプション-a
を使用して、それをパラメーターとして渡すこともできます。--args
open /Applications/Emacs.app --args foo.txt
答え2
これは実際には少し奇妙です。私のインストール(homebrewで行った)では、open -a Emacs file.txtは正常に動作します...LaunchServicesデータベースを再構築する必要があるかもしれません。とにかく、実行可能ファイルを直接呼び出すことができるはずです。
/Applications/Emacs.app/Contents/MacOS/Emacs file.txt