我想使用zsh
。root
我的普通用户oh-my-zsh
已经oh-my-zsh
克隆了,所以我需要做的就是将ZSH
环境变量设置为该目录。所以我把它放在我的 中/root/.pam_environment
:
ZSH=/home/madhead/oh-my-zsh
这是该文件中唯一的字符串。但是当我尝试以 root 身份登录时(完全重启后),变量未设置。我尝试了和sudo su
。sudo -iu root
以下是有关所用软件的一些信息:
# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 14.04.3 LTS
Release: 14.04
Codename: trusty
# zsh --version
zsh 5.0.2 (x86_64-pc-linux-gnu)
此外,相同的设置(/root/.pam_environment
)在我的装有 Arch Linux 的笔记本电脑上也能正常运行。
答案1
官方的文档说
...sudo 具有重置环境和设置安全路径的默认策略(此行为在 /etc/sudoers 中定义)。
和
...您可以通过在 /etc/sudoers 中添加一些明确的环境设置来设置 sudo 不重置某些环境变量。
就这么做
user@here:$ sudo su
root@here:$ visudo
并添加这一行:
Defaults env_keep += "ZSH"
要检查你的变量是否存在出口, 比须藤苏再次运行出口或者
printenv ZSH