系统范围的别名

系统范围的别名

我在 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 变量、制作包装脚本等。

为代码块添加自定义条目的三个步骤:

  1. 将提供的系统桌面入口文件复制/usr/share/applications/codeblocks.desktop到该目录~/.local/share/applications
  2. 编辑,在键后~/.local/share/applications/codeblocks.desktop添加环境变量,使得该行显示:env GTK_THEME=Adwaita:lightExec
Exec=env GTK_THEME=Adwaita:light codeblocks %F
  1. 通过执行以下命令为此目录构建 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

相关内容