我正在尝试设置 Latex,其中需要添加到$PATH
。我读到的一些东西(可能是在这里)说修改/etc/environment
比添加更好.profile
(我想是因为它改变了所有用户的情况?)。
我已经这样做了,然后当我运行 时. /etc/environment
,在该终端会话的其余部分,一切都运行正常。但是,当我打开一个新终端时,诸如 之类的命令latex
不再起作用。重新启动计算机也无法使更改/etc/environment
在 shell 会话中生效。
我该怎么做才能使这些变化在整个系统内发生?
更新:我最终通过评论中提到的 PPA 进行了安装,安装了 Tex Live 2016(并设置了环境变量),没有任何问题。
答案1
您似乎在问两个不同的问题。第一个问题与更改系统范围内的变量有关,另一个问题与使 LaTeX 工作有关,因此以下是这两个问题的答案:
更改系统范围的环境变量
作为描述在这里/etc/profile.d/
您可以添加一个包含该变量的文件PATH
:
export PATH=$PATH:<your particular latex path>
调用它/etc/profile.d/latex-path.sh
并且将被您登录的任何 shell 所获取。
如果你只想为你的用户更改PATH
变量,首选方法是使用~/.profile
同一行编辑
轻松使用 LaTeX
LaTeX 包可以从 Universe 存储库中安装,如下所示描述在这里无需更改PATH
变量。请确保您已启用 Universe 存储库并输入:
sudo apt update
sudo apt install texlive
或者如果你喜欢完整的发行版(这将安装更多的软件包,所以去喝杯咖啡吧):
sudo apt install texlive-full
答案2
/etc/environment
pam_env
由PAM 模块创建和维护,而不是由您的 shell 创建和维护(因此您不应该这样做)。此文件由典型的登录程序读取。因此您需要以通常的方式注销/登录才能看到更改(假设您之后source
不会从某处进行修改)。PATH
在我的系统上,它被读取:
% grep -l '^[^#].*pam_env' /etc/pam.d/*
/etc/pam.d/atd
/etc/pam.d/cron
/etc/pam.d/lightdm
/etc/pam.d/lightdm-autologin
/etc/pam.d/lightdm-greeter
/etc/pam.d/login
/etc/pam.d/polkit-1
/etc/pam.d/sshd
/etc/pam.d/su
/etc/pam.d/sudo
如果即使重新启动计算机后仍未将其设置为准确的声明值:
你可能犯了一些语法错误,请注意声明语法应该是
KEY=VALUE
(每行),例如PATH=/foo/bar:/spam/egg
您正在覆盖
PATH
后续内容,例如从 shell 会话初始化文件