首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >xpra和sudo / sudo和“成为用户”的区别是什么?

xpra和sudo / sudo和“成为用户”的区别是什么?
EN

Stack Overflow用户
提问于 2018-07-02 19:30:32
回答 1查看 84关注 0票数 0

我正在尝试创建一个包含xprachrome的docker图像。因为我还需要能够使用这个基础映像来安装更多的软件,所以我不会在Dockerfile结束时更改用户。

在构建期间,我将此镜像用于两个目的:-构建最终镜像-使用基础镜像运行xprachrome进行构建

在第一种情况下,您需要是root用户,在第二种情况下,您需要是chrome用户。我试图通过使用sudo来解决这个问题:(例如sudo -i -u chrome xpra ...,但这会带来问题。如果我将基础图像更改为chrome用户(Dockerfile文件中的USER CHROME),它可以正常工作。

我得到的完整错误是:

代码语言:javascript
复制
2018-07-02 11:23:39,828 Error: cannot start the desktop server
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/xpra/scripts/server.py", line 1011, in run_server
    app.setup()
  File "/usr/lib/python2.7/dist-packages/xpra/server/server_base.py", line 119, in setup
    c.setup(self)
  File "/usr/lib/python2.7/dist-packages/xpra/server/mixins/audio_server.py", line 55, in setup
    self.init_pulseaudio()
  File "/usr/lib/python2.7/dist-packages/xpra/server/mixins/audio_server.py", line 117, in init_pulseaudio
    os.mkdir(self.pulseaudio_private_dir, 0o700)
OSError: [Errno 2] No such file or directory: '/run/user/1000/xpra/pulse-:0'
2018-07-02 11:23:39,828 [Errno 2] No such file or directory: '/run/user/1000/xpra/pulse-:0'

这两个镜像中都不存在/run/user目录。

EN

回答 1

Stack Overflow用户

发布于 2018-07-02 21:20:09

我最终解决了这个问题,并知道为什么我一开始就忘记了(我只能在这个问题上工作得很零碎。包含的Docker文件:ENV XDG_RUNTIME_DIR=/tmp

基本重定向运行时目录,但sudo实际上删除了该环境变量。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51135190

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档