私はこの機能が本当に好きでたくさんtmux
使うので、次のように設定しました.zprofile
。
[[ $TERM != "screen" ]] && exec tmux
だから新しいウィンドウを開くと、その人はtmux
私のためにそこにいます。
tmux
しかし、実行すると奇妙なことが発生します。
gnuplot
、octave
グラフィックを描画するためにX11を起動する必要がある他のプログラムは、そうすることができないようです(または本物長い - 約10分)。 X11がすでに実行されている場合、この問題は発生しません。osascript
何が起こったかを知らせるために私が書いたいくつかのスクリプトは次のとおりです。osascript -e 'display notification "some text" with title "Foo"'
これは
tmux
非アクティブ状態ではうまく機能しますが、セッション内で呼び出されると何もしませんtmux
。 (他のosascript
タスクを参照する働く)
なぜこれが起こるのか、そしてそれを解決するために何ができるのかを知っている人はいますか?
メモ:私最初の質問に似た質問しばらく前にapple.seのウェブサイトにアクセスしましたが、応答がありませんでした。 2番目の問題は最近発生したので、ここで幸運を試してみる必要があると思いました。
答え1
[[ $TERM != "screen" ]] && exec tmux
ファイルに移動してみてください.zshrc
。これにより、コマンドは対話型シェルでのみ実行されます。
対話型シェルは、単にコマンドを入力し、そのコマンドの出力を取得するために使用するシェルプロセスです。つまり、対話するシェルです。
答え2
2番目の問題はtmuxにもあるようですosascript
。ラッパーをインストールして問題を解決できます。
あなたはインストールしたいでしょうユーザーの名前空間に再接続するHomebrewまたはMacPorts経由で次の呼び出しをラップしますosascript
。
reattach-to-user-namespace osascript -e 'display notification "Hello, world"'