텍스트 사용자 인터페이스와 그래픽 사용자 인터페이스 모두에서 실행할 수있는이 프로그램이 있습니다.
하나 또는 다른 것을 강제하는 명령 줄 스위치가 없으므로 오히려 X에 있는지 여부를 자동 감지합니다 (예 : 가상 터미널에서 실행하면 텍스트 모드로 들어가고 실행하면 X 터미널 에뮬레이터는 별도의 그래픽 창을 엽니 다).
텍스트 모드로 강제 설정하고 X 터미널 내에서 실행하고 싶습니다. 어떻게해야합니까?
답변
보통은
unset DISPLAY
터미널의 명령 줄에서. 일부 응용 프로그램은 그보다 더 똑똑하며 실제로 콘솔과 의사 터미널의 권한과 유형을 확인합니다.
답변
단일 명령에 대해 X를 비활성화하려면 다음을 쓸 수 있습니다.
DISPLAY= ./my_command
이후 전략적 빈 공간에 주목하십시오 =
. 보다 일반적으로, 명령 <variable>=<value>
에 공백 으로 구분 된 시퀀스를 접두어로 추가하여 프로세스의 환경 변수를 설정할 수 있습니다. 공백은 분리 자로 사용되므로 =
바로 뒤에 공백이 선행 변수를 지 웁니다. 서브 쉘을 명령으로 사용하고 환경을 인쇄하여 이러한 접 두부의 효과를 볼 수 있습니다. 예를 들어 보자.
$ A=a B=b C= D=d sh
$ echo $A $B $C $D
이것은 인쇄됩니다
a b d
이것은 서브 쉘의 환경이 실제로 의도 한 것과 다르다는 것을 보여준다. 개별 인수가에 전달되기 전에 쉘 대체가 발생 echo
하므로 명령 행이 두 개의 공백 이있는 것처럼 출력 사이 b
와 공백에 단일 공백 만 있습니다.d
echo a b d