UNIX 시스템(Mac/Linux)에 GUI가 있는지 확인할 수 있습니까?
기본적으로 다음을 구별하고 싶습니다.
- GUI가 있는 UNIX(예: 일반 Mac, Linux)
- GUI가 없는 UNIX(예: Mac 서버/Linux 서버 등)
$DISPLAY 변수를 사용해 보았지만 Mac OS에서는 작동하지 않는 것 같습니다(Yosemite 설치에서는 작동하지 않습니다).
배경
나는 (루비) UNIX 시스템에서 로컬 서버를 시작한 다음 기본 브라우저( 운영 체제를 사용하거나 이에 따라) open http://localhost:4567
에서 이 로컬 서버를 여는 스크립트입니다.xdg-open http://localhost:4567
문제는 이 스크립트가 일반 컴퓨터(예: GUI가 있거나 없는 컴퓨터)뿐만 아니라 서버에서도 사용될 가능성이 높으며 로컬 컴퓨터를 열어 서버(예: Lynx 등)의 사용자를 괴롭히고 싶지 않다는 것입니다. 명령줄 브라우저의 서버 URL입니다.
알아채다. $SSH_CLIENT
GUI를 테스트하기 전에 변수 등을 확인할 계획입니다 . 따라서 SSH를 통해 머신에 연결하는 경우 스크립트는 기본 브라우저를 열려고 시도하지 않습니다. 따라서 위의 내용은 (SSH를 통하지 않고) 서버에 물리적으로 연결된 사용자를 위한 것입니다.