给 Systemd service配置环境变量
事件起因,新加了个vncserver服务需要链接某个共享库,这个共享库放在自定义的库路径中,需要在服务启动前设置LD_LIBRARY_PATH环境变量。
把export LD_LIBRARY_PATH加到了 /etc/profile.d/中,直接在终端上运行vncserver是可以运行的。
但是运行systemd vncserver服务提示找不到库,所以有疑问,systemd需要如何配置所需的环境变量。
在网上翻了一下文档,总结如下:
1、/etc/profile或者/etc/security/limit.d这些文件中配置的环境变量仅对通过pam登录的用户生效,而systemd是不读这些配置的,所以这就造成登录到终端时查看环境变量和手动启动应用都一切正常,但是systemd无法正常启动应用
2、如果环境变量只有某个服务使用,可以在服务里用 Environment 或 EnvironmentFile来单独为该服务的进程设置环境变量。
参考:http://www.jinbuguo.com/systemd/systemd.exec.html#%E7%8E%AF%E5%A2%83%E5%8F%98%E9%87%8F
3、如果需要给systemd配置全局的默认参数,全局的配置在/etc/systemd/system.conf和/etc/systemd/user.conf中。同时还会加载两个配置文件对应的目录中所有的.conf配置文件/etc/systemd/system.conf.d/.conf和/etc/systemd/user.conf.d/.conf,一般的服务单元使用system.conf即可。加载优先级system.conf最低,所以system.conf.d目录中的配置会覆盖system.conf的配置。
因为全局环境变量是设置的systemd(pid=1)进程的,而所有的服务进程都是该systemd的子进程(或孙子等),所以对所有服务生效。
具体可以参考:
man systemd-system.conf
http://www.jinbuguo.com/systemd/systemd-system.conf.html
4、目前我已知的是更改system.conf配置,需要重启系统才能生效,还没找到如何重新加载此配置
5、systemd设置环境变量不会在字符串内部进行变量展开(也就是"$"没有特殊含义),这个在第2点的链接里有详细说明;
文章参考:
https://blog.csdn.net/lizao2/article/details/81030380
给 Systemd service配置环境变量相关推荐
- centos 7.x systemd service 配置方法整理
一.存放路径 /etc/systemd/system 二.service配置整理 2.1 zookeeper.service [Unit] Description=ZooKeeper Service ...
- Linux中设置开机启动执行命令和普通用户配置环境变量开机启动生效
记录:343 场景:在CentOS 7.9操作系统上,开机启动就执行自定义的命令,配置rc.local文件达到需求:在普通用户中配置环境变量开机启动生效,使用profile实现. 版本: 操作系统:C ...
- gz文件解压命令 linux_linux常用命令和文件上传(FZ)、解压、配置环境变量(JDK)
第141次(Linux) 学习主题:Linux 学习目标: 掌握Linux常用命令 一.Linux常用命令 1-cd命令 change directory – 切换目录 特殊目录符号 :当前目录 –' ...
- vue 和 ssr+nuxt.js 配置环境变量以及pm2进行服务部署
前言 vue-ssr+nuxt.js开发的跨境电商的配置的项目环境变量. nuxt.js配置环境变量 第一步:安装cross-env插件 npm install cross-env --save 第二 ...
- VMware虚拟机配置环境变量及MySQL
配置环境变量及MySQL 1.MobaXterm远程连接虚拟机 2.配置环境变量 3.MySQL配置 1安装包上传 2安装依赖包 3卸载冲突包 4安装mysql 5修改配置文件 6修改初始密码 7再次 ...
- 安装mysql 配置环境变量
1 下载mysql 2 安装mysql 3 配置环境变量 打开我的电脑->属性->高级->环境变量,在系统变量里选择PATH,在其后面添加: 你的mysql bin文件夹的路径 如 ...
- Linux——MySQL安装及配置环境变量
Linux--MySQL安装及配置环境变量 1.安装包准备: 2.在虚拟机查询主机IP: 3.运行Xftp,新建一个会话,命名为MySQL安装: 4.新建一个会话,命名为MySQL安装: 5.把安装包 ...
- java配置环境变量path(JAVA配置环境变量失败)
配置java环境变量path怎么设置? 只需要在path中增加%JAVA_HOME%\bin; 即可.完整的JDK安装及环境变量配置如下: 安装JDK 选择安装目录 安装过程中会出现两次 安装提示 . ...
- 安装sql serve2016+JDK配置环境变量+解决KB2919355报错最全教程
一.下载 安装网址:https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 二.安装 1.点击安装程序 image.png 2. ...
最新文章
- 关于Java抽象类,接口与实现接口及派生类继承基类
- linux mysql插入数据乱码_解决Linux下Tomcat向MySQL插入数据中文乱码问题
- 联发科天玑800适配鸿蒙系统,联发科天玑800什么水平
- mqtt实例 php_php搭建MQtt协议服务
- 科大讯飞输入法解锁高效语音输入
- 【vue】---动态路由传值
- [沫沫金原创]Sql中跨库访问和同库跨用户访问区别
- 网站搭建 (第03天) 分页功能
- matlab安装软件 Matlab视频教程李大勇 MATLAB程序开发入门课程 MATLAB神经网络30个案例分析及源程序
- 曼切斯特编码波特率和比特率的关系
- python语言的单行注释以单引号开头_知到智慧树大数据分析的python基础(山东联盟)(1)答案章节期末答案...
- java最长公共子串_查找字符串最长公共子串
- 油猴脚本使用方法与管理插件方法+开发插件与安装插件的方法
- 幸运大转盘抽奖逻辑实现
- java 调用 yed 绘制 流程图_用 yEd Graph Editor 绘制流程图(2)
- Centos7.5安装Chrome浏览器
- 国务院发文,完善身份认证、电子印章等应用,加强数字政府建设
- java流程图中平行四边形代表什么_程序流程图中通常用平行四边形表示分支结构...
- 在Windows设置里改不了默认浏览器
- 【小学数学出题软件】家长老师必备!训练小孩数学计算能力,可直接生成word打印出题!