관리자가 아닌 표준 사용자로 SSH를 통해 원격 GUI 애플리케이션 실행

관리자가 아닌 표준 사용자로 SSH를 통해 원격 GUI 애플리케이션 실행

내부 콜센터 직원들을 위한 헬프데스크를 운영하고 있습니다. 모든 직원은 작업하는 동안 헤드셋을 착용하고 있으며 원격 지원에 더 나은 도움을 주기 위해 SSH를 통해 원격으로 최소한의 Mumble 세션을 시작하는 스크립트를 작성하고 있습니다. 모든 원격 사용자는 Linux Mint XFCE를 사용합니다.

Ollie의 최상의 솔루션을 따라 이 문제를 해결했습니다.SSH를 통해 원격 Linux PC에서 GUI 소프트웨어를 시작하는 방법, 나는 그의 예제를 사용하여 Devilspie를 시작한 다음(Mumble을 최소화하도록 미리 구성했습니다) Mumble 자체를 시작하는 이 코드를 작성했습니다.

export DISPLAY=:0
devilspie & echo loading devilspie
mumble

원격 관리 프로필로 로그인한 상태에서 이 코드를 테스트하면 정말 매력적으로 작동합니다. Devilspie가 시작된 다음 Mumble이 시작되어 즉시 최소화됩니다. 그러나 내 문제는 내가 지원하려는 최종 사용자가 워크스테이션의 관리자가 아니라는 것입니다. 관리자가 아닌 사용자로 로그인한 상태에서 원격 컴퓨터에서 SSH를 통해 동일한 스크립트를 실행하면 Devilspie에서 다음 오류가 발생합니다.

No protocol specified
Gdk-WARNING **: devilspie: Fatal IO error 11 (Resource temporarily unavailable) on X server :0.

그리고 Mumble은 나에게 다음과 같은 오류를 주었습니다.

 No protocol specified
 mumble: cannot connect to X server :0

이 동일한 스크립트는 관리자 프로필에서 완벽하게 실행되므로 오류가 권한과 관련된 것일 수 있다고 가정합니다. 돕다! 관리자가 아닌 사용자를 위해 이러한 애플리케이션을 시작하는 방법을 모르겠습니다.

답변1

질문을 올바르게 이해한 경우:

  • 워크스테이션이 X를 실행 중이고 사용자 $USER가 로그인되어 있습니다.
  • 사용자 $ADMIN은 이 컴퓨터에서 X 클라이언트를 시작하고 $USER의 X 서버에 연결하려고 합니다.

.xsessionX 세션의 시작을 제어할 수 있는 경우 다음을 사용하여 $ADMIN에 대한 액세스 권한을 부여하도록 (아마도 $USER's에서) 준비할 수 있어야 합니다 xhost.

xhost +SI:localuser:$ADMIN

저는 X 디스플레이가 포함된 임베디드 장치를 디버깅할 때 가끔 이 기술을 사용합니다.

xhost전체 옵션 세트를 보려면 매뉴얼 페이지를 참조하십시오.

관련 정보