"sudo"가 필요한 응용 프로그램에 대해 X11 전달을 허용하도록 서버를 구성하려면 어떻게 해야 합니까?

"sudo"가 필요한 응용 프로그램에 대해 X11 전달을 허용하도록 서버를 구성하려면 어떻게 해야 합니까?

내 서버에 로그인하여 다음과 같은 작업을 실행할 수 있습니다.ssh -X [email protected]gvim

하지만 슈퍼유저 애플리케이션을 실행할 수 없습니다.

sudo gparted
Unit tmp.mount does not exist, proceeding anyway.
X11 connection rejected because of wrong authentication.

(gpartedbin:4069): Gtk-WARNING **: 20:29:53.342: cannot open display: localhost:11.0

웹 검색이나 이 사이트 검색에서 직접 관련이 있는 것으로 보이는 항목을 찾을 수 없습니다.

물론 시스템 관리자가 디스크 파티션과 같은 작업을 수행해야 하는 경우도 있습니다. 그러려면 무엇이 필요합니까 sudo?

내 서버는 데비안 10을 실행하고 있습니다.

답변1

환경 변수를 보존해야 합니다.

  • XAUTHORITY그리고
  • DISPLAY

sudoers이 지시문 이 필요합니다 keep_env. 전역적으로 사용하거나 단일 명령에 사용할 수 있습니다(아마도 더 안전할 것입니다).

다음 항목에 추가하세요 sudoers.

Cmnd_Alias X_GPARTED = /path/to/gparted
Defaults!X_GPARTED env_keep += "XAUTHORITY DISPLAY"

관련 정보