您的位置:新葡亰496net > 电脑系统 > 基本配置,profile文件和环境变量

基本配置,profile文件和环境变量

发布时间:2019-11-24 07:19编辑:电脑系统浏览(67)

    索引:

    在Ubuntu 14.04 LTS中启动Eclipse报错:(Eclipse:15978): GLib-GIO-CRITICAL **: g_dbus_connection_get_unique_name: assertion 'G_IS_DBUS_CONNECTION (connection)' failed。

    设置 Linux 环境变量可以通过 export 实现,也可以通过修改几个文件来实现,有必要弄清楚这两种方法以及这几个文件的区别。

    /etc/profile

    操作系统在登录时使用的第二个文件是 /etc/profile 文件。

     

    商业开发实战总结--lm.solution

    出现错误原因:出现这个错误是因为环境变量配置出现了错误,虽然在安装JDK的时候在/etc/profile中配置了环境变量,但是并没有配置~/.profile。

    通过文件设置 Linux 环境变量

    首先是设置全局环境变量,对所有用户都会生效:

    • etc/profile: 此文件为系统的每个用户设置环境信息。当用户登录时,该文件被执行一次,并从 /etc/profile.d 目录的配置文件中搜集shell 的设置。一般用于设置所有用户使用的全局变量。
    • /etc/bashrc: 当 bash shell 被打开时,该文件被读取。也就是说,每次新打开一个终端 shell,该文件就会被读取。

    接着是与上述两个文件对应,但只对单个用户生效:

    • ~/.bash_profile 或 ~/.profile: 只对单个用户生效,当用户登录时该文件仅执行一次。用户可使用该文件添加自己使用的 shell 变量信息。另外在不同的LINUX操作系统下,这个文件可能是不同的,可能是 ~/.bash_profile, ~/.bash_login 或 ~/.profile 其中的一种或几种,如果存在几种的话,那么执行的顺序便是:~/.bash_profile、 ~/.bash_login、 ~/.profile。比如 Ubuntu 系统一般是 ~/.profile 文件。
    • ~/.bashrc: 只对单个用户生效,当登录以及每次打开新的 shell 时,该文件被读取。

     

    此外,修改 /etc/environment 这个文件也能实现环境变量的设置。/etc/environment 设置的也是全局变量,从文件本身的作用上来说, /etc/environment 设置的是整个系统的环境,而/etc/profile是设置所有用户的环境。有几点需注意:

    • 系统先读取 etc/profile 再读取 /etc/environment(还是反过来?)
    • /etc/environment 中不能包含命令,即直接通过 VAR="..." 的方式设置,不使用 export 。
    • 使用 source /etc/environment 可以使变量设置在当前窗口立即生效,需注销/重启之后,才能对每个新终端窗口都生效。

    .profile

    .profile 文件在主($HOME)目录中,并使您能够定制个人工作环境。因为 .profile 文件是隐藏的,所以请使用 ls -a 命令列出它。

    在 login 程序将 LOGNAME(登录名)和 HOME(登录目录)变量添加到环境中后,将会执行 $HOME/.profile 文件中的命令(如果此文件存在)。 .profile 文件包含覆盖 /etc/profile 文件中变量集的个人概要文件。 .profile 文件通常用于设置导出的环境变量和终端方式。可通过修改 .profile 文件来定制环境。

    Linux也提供了修改和查看环境变量的命令!下面通过几个实例来说明:
    1.echo         显示某个环境变量值 echo $PATH
    2.export     设置一个新的环境变量 export HELLO="hello" (可以无引号)
    3.env         显示所有环境变量
    4.set         显示本地定义的shell变量
    5.unset         清除环境变量 unset HELLO
    6.readonly     设置只读环境变量 readonly HELLO

    参看代码 GitHub:

           首先先说明一下/etc/profile ~/.profile  /etc/bashrc ~/.bashrc四者的区别:

    修改 Linux 环境变量实例

    以 Ubuntu 为例,修改 ~/.profile 文件:

    vim ~/.profile
    

    如果该文件存在,则在文件的最后看到如下代码,PATH 变量的值使用冒号(:)隔开的:

    1. # set PATH so it includes user's private bin if it exists
    2. if[-d "$HOME/bin"];then
    3. PATH="$HOME/bin:$PATH"
    4. fi

    在最后加上代码 PATH="$PATH:/usr/local/Hadoop/bin",注意等号(=)两边不要有空格,即:

    1. # set PATH so it includes user's private bin if it exists
    2. if[-d "$HOME/bin"];then
    3. PATH="$HOME/bin:$PATH"
    4. fi
    5. PATH="$PATH:/usr/local/hadoop/bin"

    因为这个文件是在用户登陆是才读取一次的,所以需要重启才会生效(修改 /etc/profile、/etc/environment 也是如此)。但可以使用命令 source ./.profile 使其立即生效。通过 echo $PATH 可以看到修改后的变量值:

    1. source ./.profile
    2. echo $PATH

    Linux环境变量

    一、按照生命周期来分,Linux 环境变量可以分为两类:
    1、永久的:需要用户修改相关的配置文件,变量永久生效。
    2、临时的:用户利用 export 命令,在当前终端下声明环境变量,关闭 shell 终端失效。

    二、按照作用域来分,Linux 环境变量可以分为:
    1、系统环境变量:系统环境变量对该系统中所有用户都有效。
    2、用户环境变量:顾名思义,这种类型的环境变量只对特定的用户有效。

     

    jdk.txt

           /etc/profile是为系统的每个用户准备的,如果是要对本机的每个用户设置,则可以统一在/etc/profile中设置。

    通过 Shell 命令 export 修改 Linux 环境变量

    另一种修改 Linux 环境变量的方式就是通过 Shell 命令 export,注意变量名不要有美元号 $,赋值语句中才需要有:

    1. export PATH=$PATH:/usr/local/hadoop/bin

    export 方式只对当前终端 Shell 有效: 使用 export 设置的变量,只对当前终端 Shell 有效,也就是说如果新打开一个终端,那这个 export 设置的变量在新终端中使无法读取到的。适合设置一些临时变量。

    根据变量所需,选择设置方式,例如 JAVA_HOME 这类变量,就适合将其设为为全局变量,可在 /etc/environment 中设置。

    本文永久更新链接地址:http://www.linuxidc.com/Linux/2015-02/113488.htm

    新葡亰496net 1

    简单设置环境变量的方法

    个人在工作学习过程中最常用的就是在 /etc/profile 文件中添加变量,对所有用户生效,并且是永久的。
    用vim在文件 /etc/profile 文件中增加变量,该变量将会对 Linux 下所有用户有效,并且是“永久的”。修改文件后要想马上生效还要运行 source /etc/profile 不然只能在下次重新登录后才能生效。

    Linux中常见的环境变量有:

    一、Linux (DeepinOS) 环境

           ~/.profile是单个用户的设置文件。

    1.PATH:指定命令的搜索路径
    2.HOME:指定用户的主工作目录(即用户登陆到Linux系统中时,默认的目录)
    3.HISTSIZE:指保存历史命令记录的条数。
    4.LOGNAME:指当前用户的登录名。
    5.HOSTNAME:指主机的名称,许多应用程序如果要用到主机名的话,通常是从这个环境变量中来取得的。
    6.SHELL:指当前用户用的是哪种Shell。
    7.LANG/LANGUGE:和语言相关的环境变量,使用多种语言的用户可以修改此环境变量。
    8.MAIL:指当前用户的邮件存放目录。
    9.PS1:命令基本提示符,对于root用户是#,对于普通用户是$。
    10.PS2:附属提示符,默认是“>”。
        备注:可以通过修改此环境变量来修改当前的命令符,比如下列命令会将提示符修改成字符串“Hello,My        NewPrompt ”。
    # PS1="Hello,My NewPrompt"
    注意:上述变量的名字并不固定,如HOSTNAME在某些Linux系统中可能设置成HOST

      1.官网下载

           /etc/bashrc是对所有的bash shell用户的设置文件

     

    1 jdk-8u112-linux-x64.tar.gz
    

           ~/.bashrc是单个用户的系统设置文件。

     

      2.创建目录

          在这个错误中,就是在利用su指令从普通用户切换到root时,root使用的环境变量是普通用户的~/.profile中的环境变量。而这个环境变量在安装JDK时并没有进行设置。

     

    1 mkdir -p ~/dev/Java
    

    解决方法:

    一、环境变量文件介绍

      3.提取文件

        直接在普通用户条件下启动eclipse,或者不要使用su命令进入root,而使用su -指令进入root。

    转自:

    1 tar -zxvf jdk-8u112-linux-x64.tar.gz -C ~/dev/Java
    

        su -中的"-”参数指示 su 开启一个登陆Shell(login shell)而不是非登陆Shell(non-login shell)。

    Linux中环境变量包括系统级和用户级,系统级的环境变量是每个登录到系统的用户都要读取的系统变量,而用户级的环境变量则是该用户使用系统时加载的环境变量。
    所以管理环境变量的文件也分为系统级和用户级的,下面贴一个网上找到的讲的比较明白的文件介绍(略作修改)[1]:

      4.打开.profile文件

     

    1.系统级:
    (1)/etc/profile:该文件是用户登录时,操作系统定制用户环境时使用的第一个文件,应用于登录到系统的每一个用户。该文件一般是调用/etc/bash.bashrc文件。
    /etc/bash.bashrc:系统级的bashrc文件。
    (2)/etc/environment:在登录时操作系统使用的第二个文件,系统在读取你自己的profile前,设置环境文件的环境变量。

    1 vim ~/.profile
    

    Ubuntu 15.04中使用Eclipse 4.4、Java 8以及WTP  http://www.linuxidc.com/Linux/2016-04/129821.htm

    2.用户级(这些文件处于家目录下):
    (1)~/.profile:每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件。新葡亰496net,基本配置,profile文件和环境变量。这里是推荐放置个人设置的地方
    (2)~/.bashrc:该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该该文件被读取。不推荐放到这儿,因为每开一个shell,这个文件会读取一次,效率肯定有影响。
    ~/.bash_profile or ~./bash_login:这里没有引用作者的,下面会提到
    ~/.pam_environment:用户级的环境变量设置文件,没有做测试,不知道管不管用。

      5.在.profile文件追加环境变量

    Ubuntu 16.04安装Eclipse http://www.linuxidc.com/Linux/2016-07/133482.htm

    通过上面的文件介绍,就能明白我们需要设置环境变量的时候,需要修改什么文件,要想对所有的用户生效,那就需要设置系统级的环境变量。反之,需要修改用户级的文件(最好是修改.profile文件,理由上面已经讲了)。

    1 export JAVA_HOME=$HOME/dev/Java/jdk1.8.0_112
    2 export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
    3 export PATH=$JAVA_HOME/bin:$PATH
    

    Ubuntu 14.04 LTS安装Java 8和Eclipse 4.4  http://www.linuxidc.com/Linux/2014-11/109217.htm

    另外,我使用的是Ubuntu10.04,之前在查找资料设置用户级环境变量的时候,有资料说要修改~.bash_profile文件,但是在ubuntu10.04系统中是没有该文件。经查找,在ubuntu官网[2]上找到了这个文件的说明:

      6.生效环境变量

    Hadoop Eclipse 插件编译安装1.2.0 http://www.linuxidc.com/Linux/2013-07/87428.htm

    ~/.bash_profile or ~./bash_login - If one of these file exist, bash executes it rather then "~/.profile" when it is started as a login shell. (Bash will prefer "~/.bash_profile" to "~/.bash_login"). However, these files won't influence a graphical session by default.

    1 source ~/.profile
    

    Hadoop在Eclipse中的插件编译 http://www.linuxidc.com/Linux/2013-04/83295.htm

    意思应该是说当这个文件存在时,在登录shell时会读取./bash_profile文件,而不是.profile文件。我认为该文件实现的目的 跟.profile文件是一样的,当查找的资料中需要你修改.bash_profile文件,但却你没有该文件的时候,也可以修改.profile来完成 实现。

      7.移除多余

    Hadoop 1.2.1编译Eclipse插件 http://www.linuxidc.com/Linux/2013-10/91666.htm

    [1]

    1 sudo rm -rf /etc/profile.d/java-awt-font-gasp.sh
    

    如何在Ubuntu 14.04中安装最新版Eclipse  http://www.linuxidc.com/Linux/2014-08/105090.htm

    [2]

      8.重启Linux

    Eclipse 的详细介绍:请点这里
    Eclipse 的下载地址:请点这里

    1 sudo shutdown -r now
    

    本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-11/136995.htm

      9.JDK 版本显示

    新葡亰496net 2

    1 java -version
    
    1 java version "1.8.0_112"
    2 Java(TM) SE Runtime Environment (build 1.8.0_112-b15)
    3 Java HotSpot(TM) 64-Bit Server VM (build 25.112-b15, mixed mode)
    

     

     

     

     

                                             蒙

                                        2018-06-06 10:26 周三

     

    本文由新葡亰496net发布于电脑系统,转载请注明出处:基本配置,profile文件和环境变量

    关键词: