xterm은 RHEL 7.2에서 작동하지 않습니다.

xterm은 RHEL 7.2에서 작동하지 않습니다.

xterm은 RHEL 7.2에서 다음 오류를 발생시킵니다.

$ xterm &


[1] 21638
Warning: This program is an suid-root program or is being run by the root user.
The full text of the error or warning message cannot be safely formatted
in this environment. You may get a more descriptive message by running the
program as a non-root user or by removing the suid bit on the executable.
xterm: Xt error: Can't open display: %s
[1]+  Exit 1                  xterm
[/RHEL/Packages]


$ rpm -qa | grep -i xterm
xterm-295-3.el7.x86_64

내가 여기서 무엇을 놓치고 있는 걸까요?

답변1

간단히 말해서: 응용 프로그램을 루트로 실행하지 마십시오.

긴:

이 메시지는 무엇이 잘못되었는지 알려줍니다. 이 메시지를 받는 일반적인 방법은 (권한이 없는 일반 사용자로) 로그인하여 다음을 사용하는 것입니다.su또는sudo로 전환root사용자.

이 메시지(및 확인)는 1997년에 추가되었습니다(5월 토론의 후속 조치로 6월 말에 XFree86에 대한 패치로 처음 등장했으며 2주 후 X11R6.3에 나타났습니다).

그것 앞에,rootX 세션에 연결하여 모든 프로그램(예:root)선택했습니다. 불행하게도 귀하가 사용하는 많은 프로그램은 안전하지 않습니다. (이것은 여전히 ​​거의 모든 데스크톱 응용 프로그램의 상태입니다.)

X 라이브러리를 확인하여 다음과 같은지 확인하세요.root사용자를 선택한 다음 환경 변수를 삭제합니다(예:DISPLAY) 이로 인해 안전하지 않은 앱에 갇히게 될 수도 있습니다.

일부 시스템에서는 허용됩니다.root사용자는 즉시 가장 쉽게 액세스할 수 있는 애플리케이션에 대해 데스크톱 세션에 로그인하며 상대적으로 안전한 상태를 유지하도록 선택했습니다. 어떤 사람들은 이것을하지 않습니다.

이제 Red Hat 7에는 xtermset-uid 또는 set-gid가 설치되어 있지 않습니다. set-uid를 루트로 사용하여 20년 전에 BSD 스타일 의사 터미널을 열었고 set-gid를 사용하여 utmp를 업데이트했습니다. 두 사람 모두 오랫동안 떠나 있었습니다. 당신은 이것을 수행하여 볼 수 있습니다

ls -l /usr/bin/xterm

set-uid 또는 루트 사용자 권한을 찾으려면 xterm을 실행하는 셸에서 시작할 수 있습니다.

관련 정보