使用swaywm时,我几乎是多个座位(两个人同时使用同一台计算机),有两个键盘、两个鼠标和一个一个具有两个输出的GPU。
在sway会话开始时,打开一个嵌套的X会话,Xephyr查询本地主机XDMCP服务器(在lightdm中启用)
简而言之,以下是执行的命令:
swaymsg "input abc:xyz:mouse map_to_output VGA-1"
swaymsg "seat seat1 attach abc:xyz:keyboard"
swaymsg "seat seat1 attach abc:xyz:mouse"
swaymsg "seat seat1 shortcuts_inhibitor enable"
Xephyr -query 127.0.0.1 -glamor -screen 1280x720 -noreset -no-host-grab -name Xephyr1 :1 &
sleep 3
swaymsg "[instance=Xephyr1] move window to output VGA-1"
swaymsg "[instance=Xephyr1] focus"
swaymsg "floating disable"Xephyr成功地打开了一个新的会话,然后它被移动到适当的监视器上,其中一个老鼠只在那里移动,就这样了。
现在,我如何从附加到"seat1“的输入设备中捕获键盘和鼠标按键,而不管焦点如何?
Xephyr -keybd/-鼠标驱动程序设置根本不工作,-seat也不起作用。
我知道如何使用多个GPU和loginctl定义席位,但我的目标是在最近的Linux发行版中使用一个GPU,而不是旧的、修补的。
发布于 2022-04-29 14:49:46
让它在chroot环境中工作,不是我想要的,但至少我没有破坏主机系统,同时也不需要太多的额外资源,例如VM。在这里我所做的:
安装了schroot和去引导。
someuser:~$ sudo apt install debootstrap schroot在/etc/schroot/schroot.conf文件末尾添加以下行以配置chroot。
[stretch]
type=directory
description=Debian stretch
message-verbosity=quiet
directory=/opt/stretch
root-users=root
root-groups=root
users=someuser
groups=someuser
preserve-environment=true创建chroot目录并使用所需的包获得所需的分发。
someuser:~$ sudo mkdir -p /opt/stretch
someuser:~$ sudo debootstrap --no-check-gpg --arch amd64 --variant=minbase --include=xserver-xephyr,libgl1-mesa-dri stretch /opt/stretch/ http://httpredir.debian.org/debian用这条线运行着色的Xephyr。
someuser:~$ schroot -c stretch -- Xephyr -query 127.0.0.1 -br -glamor -noreset -no-host-grab -keybd evdev,,device=/dev/input/event3,xkbmodel=pc105,xkblayout=br -mouse evdev,3,device=/dev/input/event2 -3button -zaphod -softCursor -output VGA-1 :2好的,Xephyr连接到只接受定义的键盘和鼠标的XDMCP服务器。
注意,我没有通过-seat选项传递设备,我猜我需要Udev来实现,而且我不能在chroot环境中安装它。
https://unix.stackexchange.com/questions/700762
复制相似问题