다른 호스트/사용자에게 그래픽 응용 프로그램을 표시할 수 있습니까?

다른 호스트/사용자에게 그래픽 응용 프로그램을 표시할 수 있습니까?

우리는 약 12대의 머신과 비슷한 수의 사용자로 구성된 소규모 Linux 클러스터를 보유하고 있습니다.

수퍼유저는 다른 사용자가 사용하고 있는 다른 컴퓨터에서 그래픽 응용 프로그램(예: Firefox 또는 Python 스크립트)을 시작할 수 있습니까?

답변1

실제로 원하는 것은 X Window System의 기본 개념입니다. 그러나 최근 Linux에서는 기본적으로 원격 X 클라이언트를 허용하지 않습니다. 먼저 활성화해야 합니다. 이 도구는 xhost바로 그렇게 할 수 있습니다. 실행하면 xhost +액세스 제어가 비활성화되고 모든 클라이언트가 서버와 상호 작용할 수 있습니다.

X 서버 인스턴스는 <host>:<display>. 컴퓨터가 원격 X 서버에 대한 렌더링을 실행 하도록 xterm하려면 쓰거나, IP 주소를 사용하려는 경우 호스트 내에서 xserver를 고유하게 식별하도록 DISPLAY=remotehost.my.doma.in:0 xterm쓸 수 있습니다 DISPLAY=192.168.0.1:0 xterm. :0일반적으로 디스플레이 관리자는 xserver 번호를 0부터 시작하므로 원격 xserver가 디스플레이 0이라고 가정하는 것이 상대적으로 안전한 방법입니다. 이 예제 명령은 사용자(uid)로 컴퓨터에서 xterm을 시작하지만 원격 xserver로 렌더링하고 해당 원격 xserver에서 이벤트 192.168.0.1을 가져옵니다. 이는 사용자로 실행 중인 컴퓨터에 xterm이 있음을 의미하지만 사용됩니다. 다른 컴퓨터에서 다른 사람이.

DISPLAY 환경을 존중하는 것은 Xlib의 일부이므로 모든 X 응용 프로그램에서 지원됩니다.

답변2

다음을 시도해 볼 수 있습니다.

사용자의 자동 시작 디렉터리에 ~/.config/autostart최소한의 Python 스크립트/bash 스크립트 실행 프로그램을 유지하고 특정 디렉터리에서 파일을 기다립니다. (Inotify 사용 - 디렉토리가 변경될 때까지 차단하는 bash 쉘 명령이 있습니다.) 그런 다음 스크립트에서 명령을 실행하십시오. 그러면 사용자 화면에 나타나는 전체 GUI 응용 프로그램이 시작됩니다.

또 다른 방법은 루트 프로세스 ewww에서 X 쿠키와 환경 변수를 추출하는 것입니다.

답변3

응, 그거라고 해X11 전달

ssh -X <user>@<localmachine-ip>
firefox

물론 쉽지는 않습니다. 복사해야합니다.마법의 쿠키그리고 구성 파일을 변경해 보세요/etc/ssh/sshd_config

관련 정보