远程登录时,不是ssh登陆:
 xrdp 可以修改并添加 /etc/xrdp/startwm.sh

代码:
#!/bin/sh

if [ -r /etc/default/locale ]; then
  . /etc/default/locale
  export LANG LANGUAGE
fi

.  /etc/profile

. /etc/X11/Xsession

转自http://hi.baidu.com/sujinsujin/item/f3fd3bed56a408ddeb34c9eb

/etc下:(bash.bashrc[Ubuntu]或bashrc[CentOS]);environment;profile
普通用户及root用户家目录下:.bashrc;(.profile[Ubuntu]或.bash_profile[CentOS])
环境变量配置文件
1、/etc/profile:在登录时,操作系统定制用户环境时使用的第一个文件,此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行。
2、/etc/environment:在登录时操作系统使用的第二个文件,系统在读取你自己的profile前,设置环境文件的环境变量。
3、~/.bash_profile: 在登录时用到的第三个文件是.bash_profile文件,每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行 一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件。/etc/bash.bashrc:为每一个运行bash shell的用户执行此文件,当bash shell被打开时,该文件被读取。
4、~/.bashrc:该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该该文件被读取。
几个文件的优先级:1>2>3
在 linux下,如果是bash环境,用户登录时读取设置文件的顺序是/etc/profile --> ~/.bash_profile --> ~/.bashrc --> /etc/bash.bashrc。注意在~/.bash_profile这一步,如果没有~/.bash_profile ,则默认读取~/.bash_login,如果没有~/.bash_login 才读取~/.profile。
根据发行版本的情况,有两个基本的 系统级配置文件:/etc/bash.bashrc和/etc/profile。这些配置文件包含两组不同的变量:shell变量和环境变量。前者只是在 特定的shell中固定(如bash),后者在不同shell中固定。shell变量是局部的,而环境变量是全局的。
注意:尽量避免修改root用户的环境变量配置文件,因为那样可能会造成潜在的危险。最好不要把当前路径”./”放到PATH里,这样可能会受到意想不到的攻击。
使用:
把设置的环境变量给所有用户使用:/etc/bashrc;/etc/profile
修改全局的环境变量在/etc/profile
修改某个用户的环境变量在/home/用户名/.bash_profile

相关命令:
1、echo显示环境变量
# echo $HOME
/root
2、export设置环境变量
$ export HELLO=”Hello!”
3、env显示所有环境变量
$ env
4、set显示所有本地定义的shell变量
$ set
5、unset清除环境变量
$ export TEST=”test”
$ env | grep TEST #此命令有输出,证明环境变量TEST已经存在了
TEST=test
$ unset TEST        #注意不是unset $TEST !!!
$ env | grep TEST #此命令无输出,证明环境变量TEST已经不存在了
6、readonly设置只读变量(变量不可以被修改或清除)
$ export TEST=”Test”
$ readonly TEST

让/etc/profile的修改立即生效:
1)$.  /etc/profile          注意:.和/etc之间有空格
2)$source  /etc/profile 
如果/etc/profile中配置的环境变量无法在root用户下使用,可以用sudo su - 来加载环境变量。
实践经验:
在/etc/profile下添加export PATH=$PATH:/sbin
重启后:
1)$ifconfig                    可以执行
2)$sudo su
#ifconfig                   不可以执行
3)$sudo su -
#ifconfig                    可以执行
4)$su
#ifconfig                    可以执行
5)$ sudo -H ifconfig       可以执行

常见的环境变量 
PATH      决定了shell将到哪些目录中寻找命令或程序
HOME      当前用户主目录
HISTSIZE    历史记录数
LOGNAME     当前用户的登录名 
HOSTNAME    指主机的名称
SHELL      前用户Shell类型 
LANGUGE     语言相关的环境变量,多语言可以修改此环境变量
MAIL      当前用户的邮件存放目录 
PS1       基本提示符,对于root用户是#,对于普通用户是$
PS2       附属提示符,默认是“>”
通过C程序来访问和设置环境变量 
对于C程序的用户来说,可以使用下列三个函数来设置或访问一个环境变量。 
getenv()访问一个环境变量。输入参数是需要访问的变量名字,返回值是一个字符串。如果所访问的环境变量不存在,则会返回NULL。
setenv()在程序里面设置某个环境变量的函数。
unsetenv()清除某个特定的环境变量的函数。
另外,还有一个指针变量environ,它指向的是包含所有的环境变量的一个列表。下面的程序可以打印出当前运行环境里面的所有环境变量:
#include <stdio.h>
extern char**environ;
int main ()
{
char**var;
for (var =environ;*var !=NULL;++var)
printf (”%s \n “,*var);
return 0;
}

 
 
