3개의 GPU를 사용하는 다중 좌석 설정이 있는데 loginctl
대부분 lightdm
잘 작동합니다. 누락된 두 개의 작은 영역이 있는데, ssh
전원이 켜지지 않거나 :0
적어도 마지막으로 로그인했을 때와 다른 번호가 있을 때 Bluetooth 오디오 장치와 X 전달이 오작동하는 것입니다.
❯ ps axo pid,user,args | grep xorg
6279 root /usr/lib/Xorg :1 -seat seat0 -auth /run/lightdm/root/:1 -nolisten tcp vt7 -novtswitch
6284 root /usr/lib/Xorg :0 -seat seat2 -auth /run/lightdm/root/:0 -nolisten tcp
6285 root /usr/lib/Xorg :2 -seat seat1 -auth /run/lightdm/root/:2 -nolisten tcp
...바꾸다...
❯ ps axo pid,user,args | grep xorg
6279 root /usr/lib/Xorg :0 -seat seat0 -auth /run/lightdm/root/:0 -nolisten tcp vt7 -novtswitch
6284 root /usr/lib/Xorg :1 -seat seat2 -auth /run/lightdm/root/:1 -nolisten tcp
6285 root /usr/lib/Xorg :2 -seat seat1 -auth /run/lightdm/root/:2 -nolisten tcp
놓다...
# Force seatN to run on display :N
[Seat:seat0]
xserver-command=/usr/lib/Xorg :0 -seat seat0 -auth /run/lightdm/root/:0 -nolisten tcp vt7 -novtswitch #
[Seat:seat1]
xserver-command=/usr/lib/Xorg :1 -seat seat1 -auth /run/lightdm/root/:1 -nolisten tcp #
[Seat:seat2]
xserver-command=/usr/lib/Xorg :2 -seat seat2 -auth /run/lightdm/root/:2 -nolisten tcp #
... /etc/lightdm.conf.d/71-seatdisplays.conf
원래 로그인 방식대로 로그인하면 상황이 정말 복잡해집니다 seat0
. 결국 모니터에 표시하게 되지만 :0
어느 쪽이든 seat0
GPU와 마우스 및 키보드 USB 포트가 모니터에 바인딩할 신호를 제공하지만 다음과 같습니다.seat1
seat2
seat0
❯ echo $DISPLAY
:0
❯ ps axo pid,user,args | grep xorg
6711 root /usr/lib/Xorg :1 -seat seat1 -auth /run/lightdm/root/:1 -nolisten tcp
6713 root /usr/lib/Xorg :2 -seat seat2 -auth /run/lightdm/root/:2 -nolisten tcp
6731 root /usr/lib/Xorg :0 -seat seat0 -auth /run/lightdm/root/:0 -nolisten tcp vt7 -novtswitch
❯ loginctl list-sessions
SESSION UID USER SEAT TTY
3 1000 myuser seat1
c1 958 lightdm seat2
c2 958 lightdm seat0
3 sessions listed.
#
줄 끝에서 주석을 제거하면 xserver-command
정확 seat0
하지만 결과가 반드시 표시되는 것은 아닙니다 :0
. 실제로 발생한 내용을 수동으로 설정한 명령에 자동으로 추가하고 마침내 올바른 좌석 번호를 얻으면 디스플레이가 다시 무작위로 표시됩니다.
❯ echo $DISPLAY
:2
❯ ps axo pid,user,args | grep xorg
6423 root /usr/lib/Xorg :1 -seat seat1 -auth /run/lightdm/root/:1 -nolisten tcp :0 -seat seat1 -auth /run/lightdm/root/:0 -nolisten tcp
6428 root /usr/lib/Xorg :2 -seat seat2 -auth /run/lightdm/root/:2 -nolisten tcp :1 -seat seat2 -auth /run/lightdm/root/:1 -nolisten tcp
6437 root /usr/lib/Xorg :0 -seat seat0 -auth /run/lightdm/root/:0 -nolisten tcp vt7 -novtswitch :2 -seat seat0 -auth /run/lightdm/root/:2 -nolisten tcp vt7 -novtswitch
❯ loginctl list-sessions
SESSION UID USER SEAT TTY
3 1000 myuser seat0
c1 958 lightdm seat1
c2 958 lightdm seat2
3 sessions listed.
명령에 원하는 내용을 추가하는 것처럼 보이므로 xserver-command
for and와 같은 어리석은 설정을 시도했지만 이로 인해 and가 중단되었습니다.sleep 1; /usr/lib/Xorg
seat1
2
seat1
2
❯ echo $DISPLAY
:0
❯ ps axo pid,user,args | grep xorg
6064 root /usr/lib/Xorg :0 -seat seat0 -auth /run/lightdm/root/:0 -nolisten tcp vt7 -novtswitch
❯ loginctl list-sessions
SESSION UID USER SEAT TTY
3 1000 myuser seat0
1 sessions listed.
나는 그것이 처음에 :0 등을 얻는 명령을 실행하거나 완료한다고 가정할 수 있습니다.
seat0
강제로 표시 :0
, seat1
표시, 표시 하는 방법이 있나요 :1
?seat2
:2
seat1
또는 시작을 지연 하고 2
항상 seat0
먼저 해결하는 방법이 있습니까 :0
?
답변1
나도 같은 소원을 갖고 있는데... 헷갈려서 괴로워요! 내가 만든다:https://github.com/canonical/lightdm/pull/350
곧 병합할 수 있고 모든 것이 거기에 있을 수 있기를 바랍니다!