从桌面环境(Alt+F2)或窗口管理器启动程序时 Shell 别名?

从桌面环境(Alt+F2)或窗口管理器启动程序时 Shell 别名?

我对 X 如何运行其程序感到十分困惑。据我所知,桌面环境 (Gnome/XFCE/i3) 运行的程序的大部分环境 (传统上) 是在/etc/X11/xinit/Xinitrc和其他文件中设置的,例如/etc/X11/Xsession

如果我想让 X 的路径变量能够访问我的$HOME/bin,我只需在 中输入相应的命令即可。当我想从 运行可执行文件时,/etc/X11/Xinitrc这似乎可以在 i3 (dmenu)、gnome ( Alt+ ) 等下工作。F2$HOME/bin

但是,我无法授予它访问我创建的别名的权限。我无法添加类似

alias ab='firefox'

然后xinitrc期望使用Alt+启动它。也许这与+启动程序F2的方式有关。我有什么办法可以实现这一点吗?AltF2

答案1

别名是 bash(或您正在使用的任何 shell)的功能,与图形环境无关。您的 DE 不了解您的别名,也无法访问它。

这基本上可以归结为 shell(例如 bash、zsh、sh 或其他)与图形shell(例如 GNOME shell)。后者处理 GUI 中的运行命令,尽管名称如此,但它与您在终端中使用的命令行 shell 以及定义别名的命令行 shell 没有任何关系。

因此,如果您想在图形 shell 中拥有类似别名的功能,则应使用链接。例如,您可以在目录中创建~/bin具有适当名称的链接,指向要调用的可执行文件:

ln -s $(which firefox) ~/bin/ab

现在,您可以通过在文本框中firefox写入来运行。abAltF2

相关内容