GUI 애플리케이션이 터미널에 스팸을 보내는 것을 어떻게 막나요?

GUI 애플리케이션이 터미널에 스팸을 보내는 것을 어떻게 막나요?

Konsole 창에서 GUI 응용 프로그램을 시작했는데 완전히 쓸모없는 정보가 기록되었습니다. 나는 이것이 필요하지 않습니다. 이것을 완전히 막을 수 있는 방법이 있나요? 나는 부정하려고 노력했지만 도움이 되지 않았습니다. 나는 2>&1 >/dev/null이 도움이 될 것이라고 생각했지만 꽤 지루합니다!

자, 창의력을 발휘해 봅시다. 대답의 절반은 preexec를 사용하고(나는 zsh를 사용하지만 웹은 bash preexec 트릭으로 가득 차 있습니다) lddlibX11을 탐지하는 것입니다(그 밖의 무엇입니까?). 그 다음에https://stackoverflow.com/a/9188571/308851/dev/null에 대한 리디렉션을 만드는 방법을 보여줍니다. 쉘 스크립트 래퍼가 있는 프로그램과 함께 작동하도록 이 솔루션을 어떻게 확장할 수 있습니까?

답변1

나는 이것이 지루하다는 것을 알고 있지만 귀하의 응용 프로그램에 자동으로 실행되는 옵션이 없다면 나는

./app > /dev/null 2>&1

항상 이것을 작성하고 싶지 않다면 쉘 구성 파일에서 자신만의 별칭을 만들 수 있습니다.

.bashrc - for bash

다음을 생성하고 별칭을 지정해야 합니다.

alias app="/usr/local/bin/app > /dev/null 2>&1"

.bash_profile을 업데이트한 후 다시 로그인하거나 ~/.bash_profile을 소스로 지정하고 애플리케이션을 호출하면 됩니다.

편집하다:Michael의 의견을 바탕으로 수정한 내용입니다. 실제로 2>&1은 /dev/null 뒤에 있습니다. 이것이 쉘과 관련이 있는지 궁금합니다.

답변2

zsh에서는 다음을 사용할 수 있습니다 &!. 즉,

gui-app --args --args &!

관련 정보