macOS 的“say”实用程序不适用于 Sierra 中的非 root 用户

macOS 的“say”实用程序不适用于 Sierra 中的非 root 用户

我有一个程序可以调用say我 Mac 上的命令行实用程序,但在我升级到 macOS Sierra 后该程序就停止工作了。

当我尝试/usr/bin/say从命令行运行该命令时,它只是挂起(需要ctrl+ c)。

如果我以 root 身份运行,它就可以正常工作。我不明白 Sierra 中发生了哪些变化,导致了这种奇怪的行为。

答案1

这是与 tmux 的兼容性问题。在 tmux 会话之外可按预期工作。

答案2

确保reattach-to-user-namespace程序已安装,并在 tmux 会话内运行“say”实用程序时将如下行添加到您的 ~/.tmux.conf。

brew install reattach-to-user-namespace

# In .tmux.conf:
set-option -g default-command "reattach-to-user-namespace -l zsh"

# To kill your existing tmux server (and everything running “inside” it!):
tmux kill-server

一些有用的链接:
1. Mac“say”在 tmux 会话中不起作用 -https://github.com/tmux/tmux/issues/716
2. tmux-MacOSX-粘贴板 -https://github.com/ChrisJohnsen/tmux-MacOSX-pasteboard

相关内容