두 사용자 간의 Xorg 스위치 디스플레이

두 사용자 간의 Xorg 스위치 디스플레이

저는 GNOME3을 사용하여 Debian Jessie를 실행하고 있습니다.

두 명의 사용자가 로그인한 상황입니다.

user1이 켜져 있고 :0user2가 켜져 있습니다 :1.

다음으로 교환하고 싶습니다:

사용자 1 :1과 사용자 2가 모두 켜져 있습니다 :0.

답변1

방법이 있습니다다음에 추가사용자는 특정 디스플레이에제거하다특정 디스플레이의 사용자뿐만 아니라교환. 각 사용자가 xauth디스플레이에 다른 사용자 추가를 실행한 다음 를 사용 xauth하여 원래 화면에서 자신을 제거하도록 하면 됩니다 . 이는 한 계정에서 다른 계정으로 인증 데이터를 복사하고 여러 단계를 거쳐야 하기 때문에 어려운 작업처럼 보일 수 있습니다.

추가 자료:

$XAUTHORITYX 클라이언트는 지정된 파일(또는 설정되지 않은 $HOME/.Xauthority경우 )에 인증 자격 증명을 전달하여 $XAUTHORITY서버에 자신을 인증합니다 . 파일은 일반적으로 소유자만 읽을 수 있으므로 동일한 시스템의 다른 사용자는 X 세션에 액세스할 수 없습니다.

X 세션에 다른 계정 액세스 권한을 부여하려면 다음 명령을 사용하여 인증 자격 증명을 추출하십시오."xauth 추출...", 다른 계정으로 전송하고 해당 계정이 다음을 ~/.Xauthority사용하여 자신의 파일에 추가하도록 하세요."xauth 병합...".

답변2

이건 불가능 해. X 서버는 처리 중인 디스플레이 번호를 알고 있지만 이를 변경할 수 있는 인터페이스가 없습니다.

(기술적으로는 X 서버 프로세스에서 디버거를 실행하고 올바른 명령을 실행하면 가능합니다. 운이 좋다면 잘못된 명령으로 인해 X 서버가 충돌할 수도 있습니다. 성공할 가능성은 거의 없습니다.)

어떤 문제를 해결하려고 하든 더 나은 해결책이 있을 것입니다. 대부분의 프로그램은 환경 변수가 나타내는 표시 번호를 사용합니다 DISPLAY. env DISPLAY=:1 someprogram대신 실행하면 someprogram99%의 사례를 처리합니다. 이것이 X 라이브러리가 기본적으로 수행하는 작업입니다. 애플리케이션에 하드코딩된 나머지 1%에 대해 :0프로그램이 동적으로 링크되는 경우 LD_PRELOAD(설명 및 예시) 트릭을 수행해야합니다.

관련 정보