Terminalから emacsclient を開いた時に ”Waiting for Emacs...”で待機しないようにする


ターミナルから `/Applications/Emacs.app/Contents/MacOS/bin/emacsclient` を使ってファイルを開くと
”Waiting for Emacs...” となってしまうので `&`
をつけてバックグラウンドで実行してるのですが、そもそも完全に切り離して使うということは出来るのでしょうか？

バックグラウンドで動かす場合の問題は

  * ターミナルのタブを閉じるとファイルが閉じる
  * ファイルを閉じるとbg job の終了がターミナル側に通知される

の二点なので上記二点を解消したいと思っています。




上の2つの問題は、nohupでおおむねクリアできると思います。

[code]

    $ nohup emacsclient somefile &>/dev/null </dev/null &
    
[/code]

あるいは、bashならdiswownとか。

[code]

    $ emacsclient somefile &>/dev/null </dev/null &
    $ disown %emacsclient
    
[/code]

zshなら&!とか。

[code]

    % emacsclient somefile &>/dev/null </dev/null &!
    
[/code]

ちなみに私の場合は、ターミナルから切り離したうえ、Emacsの中からfind-
fileしたのと同じように扱いたいので、以下のようなことをシェルスクリプトにして使っています。

[code]

    $ emacsclient -e '(find-file "somefile")'
    
[/code]




上の2つの問題は、nohupでおおむねクリアできると思います。

[code]

    $ nohup emacsclient somefile &>/dev/null </dev/null &
    
[/code]

あるいは、bashならdiswownとか。

[code]

    $ emacsclient somefile &>/dev/null </dev/null &
    $ disown %emacsclient
    
[/code]

zshなら&!とか。

[code]

    % emacsclient somefile &>/dev/null </dev/null &!
    
[/code]

ちなみに私の場合は、ターミナルから切り離したうえ、Emacsの中からfind-
fileしたのと同じように扱いたいので、以下のようなことをシェルスクリプトにして使っています。

[code]

    $ emacsclient -e '(find-file "somefile")'
    
[/code]

