![系统范围的别名](https://linux22.com/image/166380/%E7%B3%BB%E7%BB%9F%E8%8C%83%E5%9B%B4%E7%9A%84%E5%88%AB%E5%90%8D.png)
我在 my 中设置了别名~/.bash_aliases
,它在终端中就像一个魅力一样。然而,它对 Application FinderAlt + F2
或 Whisker Menu的作用却不同。有人知道如何解决这个问题吗?谢谢。
我将这一行放入alias codeblocks='GTK_THEME=Adwaita:light codeblocks'
我的代码块中,~./bash_aliases
这样当它在终端中运行时,我的代码块就会以浅色主题启动。然后,我按下Alt + F2
并输入代码块,它在没有浅色主题的情况下运行,就像在终端中运行一样。
答案1
仅当您运行 bash 时才会调用 Bash 别名,因此您尝试的方法将不起作用。创建一个运行别名命令的脚本,并将其放在 $PATH 顶部的目录中;例如,$HOME/bin。您可能需要先注销,但这应该可以。
答案2
您的问题的标题具有误导性,因为您描述的问题与 shell 别名无关,而是与您的系统如何处理已安装的应用程序有关。
freedesktop.org 系统桌面条目就是您正在寻找的。
您提到了“Whisker Menu”(Xfce 的应用程序启动器),因此您可能正在使用 Xfce 桌面环境。 Xfce 之一目标是“遵守标准,特别是 freedesktop.org 定义的标准”。因此,您可以使用此标准来创建用户特定或系统范围的“桌面条目”来覆盖任何特定应用程序的 gtk 主题,而不是更改 PATH 变量、制作包装脚本等。
为代码块添加自定义条目的三个步骤:
- 将提供的系统桌面入口文件复制
/usr/share/applications/codeblocks.desktop
到该目录~/.local/share/applications
- 编辑,在键后
~/.local/share/applications/codeblocks.desktop
添加环境变量,使得该行显示:env GTK_THEME=Adwaita:light
Exec
Exec=env GTK_THEME=Adwaita:light codeblocks %F
- 通过执行以下命令为此目录构建 mimeinfo.cache 文件:
update-desktop-database ~/.local/share/applications
或者,这一切只需一步即可完成:
desktop-file-install --dir="$HOME/.local/share/applications" --rebuild-mime-info-cache --set-key=Exec --set-value='env GTK_THEME=Adwaita:light codeblocks %F' /usr/share/applications/codeblocks.desktop