退出 LightDM 并使用替代的 xorg.conf 启动新的 x-session

退出 LightDM 并使用替代的 xorg.conf 启动新的 x-session

我正在使用具有以下配置的 Ubuntu 15.10:LightDM、XFCE,设置为跨两个物理显示器的一个屏幕,通过单个 NVIDIA 卡上的两个输出运行。

这是我的正常环境,我可以在显示器之间拖动窗口/应用程序/等,玩 Steam 游戏(大多数让我选择在哪个显示器上玩)以及执行一般办公事务,例如在一个屏幕上收发电子邮件,在另一个屏幕上查看文字处理器文档

我还有 X-Plane 飞行模拟器,其中跨两个屏幕运行的理想方式是运行两个 X-Plane 实例,每个实例访问自己的物理监视器。

对于 X-Plane,我喜欢使用 CTRL-ALT-F1 打开一个新终端,然后运行以下命令。这将运行没有桌面环境的 X-Plane:

xplane工具

#!/bin/bash
sudo service lightdm stop

xinit /home/ashley/Launch_Scripts/XP64.sh

echo  "Restart desktop ? (y/n)"
read response
if [ "$reponse" = "y" ]
then
sudo service lightdm start
fi
# end of script

XP64.sh 如下所示:

#!/bin/bash
xsetroot -cursor_name left_ptr
xset -dpms
xset s off
xset s noblank
/home/ashley/X-Plane\ 10/X-Plane-x86_64 > /dev/null 2>&1
#
# Replace the above with these for two instances
#DISPLAY=":0.0" /home/ashley/X-Plane\ 10/X-Plane-x86_64 > /dev/null 2>&1 &
#DISPLAY=":0.1" /home/ashley/X-Plane-Slave/X-Plane-x86_64 > /dev/null 2>&1

#endofscript

由于飞行模拟器本身非常活跃,因此提出该脚本的 X-Plane 用户建议使用管道传输到 /dev/null。

一切运行良好,X-Plane 的运行方式与桌面相同(1 个屏幕分布在 2 个显示器上),而且看起来很棒。然而,这有点不切实际 - 两个屏幕的中心位于飞机左侧或右侧座位视野的中心,而不是您实际飞行时看到的那样。

因此建议两个独立的屏幕应该有两个独立的 X-Plane 实例,一个供学生飞行员或副驾驶使用,另一个(通常)供教练飞行员或机长使用。

我又创建了另一个xorg配置文件这次有两个独立的屏幕,并通过替换我通常的 xorg.conf 来确认这有效 - 两个完全独立的屏幕,我可以在它们之间移动光标,但不能拖动窗口。

我无法弄清楚的是,在上面的 X-Plane bash 脚本中,是否以及如何在通过 xinit 启动时调用单独的 xorg.conf。

我试过了:

xinit /home/ashley/Launch_Scripts/XP64.sh -config /path/to/modified.xorg.conf

但它就是忽略我 — — 无论我将修改后的 xorg.conf 放在哪里,无论我赋予它什么权限。

我的第一个问题是我是否以正确的方式处理此事?

最终,我希望能够运行两个 X-Plane 实例,每个实例都在一个单独的屏幕/监视器上,但也能恢复到单个屏幕(跨两个监视器)以进行我的日常工作。

我的第二个问题是,如果是这样,我做错了什么?(我认为它从 /etc/X11/ 加载默认的 xorg.conf,无论我在脚本中指定什么)

我也应该在这里发布我的 xorg.conf 文件吗?

如果这样更容易管理的话,我并不反对创建另一个会话(即:从登录屏幕中选择 XFCE 或 Unity)并采用自己的设置。

答案1

语法错误:

xinit /home/ashley/Launch_Scripts/XP64.sh -config /path/to/modified.xorg.conf

应该:

xinit /home/ashley/Launch_Scripts/XP64.sh -- -config modified.xorg.conf

两个都xorg配置文件修改的.xorg.conf位于/etc/X11/

相关内容