0

从 desctop 运行 sublime 时,它​​看不到我的 PERL5LIB 环境变量。从终端运行它时 - 一切正常。我在 .bashrc 和 .bash_profile 中设置了我的变量。

import os
>>> os.environ['SHELL']
'/bin/bash'
>>> os.environ['PERL5LIB']
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "./os.py", line 676, in __getitem__
KeyError: 'PERL5LIB'

这会给 linting 和构建系统带来麻烦 - 因为 perl 看不到库,所以我无法链接和构建。

如何修复环境变量?

4

1 回答 1

2

坏消息

Ubuntu 桌面会话不再受 .profile 影响。此外,如果 .bash_profile 或 .bash_login 存在,bash 不会解析 .profile。

您可以解决:

使用环境变量启动桌面应用程序

您可以通过编辑应用程序的 .desktop 文件将环境变量添加到应用程序。例如,要使用环境变量 APPMENU_DISPLAY_BOTH=1 运行“digiKam”,找到相应的 digikam.desktop 文件并通过 env 命令将变量的设置添加到条目“Exec”:

Exec=env APPMENU_DISPLAY_BOTH=1 digikam -caption "%c" %i

或做小脚本:

#!/bin/bash
source ~/.bashrc
/opt/sublime_text/sublime_text
于 2015-03-09T11:59:43.113 回答