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

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

有没有办法立即切换(最好从命令行)在一个桌面环境和另一个桌面环境之间;例如,统一经典 GNOME而无需关闭同一桌面会话中正在运行的任何应用程序?

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

答案1

当我在寻找 WM 键绑定和阅读手册页时,我发现了一个很好的技巧。

man dm-tool

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.
  • 跑步:

    $ dm-tool add-nested-seat
    /org/freedesktop/DisplayManager/Seat2
    

    更新:在较新的版本中,可以通过添加参数--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'
    

  • 全屏运行:

    Xephyr :1 -br -fullscreen &
    dm-tool add-local-x-seat 1
    

参考:使用_Xephyr

答案2

这是一个假设性的答案,但也许对这个问题有更多了解的人可以根据我的陈述进行补充。如果它们在不同的情况下运行虚拟服务器输出,然后您只需按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 输出中打开桌面。

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

答案3

另类观点

可以为另一个用户运行另一个 xsession。

只需创建新用户

sudo useradd test_test

现在你只需要锁定你的账户Ctrl++ ,然后切换到新添加的用户并登录。在登录菜单中,你可以选择已安装的桌面环境AltL

它会自动在新的 tty 中启动新的 xsession。对我来说是tty8。现在使用++ Ctrl,我可以返回到我的用户 xsession。使用++返回到新的用户 xsession。AltF7CtrlAltF8

相关内容