如何运行多个 X 桌面?

如何运行多个 X 桌面?

我怎样才能同时在计算机上运行两个实例,例如 GNOME?我知道如何更改虚拟终端,但我不知道如何启动第二个 gnome 实例 - 它只是退出并告诉我 X 会话已被锁定。

编辑:我真正想知道的另一件事是如何运行两个不同的桌面 - 例如 XFCE 和 GNOME。我知道我可以在.xinitrc或者类似的东西,但每次我都必须这样做——有没有办法在创建新的 XSession 时选择桌面类型?

答案1

关键是创建一个新的“屏幕”,xserver 可以在其上运行。类似于

 startx -- :1

其中,1您已在运行的屏幕数量的增量为(包含初始屏幕:0)。

Fedora 论坛有很多信息,但我不确定它是否仍然准确。

要获得最适合您的发行版的信息,请务必man startx从终端查看手册页,或者只需 Google“man startx”并从其中一个在线手册页目录转到。

答案2

使用 Xephyr 创建嵌入式 X 会话。

$ Xephyr -ac -br -noreset -screen 800x600 :1

-ac disable access control restrictions
-br create root window with black background
-noreset don't reset after last client exists
-screen 800x600 Specify screen characteristics

打开终端并设置 DISPLAY 变量

DISPLAY=:1.0

不要使用导出或者您的所有程序都将出现在嵌入式会话中。现在,只要您从此终端运行程序,它就会出现在嵌入式 X 会话中。

如果您想知道,Xephyr 将只会创建一个具有给定分辨率的新窗口,因此您不必担心回到原始会话。

答案3

使用 xnest。Xnest 在 X 窗口内启动新的 X 服务器(:1、:2 等)。这对于同时以多个用户/多个不同桌面身份登录非常有用。如果您使用 GDM,则可以使用以下方式自动以新用户(或新环境)身份登录

gdmflexiserver --xnest

相关内容