pre*_*ise 5 filesystem permissions unity
试图复制“/etc/profile
权限被拒绝! ”中描述的问题,其中 OP 在她的评论中提到她的/etc
目录的权限字符串是drw-r--r--
. 我发出了sudo chmod 644 /etc
,是的,确实复制了这个问题。然后在实时环境中,我将权限更正为755
. (我认为这不会有什么害处,我只是更改了权限!)随着/etc
权限恢复为原始权限,登录问题和其他诸如无法sudo
修复的问题都得到了解决,但我在 GUI 中遇到了很多问题。Unity 没有加载,没有 Launcher,没有 Dash 出现!在一定程度上有所帮助,但其他问题仍然存在。
这背后的原因是什么?我只是切换了/etc
权限的执行位!为什么这对 Unity 有重大影响?
是的,我尝试了这个(在虚拟机上:-))并得到了与您描述的相同的行为。我更改了权限/etc
,然后重新启动,由于我已将系统配置为自动登录,因此它尝试直接登录但失败。
我对 Unity 的内部结构了解不够,无法理解细节,但我的猜测是,当您尝试登录时,由于系统无权访问它,因此/etc
无法读取各种基本文件,例如/etc/passwd
或/etc/group
或任何内容让它将您的用户名映射到适当的 UID 和 GID。因此,在尝试登录时,文件详细信息不知何故被搞砸了。
我的猜测,并且我强调我的猜测,是对您的配置设置进行了更改gconf
,然后与 Unity 搞混了。
我通过简单地删除我的虚拟机中的所有文件$HOME
、删除我的用户并重新创建他来解决了这个问题。显然这不是您实际使用的系统上的解决方案。
我能想到的唯一解决方法是移动/重命名所有配置文件和目录:
mkdir old_dotfiles
for file in .*; do mv "$file" old_dotfiles; done
Run Code Online (Sandbox Code Playgroud)
这会将所有配置文件和目录移动到~/old_dotfiles
. 然后,您可以注销并再次登录或重新启动,尽管您会丢失配置设置,但情况应该会恢复正常。然后您可以尝试再次将它们复制回来。如果这只是文件所有权问题,将它们复制回来应该会重置所有权并可能解决您的问题。如果更改是在其中一个conf 文件中进行的,这将再次破坏您的系统,因此请谨慎操作。
请记住,大多数配置文件都会自动创建,因此您只需担心更改默认值的情况即可。另外,您应该确保 GUI 的“系统”文件夹(例如)~/Desktop
已正确设置。
我的猜测是,这应该足以让您回到正常工作的系统,并对虚拟机产生新的热爱。