2013-07-30 4 views
0

파이썬 (방법이 있다고 생각하지 마십시오) 또는 {, ba, z} sh에서 처음 사용되지 않는 X 표시를 얻으려면 어떻게해야합니까? <number>, :<number> 또는 $(hostname):<number>을 반환 할 수 있습니다. 예를 들어X에서 처음 사용되지 않는 디스플레이를 얻으려면 어떻게해야합니까?

일 :

  • X 세션 : 0, 1이 반환.
  • X 세션 : 0, VNC : 1, 2가 반환되었습니다.
  • X 세션 at : 0, QEMU at : 2, 1 returned.

답변

1

좋은 방법은 없습니다. 내가 아는 가장 나쁜 방법은 /tmp/.X11-unix의 내용을 검사하는 것입니다. 여기에는 :0X0, :1X1 등의 Unix 도메인 소켓이 포함됩니다. TCP 소켓을 대신 사용하려면 포트 6000에 연결하고 ECONNREFUSED이 될 때까지 연결하십시오. 두 접근법 모두 AFAIK를 수정할 수없는 본래의 경쟁 조건을 가지고 있음을 유의하십시오.

+0

좋아요,'/ tmp/.X11-unix'에는 X0, X1 등의 파일이 있습니다. –

+0

@ tikiking1 이들은 잠금이 아니며 유닉스 도메인 소켓입니다. 'libX11'가 X 서버와 통신하는데 사용할 실제 통신 끝점입니다. 'ls -l'은 사용 권한의 첫 번째 열에 특이한 문자 (아마 's')가 있어야합니다. – zwol

+0

사용하지 않은 디스플레이의 표시로 존재 (부족)를 사용하는 것이 "안전"합니까? –

관련 문제