python - 在 tmux session 中出现 LSOpenURLsWithRole() 错误

标签 python macos terminal tmux simplehttpserver

LSOpenURLsWithRole() 失败,URL http://localhost:9000/出现错误 -600。

这是我在 tmux session 中尝试启动我的 SimpleHTTPServer 时遇到的错误。我是一名前端 Web 开发人员,大部分时间都在使用 SimpleHTTPServer,而不是 Apache。问题是它在 open 命令处出错,因为我有直接从终端打开文件和目录的习惯(open dirname/,或 open .) ,当我在 tmux 中使用它时,它给了我同样的错误。 我想提一下,我使用的是运行 OSX 10.9 Mavericks 的 Macbook Air。

这是我在终端中用来启动服务器的函数代码:

# Start an HTTP server from a directory, optionally specifying the port
function server() {
    local port="${1:-8000}"
    open "http://localhost:${port}/"
    # Set the default Content-Type to `text/plain` instead of `application/octet-stream`
    # And serve everything as UTF-8 (although not technically correct, this doesn’t break anything for binary files)
    python -c $'import SimpleHTTPServer;\nmap = SimpleHTTPServer.SimpleHTTPRequestHandler.extensions_map;\nmap[""] = "text/plain";\nfor key, value in map.items():\n\tmap[key] = value + ";charset=UTF-8";\nSimpleHTTPServer.test();' "$port" 
}

编辑

问题不再出现,所以我有 3 种可能的解决方案:

极不可能:

  • 从 Python3 更改为 Python 2.7.5(OS X 默认)

最有可能:

  • Apple 发布了解决此问题的 Mavericks 更新
  • 安装命令行工具以使用 Homebrew 构建和安装最新版本的 VIM

最佳答案

不确定这是否适合您,因为您提到您重新启动了几次......

但是对我来说,我注意到在 iterm 失败后我有 2 个 tmux session ,我忘记了。他们正在运行一堆由 grunt 启动的服务,所以我假设其中一个服务在尝试重新启动时发生冲突。杀死它们使错误不再发生,我能够在 tmux 中运行我的节点应用程序。

关于python - 在 tmux session 中出现 LSOpenURLsWithRole() 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19751393/

相关文章:

objective-c - 编码CGSize :forKey: and decodeCGSizeForKey: equivalent for OS X

terminal - VS Code 终端不会将选项键映射到元

python - Python 3.2.2 中的用户定义函数 (def)

python - 正则表达式无序重复匹配

macos - 更改 NSTableView 的边框颜色

java - 无法创建 AVD - Eclipse、MAC OSX、Android 4.4.2

go - 如何在终端中使用 `Erase the scroll-back (aka "保存的行")`

java - 如何在Java中读取命令提示符中的开头

python - 如何在 python 脚本中运行 ffmpeg 命令?

python - JupyterHub 内核连接返回 HTTP504 GATEWAY_TIMEOUT