root的路径问题
Tofloor
poster avatar
186******39
deepin
2018-01-23 23:13
Author
有没有一个地方,可以让root和当前用户添加自己的路径到当前路径里?
我以为是/etc/environment,在里面这样设置的
export PATH=$PATH:/home/idn-lee/.config/composer/vendor/bin
在自己的用户下source了下,美滋滋。
之后重启,结果卡在启动界面了,简直被吓屎,然后tty2发现,路径真的被设置成$PATH:/home/idn-lee/.config/composer/vendor/bin,一个字没改……
很疑惑为什么他不解析$PATH呢?

搜索论坛发现可以更改/etc/profile,然后改了以后发现root用户压根也不用这个配置。难道我只能在用户各自的.bashrc中分别设置吗?


Reply Favorite View the author
All Replies
1 / 2
To page
avatar
justforlxz
deepin
2018-01-23 23:27
#1
/etc/environment文件不需要使用export。

格式为:

  1. PATH=$PATH:/home/idn-lee/.config/composer/vendor/bin
Copy the Code
Reply View the author
avatar
wtz
deepin
2018-01-24 00:34
#2
https://bbs.deepin.org/post/152263
/etc/environment文件不需要使用export。

格式为:

很有意思,发现不管有没有export,都会导致lightdm无法启动,并且在TTY2登录的时候会出现找不到“[”和“id”命令的问题。
查了一下Debian Wiki,才发现不是所有程序都会自动扩展字符串。所以正确的做法是修改 /etc/profile。
Reply View the author
avatar
186******39
deepin
2018-01-24 00:45
#3
https://bbs.deepin.org/post/152263
很有意思,发现不管有没有export,都会导致lightdm无法启动,并且在TTY2登录的时候会出现找不到“[”和“ ...

没错,他不会解释$PATH的。
但是添加到/etc/profile里面,root用户也是不管的
Reply View the author
avatar
186******39
deepin
2018-01-24 00:47
#4
https://bbs.deepin.org/post/152263
/etc/environment文件不需要使用export。

格式为:

斑竹大人,这些小方面很让人崩溃啊。有的看网上教程可以,有的是deepin单独配置的,但没有什么比较全面的说明性文档介绍干什么事需要怎么做。强烈要求有这么个人专门干这事啊,我等小白实在无能……
Reply View the author
avatar
wtz
deepin
2018-01-24 00:59
#5
https://bbs.deepin.org/post/152263
斑竹大人,这些小方面很让人崩溃啊。有的看网上教程可以,有的是deepin单独配置的,但没有什么比较全面的 ...

既然你需要做的事情与root有关,那就不是普通用户应当涉及的领域。因此最好通过自己钻研来解决问题,而不是因为这些是“小方面”就把问题推给别人。
Linux提供了无限可能,前提是你愿意投入精力来学习。
Reply View the author
avatar
186******39
deepin
2018-01-24 01:06
#6
https://bbs.deepin.org/post/152263
既然你需要做的事情与root有关,那就不是普通用户应当涉及的领域。因此最好通过自己钻研来解决问题,而不 ...

作为一个操作系统,自己的文档全面了,用的人也会多吧?
Ubuntu的文档就很不错,可deepin和Ubuntu还是有差别的
要是Deepin的受众只是专业用户那就当我没来过吧……
Reply View the author
avatar
justforlxz
deepin
2018-01-24 01:21
#7
https://bbs.deepin.org/post/152263
斑竹大人,这些小方面很让人崩溃啊。有的看网上教程可以,有的是deepin单独配置的,但没有什么比较全面的 ...

相信我,我也是一直被坑的。   我现在只写.xprofile,最起码只影响一个用户的。
Reply View the author
avatar
duanyao
deepin
2018-01-24 02:33
#8
我很奇怪你没提到 ~/.profile ?
另外 /etc/profile 是对的,你怎么看出对 root 用户不生效的?把你改后的发出来看看。
Reply View the author
avatar
wtz
deepin
2018-01-24 04:23
#9
https://bbs.deepin.org/post/152263
作为一个操作系统,自己的文档全面了,用的人也会多吧?
Ubuntu的文档就很不错,可deepin和Ubuntu还是有 ...

Deepin的受众不是专业用户。
折腾Deepin的受众需要是专业用户,或者是有志成为专业用户的用户。
Reply View the author
avatar
186******39
deepin
2018-01-24 16:07
#10
https://bbs.deepin.org/post/152263
我很奇怪你没提到 ~/.profile ?
另外 /etc/profile 是对的,你怎么看出对 root 用户不生效的?把你改后的 ...

你看我的截图

Reply View the author
avatar
186******39
deepin
2018-01-24 16:11
#11
https://bbs.deepin.org/post/152263
Deepin的受众不是专业用户。
折腾Deepin的受众需要是专业用户,或者是有志成为专业用户的用户。 ...

所以需要对不是特别懂,又想尝试下的人做点事情呀
相信我,纯粹电脑白痴不会有人想装linux的,都是想折腾下的
但这里面也有我这样,折腾的不精通的啊,求拥抱,求不推开
Reply View the author
avatar
186******39
deepin
2018-01-24 16:16
#12
https://bbs.deepin.org/post/152263
相信我,我也是一直被坑的。   我现在只写.xprofile,最起码只影响一个用户的。 ...

是啊,都分开在.bashrc里面也是可以设置的
我是想知道,就没有个地方可以只设置一次,所有用户都生效吗?
Reply View the author
avatar
justforlxz
deepin
2018-01-24 17:14
#13
https://bbs.deepin.org/post/152263
是啊,都分开在.bashrc里面也是可以设置的
我是想知道,就没有个地方可以只设置一次,所有用户都生效吗? ...

系统级有俩位置可以设置,一个是在/etc/profile和/etc/profile.d/里,还有就是/etc/environment,系统级可以保证全部用户都使用的有。但是你要保证自己写对了。
Reply View the author
avatar
duanyao
deepin
2018-01-24 18:56
#14

你到底改没改 /etc/profile ?还是只创建了 /etc/profile.d/jdk.sh ?
不管怎么说,sudo su 和直接以 root 登录还是不一样的: https://askubuntu.com/questions/ ... or-non-login-shells
你改成 sudo su - (加个减号)就行了。
Reply View the author
avatar
duanyao
deepin
2018-01-24 19:38
#15
https://bbs.deepin.org/post/152263
所以需要对不是特别懂,又想尝试下的人做点事情呀
相信我,纯粹电脑白痴不会有人想装linux的,都是想折腾 ...

不折腾才是终极真理。不用怀疑,Linux 很多需要“折腾”的地方,都属于缺陷,明智的态度是了解和避开。在这些地方学到的“知识”价值不高,没有一般性,很快会过时。环境变量、shell在我看来就属于此类。

你可以参考这一段:

https://www.jianshu.com/p/b588d62daaa0

认识和承认计算机系统里的历史遗留糟粕

很多不尊重人现象的起源,都是因为某些人偏执的相信某种技术就是世界上最好的,每个人都必须知道,否则他就不是一个合格的程序员。这种现象在Unix(Linux)的世界尤为普遍。Unix系统的鼓吹者们(我曾经是其中之一)喜欢到处布道,告诉你其它系统的设计有多蠢,你应该遵从Unix的“哲学”。他们仿佛认为Unix就是世界终极的操作系统,然而事实却是,Unix是一个设计非常糟糕的系统。它似乎故意被设计为难学难用,容易犯错,却美其名曰“强大”,“灵活”。眼界开阔一点的程序员都知道,Unix的设计者其实基本不懂设计,他们并不是世界上最好的程序员,却有一点做得很成功,那就是他们很会制造宗教,煽动人们的盲从心理。Unix设计者把自己的设计失误推在用户身上,让用户觉得学不会或者搞错了都是自己的错。

如果你对计算机科学理解到一定程度,就会发现我们其实仍然生活在计算机的石器时代。特别是软件系统,建立在一堆历史遗留的糟糕设计之上。各种蹩脚脑残的操作系统(比如Unix,Linux),程序语言(比如C+*,PHP,Go),数据库,编辑器,版本控制工具,…… 时常困扰着我们,这就是为什么你需要那么多的所谓“经验”和“知识”。然而,很多IT公司不喜欢承认这一点,他们一向以来的作风是“一切都是程序员的错!”,“作为程序员,你应该知道这些!” 这就造成了一种“皇帝的新装现象”——大家都不喜欢用一些设计恶劣的工具,却都怕别人嘲笑或者怀疑自己的能力,所以总是喜欢显示自己“会用”,“能学”,而没有人敢说它难用,敢指出设计者的失误。

Reply View the author
avatar
186******39
deepin
2018-01-26 00:52
#16
https://bbs.deepin.org/post/152263
你到底改没改 /etc/profile ?还是只创建了 /etc/profile.d/jdk.sh ?
不管怎么说,sudo su 和直接以 root ...

/etc/profile不是会自动读取 profile.d目录下的东西吗?必须得写到/etc/profile?
Reply View the author
avatar
186******39
deepin
2018-01-26 00:53
#17
https://bbs.deepin.org/post/152263
不折腾才是终极真理。不用怀疑,Linux 很多需要“折腾”的地方,都属于缺陷,明智的态度是了解和避开。在 ...

双手双脚赞同。
但现实总是需要妥协的,也许有神的世界会不一样吧
Reply View the author
avatar
186******39
deepin
2018-01-26 00:59
#18
https://bbs.deepin.org/post/152263
你到底改没改 /etc/profile ?还是只创建了 /etc/profile.d/jdk.sh ?
不管怎么说,sudo su 和直接以 root ...

感谢感谢,最终我发现,使用
  1. sudo su -
Copy the Code
就一切都解决了……
就算你都写对了,但是用
  1. sudo su
Copy the Code
就是没有变量
Reply View the author
avatar
duanyao
deepin
2018-01-26 01:10
#19
https://bbs.deepin.org/post/152263
/etc/profile不是会自动读取 profile.d目录下的东西吗?必须得写到/etc/profile?

这取决于 /etc/profile 的具体实现,不是 profile.d目录下所有的东西都会执行,得以 .sh 结尾才行。
Reply View the author
avatar
duanyao
deepin
2018-01-26 01:14
#20
https://bbs.deepin.org/post/152263
双手双脚赞同。
但现实总是需要妥协的,也许有神的世界会不一样吧

妥协就是“略微了解”这些东西即可,没必要精通。大不了写绝对路径嘛。
Reply View the author
1 / 2
To page