分类: Linux

Ubuntu下环境变量的设置的更多相关文章

  1. Ubuntu Linux 环境变量PATH设置

    前俩天编译linux下rar解压软件的时候说找不到  /usr/local/linux 路径,在设定path变量的时候,忽然就想看看,path最原始的变量值是多少....(在环境变量文件中保存.... ...

  2. Ubuntu下环境变量设置

    [内容来自网络] 相应配置文件介绍: 1) /etc/profile :在登录时,操作系统定制用户环境使用的第一个文件,此文件为系统的每个用户设置环境信息,当用户第一次登录时,改文件被执行 2) /e ...

  3. 转 Ubuntu Linux 环境变量PATH设置

    Ubuntu Linux系统环境变量配置文件: /etc/profile : 在登录时,操作系统定制用户环境时使用的第一个文件 ,此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行. ...

  4. 搞定ubuntu下环境变量的配置

    Ubuntu Linux系统环境变量配置文件: /etc/profile : 在登录时,操作系统定制用户环境时使用的第一个文件 ,此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行. ...

  5. win下环境变量的设置

    Windows 和 linux 区别 一.查看所有环境变量的名称和值: Linux下:export Windows下:set 二.根据名称查该环境变量的值: Linux下:echo $环境变量名 比如 ...

  6. Ubuntu下环境变量该写进哪个文件里

    Linux中环境变量包括系统级和用户级,系统级的环境变量是每个登录到系统的用户都要读取的系统变量,而用户级的环境变量则是该用户使用系统时加载的环境变量. 所以管理环境变量的文件也分为系统级和用户级的. ...

  7. ubuntu下环境变量

    01:/etc/environment:是设置整个系统的环境: 02:/etc/profile:是设置所有用户的环境: 03:.bashrc :本地用户:

  8. linux下环境变量PS1设置

    PS1变量中提示符各项含义:   \d :代表日期,格式为weekday month date,例如:Wed Dec 12 \H :完整的主机名称.例如:hostname是debian.linux \ ...

  9. linux下环境变量PATH设置错误的补救

    本文转自: http://blog.clzg.cn/blog-614449-740527.html    之前不小心在/etc/profile中添加了错误的PATH变量,导致几乎所有的系统命令无法使用 ...

随机推荐

  1. Add Two Numbers ,使用链表参数

    # Definition for singly-linked list. class ListNode(object): def __init__(self, x): self.val = x sel ...

  2. ipconfig/all参数解析

    本人是在搭建虚拟机时经常需要用到ipconfig/all名称查看宿主机的配置,但是对于该命令下的一些设置经常弄混,所以就花了点时间研究了一下. 参考文献:https://www.cnblogs.com ...

  3. 力扣(LeetCode)13. 罗马数字转整数

    罗马数字包含以下七种字符: I, V, X, L,C,D 和 M. 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M 1000 例如, 罗马数字 2 写做 II ,即为两个并 ...

  4. 《剑指offer》第六十八题(树中两个结点的最低公共祖先)

    // 面试题68:树中两个结点的最低公共祖先 // 题目:输入两个树结点,求它们的最低公共祖先. #include <iostream> #include "Tree.h&quo ...

  5. Linux下HBase和Maven的环境搭建

    Maven环境部署如下: maven下载并进行环变量配置 export MAVEN_HOME=/home/hadoop/app/apache-maven-3.3.9export PATH=$MAVEN ...

  6. highchart柱状堆叠图动态数据请求

    $(function () { var options = { chart: { renderTo: 'indoor', type: 'column', }, title: { text: '室内问题 ...

  7. x1c 2017 安装mint18的坑——grub2

    折腾一天,死活安装不上.用U盘安装,能进入pe,但是安装时提示无法将grub2安装到/target/ 不论如何分区.如何修改BIOS 安全启动和 启动模式.都是这个问题. ubuntu16.04.3 ...

  8. QT信号槽详解

    1         QT信号槽详解 1.1  信号和槽的定义 信号是触发信号,例如按钮的点击触发一个clicked信号,槽是用来接收信号,并处理信号,相当于信号响应函数.一个信号可以关联多个槽函数,信 ...

  9. python中函数与函数式编程(二)

    首先要明白为什么要用到返回值,返回值的作用就是为了分情况来处理下面的程序(个人见解总结) 1.函数返回值 def test1(): pass def test2(): return 0 def tes ...

  10. 单细胞数据高级分析之消除细胞周期因素 | Removal of cell cycle effect

    The normalization method described above aims to reduce the effect of technical factors in scRNA-seq ...