在正在运行的桌面会话中立即在桌面环境之间切换

pre*_*ise 19 desktop-environments

有没有办法在一个桌面环境和另一个桌面环境之间即时切换(最好从命令行);比方说,从Unity经典的 GNOME,而不必关闭同一个桌面会话中正在运行的任何应用程序?

(请注意,这与安装环境无关。)

use*_*.dz 13

我在寻找 WM 键绑定、阅读手册页时得到了一个很好的技巧。

man dm-tool
Run Code Online (Sandbox Code Playgroud)

dm-tool 是一个与 LightDM 显示管理器通信的工具。

   list-seats
          List the active seats and sessions that are running.

   add-nested-seat
          Start an X server inside a session and connect it to a display manager.

   add-local-x-seat DISPLAY_NUMBER
          Connect an existing X server to the display manager.

   add-seat TYPE [NAME=VALUE...]
          Add a dynamic seat.
Run Code Online (Sandbox Code Playgroud)
  • 跑:

    $ dm-tool add-nested-seat
    /org/freedesktop/DisplayManager/Seat2
    
    Run Code Online (Sandbox Code Playgroud)

    更新:在较新的版本中,可以通过添加参数--fullscreen或来控制新窗口的尺寸或使其全屏显示--screen XxY,请参阅dm-tool --help

  • 有新会话的新窗口(标题为Xephyr on):

    在此处输入图片说明

  • 然后使用其他桌面(LXDE)登录:

    在此处输入图片说明

  • 您可以通过键入 来切换是否应在新会话中捕获鼠标和键盘Ctrl-Shift

  • 查看座位列表:

    $ dm-tool list-seats
    Seat2
      CanSwitch=false
      HasGuestAccount=true
      Session2
        UserName='sneetsher'
    Seat0
      CanSwitch=true
      HasGuestAccount=true
      Session0
        UserName='sneetsher'
    
    Run Code Online (Sandbox Code Playgroud)

参考:Using_Xephyr

  • 在 dm-tool 更新的同时,它现在接受选项 `--fullscreen` 或 `--screen 800x600`,因此可能并不总是需要直接运行 Xephyr 来实现这一点。输入 `dm-tool --help` 以查看记录。(手册页可能会在稍后使用较新的选项进行更新。) (2认同)

小智 8

这是一个假设的答案,但也许对这个主题有更多了解的人可以根据我的陈述。如果它们在不同的xserver输出下运行,那么您只需按Ctrl+ Alt+ F1Ctrl+ Alt+F2等即可在它们之间切换。F1X1在哪里,F2X2在哪里,等等。我猜这些命令应该是这样的:

  1. 在终端类型中: sudo xhost +

    请注意,这会带来安全风险,因为您刚刚允许访问任何 x 输出。

  2. Ctrl+ Alt+F1

    这将带您到 X 输出 1,默认桌面在 f7 上

  3. 类型: export DISPLAY=localhost:1

    1 因为您在 x 输出 1 上,默认值为 0,对于其他输出,您将使用更高的数字,例如:2,3,4 等。

  4. 键入:startxfce4(XFCE)、startkde(KDE) 或startlxde(LXDE) 以使桌面在新的 X 输出中打开。

这对我来说还不起作用,我相信这是因为您必须以不同的用户身份运行它,因为当我尝试时它说桌面已经在另一个本地主机上运行?这是我所能做到的。