如何开始第二个 X 会话?

Bri*_*son 38 xorg x11 startx

我试图用命令来做到这一点startx 1。它似乎瞬间闪烁到另一个屏幕,但随后退出。得到以下错误:

/usr/bin/xterm: No absolute path found for shell: :1
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

slm*_*slm 49

我认为你可以这样做:

$ startx -- :1
Run Code Online (Sandbox Code Playgroud)

请注意,您需要在文本控制台上。如果您从 X 会话执行此操作,则您可能未获得授权。首先Ctrl+ Alt+F1切换到文本控制台并登录在那里。

Ctrl+ Alt+F7Ctrl+ Alt+F8在 X 会话之间切换(F 键数字可能因您的分布而异)。

如果您想要更多控制,您可以向命令添加更多选项,如下所示:

$ startx gnome-session -- :1 vt8
Run Code Online (Sandbox Code Playgroud)

这将gnome-session在显示器上启动:1并在虚拟控制台 8 ( Ctrl+ Alt+ F8) 上运行。

  • 呃,使用 sudo 启动 X 服务器会导致 X 会话中的所有内容都以 root 权限启动;这甚至会导致某些应用程序失败。 (6认同)
  • @Bepetersn 从文本控制台运行它,而不是从 X 会话运行。在 Linux 上,先按 `Ctrl+Alt+F1`,登录,然后从 shell 提示符运行 `startx -- :1`。 (5认同)
  • @Gilles - 感谢您将其纳入答案! (2认同)

Swe*_*ter 6

我发现以下方法对我有用:

sudo xinit /usr/bin/xterm  -e "su $(whoami) -c pekwm"  $* -- :1
Run Code Online (Sandbox Code Playgroud)

这里发生了什么?
首先,我从xinit一个xterm, 作为参数到那个 xterm Isu成为我自己。从那里我启动窗口管理器。
您唯一需要做的就是最小化(而不是关闭)xterm. 也许你可以告诉xterm开始最小化——但我没有足够的兴趣去发现这一点。

另外:将 pekwm 替换为您要登录的会话。查看 /usr/share/xsessions 中的 .dewsktop 文件

编辑的代码。从我的真实用户名更改为示例中的输出whoami