Path Ubuntu服务器中的系统用户未搜索正确的实时路径

Path Ubuntu服务器中的系统用户未搜索正确的实时路径,path,latex,ubuntu-14.04,Path,Latex,Ubuntu 14.04,简短问题:我的系统用户(名称sharelatex)不在手动安装的TexLive中搜索/usr/local/TexLive,而是在/usr/share/TexLive中搜索(我不知道为什么这里有这个文件夹,我没有从Ubuntu repo安装TexLive)。我的另一个普通用户和root用户可以在/usr/local/texlive中很好地搜索。如何强制sharelatex用户在/usr/local/texlive中搜索?谢谢 详细信息:我正在尝试将sharelatex安装到我的Ubuntu服务器上

简短问题:我的系统用户(名称
sharelatex
)不在手动安装的TexLive中搜索
/usr/local/TexLive
,而是在
/usr/share/TexLive
中搜索(我不知道为什么这里有这个文件夹,我没有从Ubuntu repo安装TexLive)。我的另一个普通用户和root用户可以在
/usr/local/texlive
中很好地搜索。如何强制
sharelatex
用户在
/usr/local/texlive
中搜索?谢谢

详细信息:我正在尝试将sharelatex安装到我的Ubuntu服务器上。 我已使用以下方式手动安装TexLive:

wget

tar-xvf安装-tl-unx.tar.gz

cd安装tl-*

sudo./install tl

安装时,我创建了一个名为
sharelatex
的系统用户,并通过以下两个命令将其添加到组
sharelatex

sudo adduser--system--home/var/www/sharelatex--no create home--group sharelatex

sudo chown-R sharelatex:sharelatex/var/www/sharelatex

当我以root用户或普通用户身份登录时,命令的输出

哪种乳胶

/usr/local/texlive/2015/bin/x86_64-linux/latex

但是,当我尝试运行与
sharelatex
user相同的命令时:

sudo-u共享哪种乳胶

输出是

/usr/垃圾箱/乳胶


我还认为这是$PATH与系统用户
sharelatex
之间的问题。即使我尝试将我的TexLive目录放到
/etc/environment
,我的
sharelatex
用户仍然找不到它。但是,在仔细查看
sharelatex
服务文件后,我发现
sharelatex
的路径似乎在
sharelatex
执行latex命令时再次设置。以下是如何修复它:

步骤1。搜索您的upstart文件
sharelatex SERVICE.conf
,其中
SERVICE
应替换为
web
chat
clsi
,。。。完整列表如下:

  • sharelatex chat.conf
  • sharelatex clsi.conf
  • sharelatexdocstore.conf
  • sharelatex文档更新程序.conf
  • sharelatex文件存储.conf
  • sharelatex real time.conf
  • sharelatex spelling.conf
  • sharelatex标签.conf
  • sharelatex模板.conf
  • sharelatex track changes.conf
  • ShareLaTexWeb.conf
如果您遵循sharelatex github的安装手册,这些文件可能位于
/etc/init

步骤2。在每个文件中,您将看到以下行:

LATEX_PATH=/usr/local/texlive/2015/bin/x86_64-linux

此行将LATEX_PATH变量设置为右TexLive。在文件的结尾,您将看到执行TexLive命令的行:

exec sudo-u$USER-g$GROUP env SHARELATEX\u CONFIG=$SHARELATEX\u CONFIG NODE\u env=生产路径=$PATH:$LATEX\u PATH$NODE app.js>>/var/log/SHARELATEX/$SERVICE.log 2>&1

您需要做什么来交换
$PATH:$LATEX\u PATH
成为
PATH=$LATEX\u PATH:$PATH
。通过执行此操作,将首先搜索右侧TexLive的目录

对上面列出的所有
sharelatex SERVICE.conf
进行此更改


编辑完所有这些文件后,您可能希望重新启动所有这些服务(搜索“重新启动upstart服务”),或者只需重新启动计算机。

投票关闭主题。重新询问SuperUser并提及
$PATH
我已经搜索过这个$PATH问题,甚至尝试将TexLive目录添加到
/etc/environment
中,但没有成功。然而,我已经找到了如何修复它的答案如下!我知道SuperUser中有人问过$PATH问题,但我在那里找到的所有答案都不适用于我。很抱歉我离题了。是否有必要将此问题转移给超级用户,因为我认为这可能会让其他一些用户受益。您是否将
/usr/local/bin
放在
/etc/environment
中的
路径定义中?您没有问如何更改
sharelatex
服务;您在
/usr/bin
之前询问了如何让用户在
/usr/local/bin
中查找latex。