다른 디스플레이 관리자의 `dm-tool 스위치-to-user`otheruser와 동일합니다.

다른 디스플레이 관리자의 `dm-tool 스위치-to-user`otheruser와 동일합니다.

lightdm을 사용할 때 dm-tool switch-to-user. 디스플레이 관리자에 의존하지 않는 방법이 있습니까? 그렇지 않은 경우 다른 디스플레이 관리자에 해당하는 명령은 무엇입니까?

  • 범용 데이터 관리
  • SDDM
  • 날씬한
  • 럭스DM
  • 시드미

답변1

디스플레이 관리자에 의존하지 않는 방법이 있습니까?

명령줄/러너 솔루션이 필요합니다.

xdm, gxm, lightdm에 대한 내 경험과 이들 모두의 작동 방식을 고려할 때 모든 경우에 딱 맞는 완벽한 답은 없다고 생각합니다. 그 이유는 실제 사용자 격리를 제공하려면 디스플레이 관리자가 vt 스위치를 면밀히 관리해야 하기 때문입니다.

즉, 단순하고/또는 구식 디스플레이 관리자에서는 과거에 작동해야 하는 솔루션을 고려했습니다.

chvt기본적으로 환경 변수의 내용을 인수와 함께 사용할 수 있습니다XDG_VTNR대상 사용자세션 프로세스. 이 효과는 에 제공한 숫자를 입력하기 Ctrl-Alt-Fn위해 키 조합을 누르는 것과 유사합니다 . 이것은 의견에서 고려됩니다nchvtxorg - 재인증 없이 열려 있는 두 X 세션 간 전환 - Ubuntu Q&A.

그러나 여전히 번호를 직접 얻어야 합니다. 루트가 대상 사용자 프로세스의 환경을 수신하는 프로세스를 실행하도록 하거나 사용자가 로그인 시 알려진 위치를 통해 이 번호를 광고하도록 합니다(예: ~/.myvtnr사용자가 한 번에 하나 이상의 X 세션을 가지고 있지 않다고 가정하면, 이는 그렇지 않습니다. 항상 그렇듯이 사용자는 를 Xnest사용하는 중첩 세션을 포함하여 여러 X 세션을 가질 수 있습니다.

그렇지 않은 경우 다른 디스플레이 관리자에 해당하는 명령은 무엇입니까?

gdm을 실행하는 Ubuntu 12.04에서는 이것이 나에게 효과적이었습니다 dbus-send --system --type=method_call --print-reply --dest=org.freedesktop.DisplayManager $XDG_SEAT_PATH org.freedesktop.DisplayManager.Seat.SwitchToUser string:otheruserlogin string:anywordseemsignored. otheruserlogin실제 사용자 로그인으로 바꾸십시오.

XDG_SEAT_PATH설정되지 않은 경우 (즉 echo $XDG_SEAT_PATH, 출력을 제공하지 않는 경우) 먼저 다음을 사용 export XDG_SEAT_PATH=/org/freedesktop/DisplayManager/Seat0하고 다시 시도할 수 있습니다.

gdm을 사용하여 Ubuntu 18.04에서 작동합니까? 다른 디스플레이 관리자와 함께? 세부사항을 보고해 주세요. 그것은 미래에 다른 사람들(당신과 나를 포함하여 :-)에게 도움이 될 수 있습니다.

관련 정보