Linux(Ubuntu)에서 sudo 명령을 사용하여 터미널에서 GUI 애플리케이션을 실행하면 아래와 같이 QT 오류와 함께 애플리케이션이 실패합니다.
시도하면 거의 모든 앱이 실패합니다. 다음은 Firefox의 예입니다.
sudo/root에는 기본적으로 DISPLAY가 없으므로 다음을 참조할 수 있습니다.루트가 아닌 다른 사용자로 GUI 응용 프로그램 실행
애플리케이션이 표시되지 않는 것을 인식하고 프로그래밍 방식으로 설정할 수 있습니까?
답변1
넌 그냥 sudo
말해야 해앞으로루트로 생성되는 프로세스에 기존 환경 변수를 추가합니다. --preserve-env=list
의 옵션을 참조하십시오 man sudo
.
또한 firefox
질문 없이 루트로 실행하세요. 매우 엄격합니다.
아니, 그러지 마세요.
이 방법으로 해결하려는 문제가 무엇이든 브라우저를 루트로 실행할 이유가 전혀 없습니다.~ 해야 하다이 문제는 다양한 방법으로 해결될 수 있습니다.
cmake
및 에도 마찬가지입니다 cmake-gui
. 소프트웨어를 루트로 빌드하면 안 됩니다. 루트로 빌드해야 한다면 뭔가 잘못된 것입니다. 당신이가지다소프트웨어를 루트로 빌드하려면(꼭 그럴 필요는 없지만 일부 소프트웨어는 제대로 작성되지 않음)원하지 않는다cmake
루트로 실행 해야 합니다 cmake-gui
.
따라서 sudo의 나쁜 사용 사례입니다.