"MIT-SHM" missing


PROBLEM DESCRIPTION or QUESTION


X 응용프로그램을 실행하면 다음과 같은 메시지가 나옵니다.
Xlib: extension "MIT-SHM" missing on display "localhost:10.0".

RESOLUTION


MIT-SHM은 MIT-SHaredMemory의 약자로서 MIT에서 만든 X window 시스템의 확장 프로토콜입니다. X 응용프로그램과 X 서버(Xmanager도 X 서버입니다) 간의 데이터 교환에 관한 확장인데요.
X 응용프로그램이 그래픽 출력을 위해 X 서버에게 디스플레이 요청을 할 때 소켓이나 네트워크를 통해서가 아닌 시스템의 메모리를 공유 방법을 사용하는 것입니다.
그러므로 이 확장은 X 응용프로그램과 X 서버가 동일한 머신에 있어야 의미가 있습니다. Xmanager를 사용한여 원격 접속을 할 경우 사용할 수 없은 확장입니다.
따라서 X 응용프로그램은 원격 접속일 경우 MIT-SHM 확장을 사용하지 않아야 하는데, 일부 프로그램에서는 이를 파악하지 않는 경우가 있습니다.
단순히 Warning 수준에서 메시지를 보여 주는 경우도 있고, 이 익스텐션이 없을 경우 X 응용프로그램이 실행이 안되거나 결과가 제대로 보여지지 않는 경우도 있습니다.
이러한 경우라면 다음과 같은 조치를 취할 수 있습니다.
  • 해당 툴의 실행 명령어 파라미터로 -noshm이 있는지 확인해 봅니다.
  • setenv XLIB_NO_SHM 1 또는 export  XLIB_NO_SHM=1  명령으로 환경 변수를 설정하고 프로그램을 실행해 봅니다.
  • setenv QT_X11_NO_MITSHM1, setenv _X11_NO_MITSHM 1 또는 setenv _MITSHM 0 환경 변수를 설정하고 프로그램을 실행해 봅니다