当我打开终端时,出现以下异常。我该如何解决这个错误:
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 ~]$
请注意,我在安装全局菜单 gnome 扩展后发现此错误。
答案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 环境变量,防止它们在运行时丢失菜单栏。