zoukankan      html  css  js  c++  java
  • 深入分析解决Deepin 15环境变量修改问题,完成JAVA环境搭建

    最近使用deepin配置JAVA环境时发现不论是修改/etc/profile还是 ~/.profile多次尝试后均无效,不得其解,最后通过官方论坛看到大神对deepin环境配置的解释,以及寻找到相关解决方案。为了解决这个问题跟着了baidu走了不少弯路,过程中也学到不少东西,所以梳理出来,希望不仅能对deepin用户起到帮助而且还能了解对LInux的一些运行机制。

    从开机到登录Shell过程分析环境读取顺序

    • linux开机过程:
    BIOS/UEFI -> MBR/UEFI Executable -> Bootloader -> Kernel -> initramfs -> init

    init过程会涉及到各种服务及其配置文件,最后会读取/etc/rc.local里面用户自定义的脚本,但是里面如果有环境变量之类的是不起作用的,因为读取这个文件时环境变量的配置还没启动生效。

    • 登录Shell:

    登录Shell时涉及到环境变量文件读取的顺序这里分登录Shell和非登录Shell情况讨论:

    根据shell是登入shell还是非登入shell,所运行的启动脚本也会不一样,我们“su - ”是登入shell;“su ”是非登入shell

      登录Shell:

    ~/.bash_profile —> ~/.bash_login —> ~/.profile 按照顺序这三个文件

      非登录Shell:

    非登陆shell只会读取~/.bashrc配置文件。

    (图侵删,来自cndn用户Leshami,详解见参考链接)

    小结:如果直接打开终端一般是属于nologin shell没有读取到环境变量配置,因而导致环境变量“失效”

    其他解决方案(最简):

    讲了这么多,最后还是用这个方法最简单方便,在~/目录下新建.xsessionrc文件,然后像正常配置/etc/profile一样配置、重启即可在nologin shell情况下使用环境变量。

    具体原理受限于英语水平不太明白。具体链接:https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=636108

     参考资料:

    https://blog.csdn.net/leshami/article/details/77198412

    https://bbs.deepin.org/forum.php?mod=viewthread&tid=37049

    https://www.linuxidc.com/Linux/2012-11/74463.htm

  • 相关阅读:
    js过滤HTML标签以及 
    Sharepoint的web.config配置
    javascript 动态添加div等这样的标签包含一些元素
    SPMetal 日志导出Caml语句
    sitepage applicationPage 区别
    exchange部署的好处
    SPSiteDataQuery不完全使用手册
    WP7 开发(十二) WebBrowser控件
    WP7 开发(十一) Web Task
    WP7 开发(十四) ApplicationBar
  • 原文地址:https://www.cnblogs.com/liqiujiong/p/8769560.html
Copyright © 2011-2022 走看看