【问题标题】:How to launch gnome-terminal from command line and duplicate environment variables?如何从命令行启动 gnome-terminal 并复制环境变量?
【发布时间】:2010-02-27 00:06:34
【问题描述】:

有没有办法从命令行启动 gnome-terminal(即,使用 /usr/bin/gnome-terminal 命令)并让新终端继承终端的环境变量和其他设置变量,命令已运行?场景是这样的:

  1. 打开终端
  2. 设置一些变量
  3. 设置一些环境变量
  4. 在新终端中启动需要当前终端的变量和环境变量的可执行文件

想法?

【问题讨论】:

  • 这确实是一个 shell 问题,而不是 gnome 终端问题。你用的是什么外壳?
  • 这一切都发生在一个 c shell 脚本中(我猜你可以把它作为步骤 1.5 - 执行一个执行以下操作的 c shell 脚本)

标签: gnome-terminal


【解决方案1】:

这原来是一个 gnome 终端问题。启动 gnome-terminal 时,指定 --disable-factory 选项会提供以下指令:

“不要在激活名称服务器上注册,也不要重复使用已经运行的 GNOME 终端进程”(gnome-terminal 手册页

为了继承前一个 shell 的环境,需要指定这个选项。

【讨论】:

    【解决方案2】:

    如果您希望子进程继承它们,则需要对另一个 shell 中的变量使用 export

    【讨论】:

    • 这是正确的,除了必须使用 setenv 而不是 export 因为它是一个 c shell。但是,我仍然遇到问题。如果我在 tsch 中设置环境变量然后切换到 csh,它工作正常。但是,如果我在 csh 中,设置环境变量并切换到 tcsh(在新的 gnome 终端中),则环境变量不会传播到 tsch。有什么想法吗?
    • 不幸的是,C-shell 并不是我真正的强项。我用sh 衍生品做得更好。
    猜你喜欢
    • 2012-12-30
    • 2014-06-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-29
    相关资源
    最近更新 更多