사용자로서 Sudo 쉘에서 올바른 테마와 스타일로 프로그램을 실행하십시오.

사용자로서 Sudo 쉘에서 올바른 테마와 스타일로 프로그램을 실행하십시오.

스크립트를 통해 OpenVPN을 통해 --up연결한 후 qbittorrent를 시작하려고 합니다. 문제는 스크립트가 루트 프로필을 통해 실행되기 때문에 애플리케이션을 실행하는 것이 약간 문제가 된다는 것입니다. 이 문제를 해결한 후 다음 문제는 시스템 설정(Kubuntu 20.04 및 KDE Plasma)에서 사용자 프로필 테마 및 스타일 사용자 정의를 수행하지 않고도 앱이 열리는 것입니다.

스크립트(USER_NAME이 사용자임):

#!/bin/bash

xhost +
export DISPLAY=:0
sudo -u USER_NAME qbittorrent & disown
xhost -

올바른 테마와 스타일로 애플리케이션을 실행하려면 어떻게 해야 합니까?

편집: waltinator의 답변과 사용자 환경 변수 보기를 사용하여 다음을 env통해 프로그램에 올바른 테마와 스타일을 제공할 수 있었습니다.

#!/bin/bash

sudo -i -u USER_NAME DISPLAY=:0 KDE_FULL_SESSION=true qbittorrent & disown

이 두 가지 환경 변수를 보존하십시오(프로그램이 기본값으로 설정되지 않도록 세 가지 환경 변수도 설정하려는 경우 ). XDG_RUNTIME_DIR스크립트를 실행할 때 OpenVPN을 /tmp통해 유지되지 않으므로 실행할 visudo때마다 수동으로 설정해야 합니다. --up프로그램 . 나는 또한 이러한 호출이 없어도 작동하는 것처럼 보이므로 제거했습니다 . 아마도 이 옵션 xhost때문인 것 같습니다 .-i

답변1

그것을 읽고 man sudo명령 -i에 옵션을 추가하십시오 sudo. 그것도 읽어보세요 man sudoers.

그런데 을 사용해도 X 서버가 네트워크의 다른 시스템에 열리지 않습니다 xhost +localhost. xhost -localhost읽다 man xhost.

관련 정보