最近我通过"系统偏好设置>更改了我的默认系统语音。听写与演讲>文字转语音>系统语音"。如果我打开一个新的终端窗口并使用say
命令,则使用正确的语音。但是,如果我在tmux会话中使用say
命令,则仍会使用先前的语音。
我已经尝试重新启动,完全关闭tmux,并使用tmux new-session -s foobar
打开一个全新的tmux会话,但它仍然没有获得新的首选语音。
这实际上是一个小问题,但它让我吃了,我不知道它为什么会发生。有任何想法吗?
答案 0 :(得分:1)
我很确定这与that other issue的根本原因相同:许多需要与UI交互的工具(图形,声音......)在tmux会话中失败:say
, pbcopy/pbpaste
,nohup
,launchctl export|getenv|setenv
,subl
(Sublime Text命令行工具),在tmux下启动的应用的Retina呈现,尝试访问KeyChain的工具(curl
,ssh
...)等。
我记得GNU screen
曾经有同样的问题,但Apple修补了它,现在它工作正常,但tmux
仍有问题。
借用链接问题的答案,对于tmux
,如果你有自制软件,你可以这样做:
brew install reattach-to-user-namespace
然后将以下内容放入~/.tmux.conf
:
set-option -g default-command "reattach-to-user-namespace -l $SHELL"
我在macOS 10.11.4上重现了你的问题,以上修正了它。
See here了解有关问题性质及其解决方法的更多信息(使用未记录的macOS API)
正如评论中所提到的,tmux的未来版本可以本地跳舞,至少it's being worked on, and current master has the fix。