如何将env变量传递给GNOME

时间:2012-01-14 13:41:50

标签: environment-variables wrapper symlink gnome executable-path

我想用透明包装器(带记录器)替换一些实用程序(如telnet)。 起初我使用的是别名,它在命令行中工作得很好,但是gnome不理解shell别名,所以当人们将实用程序作为gnome-terminal配置文件的shell启动时,它将运行实际的实用程序而不是包装器。

然后我尝试添加符号链接的新文件夹,并在〜/ .bashrc中将它添加到PATH(安全性不是一个很大的问题加上它只是这些符号链接的特殊文件夹),但它们仍然运行原始(我猜gnome不运行.bashrc,因为它可以从命令行运行)。设置路径需要的任何想法?

4 个答案:

答案 0 :(得分:1)

也许更新替代品符合您的需求?

答案 1 :(得分:0)

我发现了两种方法可以像我想的那样工作(为gnome env采购脚本)。

首先把它放在$ {HOME} / .gnomerc中(但是我找到了一些地方说你应该手动执行gnome会话以及其他没有(没有它它似乎工作正常)而且我害怕打破登录。)

将它放在〜/ .profile中似乎有效,所以我只是

echo 'PATH=~/.symlink_dir/:${PATH}' > ~/.profile

(请注意,如果存在〜/ .bash_profile,bash会忽略这一点,因此您可能需要手动从〜/ .bash_profile中获取它,以防万一

echo 'source ~/.profile' >> ~/.bash_profile)。

答案 2 :(得分:-1)

如果您真的想在整个过程中使用替换实用程序,可以在/usr/bin/中(或在适当的任何位置)将符号链接添加到替换中,并将原件移至/usr/bin/originals/(或任何位置)。

如果你这样做,你最好确保你的包装纸坚如磐石。根据您要更换的内容,错误可能会阻止启动,这通常是不受欢迎的。

答案 3 :(得分:-1)

可能不是你问的问题,但你是否尝试过从菜单编辑器中更改启动器的命令。

如果您使用的是Gnome 3,则必须下载alacarte包。