터미널을 열 때 다음 예외가 발생합니다. 이 오류를 어떻게 해결할 수 있습니까?
bash: /etc/profile.d/proxy-globalmenu.sh: line 1: syntax error in conditional expression
bash: /etc/profile.d/proxy-globalmenu.sh: line 1: syntax error near `]'
bash: /etc/profile.d/proxy-globalmenu.sh: line 1: `if [[ "$DESKTOP_SESSION" = "cinnamon" ] || ["$DESKTOP_SESSION" = gnome"] && [ -z "$UBUNTU_MENUPROXY" ]]; then'
[snoop@lenovo ~]$
글로벌 메뉴 그놈 확장을 설치한 후 이 오류가 발생한다는 점에 유의하세요.
답변1
- 예외는 아닙니다. 오류입니다.
- 실패한 파일(
/etc/profile.d/proxy-globalmenu.sh
)은 Fedora에서 제공한 파일이 아닌 것으로 알고 있습니다.
그것이 어디서 왔는지 알아보고 그들에게 다시 보고하십시오. 자신이 만든 경우 내부에 공백을 추가 []
하고 누락된 따옴표를 추가하여 수정하세요. 에서
["$DESKTOP_SESSION" = gnome"]
에게
[ "$DESKTOP_SESSION" = "gnome" ]
답변2
관련된 모든 분들께 감사드리며, 해당 오류에 대해 사과드립니다.https://github.com/lestcape/Gnome-Global-AppMenu/commit/10e8494e411db3c4f0ab1f7de6999743d8cabd8e
Dbus 메뉴는 시스템 버스 내부가 아닌 세션 버스 내부에서 실행되는 자유 구조입니다. 따라서 이 스크립트가 수행하는 작업(/etc/environment 파일에 추가하는 줄과 결합하여)은 메뉴 표시줄이 없어져 사용자 세션 외부에서 실행되는 모든 루트 응용 프로그램을 제어하지만 확장 프로그램은 이를 제어할 수 없습니다. 이 경우 Dbus 메뉴를 캡처하세요. 이 스크립트를 사용하면 모든 루트 애플리케이션에서 UBUNTU_MENUPROXY 환경 변수를 설정 해제하여 실행 시 메뉴바가 사라지는 것을 방지할 수 있습니다.