저는 사용자 입력을 읽고 이를 몇 가지 다른 프로그램의 명령에 입력하는 빠른 스크립트를 작성하고 있습니다. 나는 xterm -e
각 개별 프로그램에 대한 터미널을 여는 데 사용합니다.
스크립트는 정상적으로 실행되지만 xterm -e
실행될 때마다 오류 메시지가 표시됩니다.
경고: 세션 관리자에 연결을 시도하는 중 지정된 인증 프로토콜이 지원되지 않습니다.
표시를 중지하는 방법에 대한 아이디어가 있나요?
답변1
xterm
환경 변수를 사용하여 $SESSION_MANAGER
X 세션 관리자에 접속하는 방법을 알아보세요.
귀하의 경우에는 인증할 수 없는 것 같습니다. 스크립트는 현재 세션에서 시작될 수 있지만 다른 사용자로 시작될 수 있습니다.
어쨌든 세션 관리자에게 보고할 필요가 없으므로 변수를 설정 해제하여 오류 메시지를 없앨 수도 있습니다.
unset -v SESSION_MANAGER
POSIX와 유사한 셸(또는 unsetenv SESSION_MANAGER
(t)csh set -e SESSION_MANAGER
또는 fish
) 에서
또는 env
비표준 -u
옵션을 지원하는 경우 다음으로 시작하세요 xterm
.
env -u SESSION_MANAGER xterm ...
답변2
실제로 변수는 xterm
직접적으로 사용되지 않습니다 SESSION_MANAGER
. 이는 Xt 및 SM 라이브러리에서 사용됩니다.
세션 관리자 기능을 비활성화하는 보다 직접적인 방법은 다음에서 찾을 수 있습니다.xterm 매뉴얼, 먼저 명령줄 옵션에서:
-sm
이 옵션은 다음에 해당합니다.sessionMgt
xterm이 세션 관리자 콜백을 설정해야 함을 나타내는 리소스입니다.
+sm
이 옵션은 xterm이 세션 관리자 콜백을 설정하지 않아야 함을 나타냅니다.
그럼 안으로애플리케이션 리소스:
sessionMgt
(수업SessionMgt
)
자원의 가치가 다음과 같은 경우"진짜"XtNdieCallback
, xterm 및 세션 관리자 콜백 설정XtNsaveCallback
. 기본값은"진짜".
이러한 기능이 들어있기 때문에패치 #169(2002), 아마도 사용 가능합니다.
답변3
다음과 같이 무시할 수 있습니다.
xterm -e 2> /dev/null