如何在我的Linux系统下为每个人设置环境变量?
- 2024-10-12 10:28:00
- admin 原创
- 87
问题描述:
我可以设置适用于所有用户的通用设置吗?
解决方案 1:
就像/etc/profile
其他人提到的那样,一些 Linux 系统现在使用目录/etc/profile.d/
;其中的任何.sh
文件都将由 提供/etc/profile
。将自定义环境内容保存在这些文件中比直接编辑 稍微简洁一些/etc/profile
。
解决方案 2:
如果你的LinuxOS有这个文件:
/etc/environment
您可以使用它为所有用户永久设置环境变量。
摘自:http: //www.sysadmit.com/2016/04/linux-variables-de-entorno-permanentes.html
解决方案 3:
人 8 pam_env
人5 pam_env.conf
如果所有登录服务都使用PAM,并且所有登录服务都session required pam_env.so
在其各自的配置文件中,那么所有登录会话都会具有一些按照配置文件/etc/pam.d/*
中指定的方式设置的环境变量。pam_env
在大多数现代 Linux 发行版中,这些都是默认存在的——只需将您想要的全局环境变量添加到即可/etc/security/pam_env.conf
。
无论用户的 shell 是什么,这都可以工作,并且也适用于图形登录(如果 xdm/kdm/gdm/entrance/... 是这样设置的)。
解决方案 4:
令人惊讶的是,Unix 和 Linux 实际上没有设置全局环境变量的地方。您能做的最好的事情就是安排任何特定的 shell 进行特定于站点的初始化。
如果您将其放入 中/etc/profile
,那么大多数兼容 posix 的 shell 用户都可以使用。对于非关键用途来说,这可能“足够好”。
但是任何拥有csh
或tcsh
shell 的人都不会看到它,并且我不相信csh
有一个全局初始化文件。
解决方案 5:
bash 手册页中的一些有趣的摘录:
当 bash 作为交互式登录 shell 调用时,或者作为带有
--login
选项的非交互式 shell 调用时,它首先从文件 读取并执行命令/etc/profile
(如果该文件存在)。读取该文件后,它会按顺序查找~/.bash_profile
、
~/.bash_login
和~/.profile
,并从第一个存在且可读的文件中读取并执行命令。--noprofile
可以在启动 shell 时使用该选项来抑制此行为。...当
启动非登录 shell 的交互式 shell 时,如果存在和文件,bash 将从
/etc/bash.bashrc
和中读取并执行命令~/.bashrc
。可以使用--norc
选项来抑制此行为。file选项将强制 bash 从文件而不是和 中
--rcfile
读取并执行命令。/etc/bash.bashrc
`~/.bashrc`
因此,请查看/etc/profile
或/etc/bash.bashrc
,这些文件是全局设置的正确位置。在其中输入类似以下内容来设置环境变量:
export MY_VAR=xxx
解决方案 6:
在 Linux 内核下运行的每个进程都会获得从其父进程继承的、自己独有的环境。在这种情况下,父进程要么是 shell 本身(生成子 shell),要么是“登录”程序(在典型系统上)。
由于每个进程的环境都受到保护,因此无法向每个正在运行的进程“注入”环境变量,因此即使您修改了默认 shell .rc / profile,它也只有在每个进程退出并重新加载其启动设置后才会生效。
查看 /etc/ 以修改任何特定 shell 的默认启动变量。只需意识到用户可以(并且经常)在他们自己的设置中更改它们。
Unix 的设计目的是在一定限制内服从用户。
注意:Bash 不是您系统上的唯一shell。请仔细注意 /bin/sh 符号链接实际指向的内容。在许多系统上,这实际上可能是dash,它(默认情况下,没有特殊调用)在 POSIXLY 上是正确的。因此,您应该小心修改这两个默认值,否则以 /bin/sh 开头的脚本将不会继承您的全局默认值。同样,在编辑两者时,请小心避免使用只有bash才能理解的语法,即avoiding bashisms
。
解决方案 7:
使用 PAM 非常好。
# modify the display PAM
$ cat /etc/security/pam_env.conf
# BEFORE: $ export DISPLAY=:0.0 && python /var/tmp/myproject/click.py &
# AFTER : $ python $abc/click.py &
DISPLAY DEFAULT=${REMOTEHOST}:0.0 OVERRIDE=${DISPLAY}
abc DEFAULT=/var/tmp/myproject
- 2024年20款好用的项目管理软件推荐,项目管理提效的20个工具和技巧
- 2024年开源项目管理软件有哪些?推荐5款好用的项目管理工具
- 项目管理软件有哪些?推荐7款超好用的项目管理工具
- 项目管理软件哪个最好用?盘点推荐5款好用的项目管理工具
- 项目管理软件有哪些最好用?推荐6款好用的项目管理工具
- 项目管理软件有哪些,盘点推荐国内外超好用的7款项目管理工具
- 2024项目管理软件排行榜(10类常用的项目管理工具全推荐)
- 项目管理软件排行榜:2024年项目经理必备5款开源项目管理软件汇总
- 2024年常用的项目管理软件有哪些?推荐这10款国内外好用的项目管理工具
- 项目管理必备:盘点2024年13款好用的项目管理软件