non*_*ame 8 ubuntu xorg opengl not-root-user
这个问题是关于/usr/bin/Xorg直接在 Ubuntu 14.04 上执行的。
而且我知道存在 Xdummy,但我无法使虚拟驱动程序与 nvidia GPU 一起正常工作,因此它不是一种选择。
我复制了系统范围的xorg.conf和/usr/lib/xorg/modules,并稍微修改了它们。(ModulePath在我的xorg.conf太指定)
以 root 身份运行以下命令可以正常工作:
Xorg -noreset +extension GLX +extension RANDR +extension RENDER -logfile ./16.log -config ./xorg.conf :16
Run Code Online (Sandbox Code Playgroud)
但是,如果我以非 root 用户身份执行此操作(日志文件权限可以),则会出现此错误:
(EE)
Fatal server error:
(EE) xf86OpenConsole: Cannot open virtual console 9 (Permission denied)
(EE)
(EE)
Please consult the The X.Org Foundation support
at http://wiki.x.org
for help.
(EE) Please also check the log file at "./16.log" for additional information.
(EE)
(EE) Server terminated with error (1). Closing log file.
Run Code Online (Sandbox Code Playgroud)
你能帮我在没有 sudo 的情况下运行 Xorg 吗?
要确定允许谁运行 X 配置它
dpkg-reconfigure x11-common
Run Code Online (Sandbox Code Playgroud)
有三个选项:仅限 root、仅限控制台用户或任何人。该条目位于/etc/X11/Xwrapper.config。
由于 Debian 9 和 Ubuntu 16.04 这个文件不存在。安装后xserver-xorg-legacy,该文件重新出现,其内容必须从:
allowed_users=console
Run Code Online (Sandbox Code Playgroud)
到:
allowed_users=anybody
needs_root_rights=yes
Run Code Online (Sandbox Code Playgroud)
还需要指定启动X时使用的虚拟终端,否则可能会出错。例如:
Xorg :8 vt8
Run Code Online (Sandbox Code Playgroud)
X 需要访问输入设备(鼠标和键盘)以及显示器和显卡以进行输出。
要为非 root X 实现此目的,您可以将Xorgfrom的组更改root为input,设置 setgit 位,并将您的用户添加到组video:
chown root:input /usr/lib/xorg/Xorg
chmod g+s /usr/lib/xorg/Xorg
adduser YOURUSERNAME video
Run Code Online (Sandbox Code Playgroud)
(相反,您可以将您的用户添加到 和video,input但不鼓励这样做。组中的用户input可以监视其他用户的输入。例如,X 中的 GUI 可能会监视在 console/tty 中输入的 root 密码。)
| 归档时间: |
|
| 查看次数: |
10143 次 |
| 最近记录: |