unix xdg-open:没有可用于打开./directory的方法

at0kjp5o  于 2022-11-04  发布在  Unix
关注(0)|答案(1)|浏览(319)

我试着在Ubuntu中使用xdg-open打开一个目录。如果我在终端中运行xdg-open ./dir,它就能工作。
我有一个Flask网络应用程序,在某些情况下使用xdg-open打开目录。当我在开发模式下从终端启动应用程序时(通过运行$ flask run),它可以正常工作并打开所有目录,没有任何问题。但当我在生产模式下使用Nginx & Gunicorn启动它时,它返回:

xdg-open: no method available for opening ./test

结果与我在非图形终端(alt+ctrl+f1)中运行xdg-open的情况完全相同
我该怎么办?

gzszwxb4

gzszwxb41#

最后,我找到了解决方案。我必须将$DISPLAY env变量设置为:0,然后运行命令。
s.th 就像这样:

env = dict(os.environ)
env['DISPLAY'] = ":0"
subprocess.Popen('xdg-open ./some_folder',env=env,shell=True)

相关问题