我找到了三个配置文件。
.xinitrc.xsession.xsessionrc我知道第一个用于使用startx,第二个和第三个用于使用显示管理器。但是后两者有什么区别呢?
我试图用命令来做到这一点startx 1。它似乎瞬间闪烁到另一个屏幕,但随后退出。得到以下错误:
/usr/bin/xterm: No absolute path found for shell: :1
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
从许多文档中,我读到startx正在 Raspbian OS 中启动 LXDE。我有点困惑。
会一直startx运行LXDE GUI吗?
我也看过使用startlxde命令的例子。该命令有何不同,为什么startx并startlxde运行相同的 GUI(LXDE)?或者它运行它是因为它是默认的 GUI?
如果我有多个 GUI,如何选择默认 GUI?
您能否解释有关 Linux 系统中 GUI 的更多详细信息?
经过相当多的研究,为同事发布了这个问题。他想通过ssh -X(或-Y)连接到旧的 Centos 4 服务器并在那里运行一些 X 应用程序。它曾经运行良好多年,但最近对他的客户端 PC 的更新(在 Centos 7 和 Ubuntu 上)现在使这成为不可能。他的应用程序只是挂起,试图简单地运行glxgears会导致崩溃:
X Error of failed request: BadValue (integer parameter out of range for operation)
Major opcode of failed request: 150 (GLX)
Minor opcode of failed request: 3 (X_GLXCreateContext)
Value in failed request: 0x0
Serial number of failed request: 19
Current serial number in output stream: 21
Run Code Online (Sandbox Code Playgroud)
确实是客户端版本问题。在客户端恢复到早期的 Centos 6 使其再次工作。服务器端的 X11 日志中没有任何内容。我跑了,strace glxgears没有注意到任何异常。我可以尝试进一步诊断什么?
编辑:在任何现代 Linux 上,以下强制间接渲染上下文的尝试将失败:
glxinfo -i
name …Run Code Online (Sandbox Code Playgroud) 当我尝试通过键入以 i3 启动 X 时,startx /usr/bin/i3我收到以下错误消息:
(EE) xf86OpenConsole: Cannot open virtual console 7 (Permission denied)
发射 startx以 root 身份或在 chowning /dev/tty7 之后解决它(预计输入不起作用,甚至不切换终端),但我认为这不是正确的方法。
Sway 和 Weston 工作完美,为什么 X 不这样做?
当我尝试使用 启动我的 WM 时startx,我无法启动,因为调用的东西的权限/dev/fb0受到限制。
来自home/user/.local/share/xorg/Xorg.0.log:
[ 198.569] (--) controlling tty is VT number 1, auto-enabling KeepTty
[ 198.569] (II) Loading sub module "fbdevhw"
[ 198.569] (II) LoadModule: "fbdevhw"
[ 198.569] (II) Loading /usr/lib/xorg/modules/libfbdevhw.so
[ 198.570] (II) Module fbdevhw: vendor="X.Org Foundation"
[ 198.570] compiled for 1.16.0, module version = 0.0.2
[ 198.570] ABI class: X.Org Video Driver, version 18.0
[ 198.570] (EE) open /dev/fb0: Permission denied
[ 198.570] (WW) Falling back to old probe method …Run Code Online (Sandbox Code Playgroud) 运行startx和启动显示管理器有sudo service (display_manager) start什么区别?发生了两个不同的事件,所以我很想知道幕后的差异。
startx 说:
--------------------------------------------------------------------------------------------
xinit failed. /usr/bin/Xorg is not setuid, maybe that's the reason?
If so either use a display manager (strongly recommended) or adjust /etc/permissions.local and run "chkstat --system --set" afterwards
Run Code Online (Sandbox Code Playgroud)
显然,我可以chmod 4775 /usr/bin/Xorg,它会一直工作,直到下一次 Xorg 更新再次删除 suid 位。然而,如何“使用显示管理器”作为“强烈推荐”,对我来说一点也不明显!
这是什么意思?
startx 弃用了吗?startx不做正确的事呢?这是您万一 X 宕机的救命稻草;可能是人们必须学习的第一个命令之一。我很确定我的系统正在使用显示管理器。我有 xdm、kdm、gdm、lightdm 和 sddm。它启动到桌面环境,退出时会显示登录屏幕。换句话说,这是一个沼泽标准的台式机设置,但万一重要,我在 OpenSuse Tumbleweed 上使用 KDE。
我将接受在任何 Unix 上正确记录、合理完整的各种特定命令列表,其中包含 startx 已被替换的各种特定命令。如果在 OpenSuse 上有任何不完全一样的东西,我发誓我会写一个错误报告。我讨厌看到一个我们似乎都知道的用户界面由于纯粹的技术原因被颠倒了,而没有人知道替代品。
我知道这不是人们使用 X 的正常方式。大多数安装说明都会告诉您将类似内容放入startxshell 的配置文件中。不过我想让 systemd 来管理事情。
理想情况下,我会systemctl --user enable x.service在我的用户登录时运行类似的东西,并获取我的资源,.xinitrc从而启动我的 WM。
我执行此操作的所有尝试都给了我错误:
/usr/lib/xorg/Xorg.wrap: Only console users are allowed to run the X server
Run Code Online (Sandbox Code Playgroud)
一定有办法做到这一点。任何帮助将不胜感激。
我遇到了问题,我的带有 KDE 的 centos 7 机器在启动时没有加载 gui。它卡在一些白色字母上,我必须按CTRL+ ALT+F2才能加载另一个终端会话,然后运行startx以正确加载 gui。
是否有一些我可以编辑的文件,以便它在启动时自动加载 starx?