“root”中的主文件夹而不是“home”中的...我很困惑!

Sar*_*nha 8 permissions root sudo home-directory

我的home文件夹有问题,这给我带来了一些权限问题。

我安装了一个应用程序,它告诉我我没有保存在 中的权限/home/username/Desktop,但实际上我的家在/home/username/Área de Trabalho(Área de Trabalho = Desktop,但是是葡萄牙语)。

  • 作为sudo我的家访问如下图所示(查看文件夹图标)。
    里面是desktop文件夹。

在此处输入图片说明

  • user下图显示了像往常一样访问我的家。
    里面是Área de Trabalho文件夹。

在此处输入图片说明

这是正常的吗?我应该告诉 Ubuntu 我的实际home文件夹在哪里吗?我必须做什么?

提前谢谢!

Eli*_*gan 11

第一个屏幕截图(“as sudo”)显示在图标视​​图中,第二个屏幕截图(“as常规user”)显示在详细列表视图中,但它们实际上显示了相同的文件夹结构。没有差异。(tachyons 的回答解释了为什么不同的文件夹上都有房子图标。)详细列表视图为您提供了更多信息;特别是,被调用的文件夹/home被展开以显示其内容,包括p_sardinha子文件夹。

由于这两个视图是等效的,因此您查看文件夹结构的方式似乎没有问题。因此,我们可以将您的问题分为两部分:

  • 我的主文件夹在哪里?
  • 如何解决应用程序尝试访问我的桌面文件夹但由于使用错误语言命名该文件夹而失败的问题?

我的主文件夹在哪里?

Ubuntu 系统的每个人类用户都有一个主文件夹(也称为主目录,因为文件夹目录的含义相同)。如果您在 Ubuntu 系统上为多个人设置了用户帐户,那么每个人都会有一个单独的主文件夹。

有一个文件夹叫做/home. 那不是您的主文件夹。事实上,这从来都不是任何人的主文件夹。而是/home包含人类用户主文件夹的文件夹

您的主文件夹是/home/p_sardinha,因为您的用户名是p_sardinha

更一般地说,对于人类用户username,用户的主文件夹是./home/username

  • 在某些系统上,包括您的系统,名为的文件夹/home包含一个子文件夹lost+found。这不是任何人的主文件夹。相反,它默认存在于 ext2/ext3/ext4 文件系统的根文件夹中;它用于保存在修复文件系统时恢复的文件,您无需了解任何有关它的信息,即可使用您的主文件夹。

  • 存在一些与您计算机的实际人类用户不对应的用户帐户。它们的存在是为了使某些程序可以以适合它们设计执行的任务的特殊身份、能力和限制运行。非人类用户通常在/home. 例如,正如tachyons 所提到的root用户,即实际运行您运行的命令的用户,sudo并且gksu/gksudo(除非您使用该-u标志)/root作为其主目录。

被调用的文件夹/home和您的实际主文件夹(它是其子文件夹)之间的区别有时令人困惑的原因之一是 Nautilus(Ubuntu 的文件浏览器)将您的实际主文件夹称为“Home”。例如,这是我的主文件夹的内容,在 Nautilus 中显示:

主文件夹的 Nautilus 窗口

但是,该文件夹的实际名称(显示了其内容)是/home/ek(因为我的用户名是ek)。我的桌面文件夹被调用Desktop并位于我的主文件夹中,所以它的完全限定路径/home/ek/Desktop.

如何解决应用程序尝试访问我的桌面文件夹但由于使用错误语言命名该文件夹而失败的问题?

可能有特定于应用程序的解决方案,但您尚未提供有关发生错误的情况或发生错误的应用程序的详细信息,因此我无法提供此类解决方案。幸运的是,我可以提供一个通用的解决方案。

由于文件夹有时会被称为其真实名称以外的其他名称(例如,您的主文件夹有时会被称为 ,Home即使其名称是p_sardinha),首先请确保您的桌面文件夹的名称确实是Área de Trabalho。检查这个很容易——只需查看您的主文件夹的内容(就像我在上面的屏幕截图中所做的那样),并确保它在那里被调用。我相信你已经这样做了。

所以你的桌面文件夹的真正全名是/home/p_sardinha/Área de Trabalho. 但至少有一个应用程序希望在/home/p_sardinha/Desktop. 假设也没有一个名为的文件夹/home/p_sardinha/Desktop(您应该检查以确保),您应该能够通过Desktop在您的主文件夹中创建一个指向Área de Trabalho(您的实际桌面文件夹)的符号链接来解决问题。

为了创建这个符号链接,打开一个终端窗口(Ctrl+ Alt+ T),并运行这些命令:

cd
ln -s 'Área de Trabalho' Desktop
Run Code Online (Sandbox Code Playgroud)
  • 第一个命令(cd,后面没有任何内容)确保您使用的命令行“在”您的主文件夹中(即,它使用您的主文件夹作为其当前工作目录)。
  • 第二个命令(以 开头ln)实际上创建了符号链接。

那应该可以解决问题。但是,您的应用程序确实应该充分国际化,不要假设您的桌面文件夹总是被称为Desktop. 因此,我建议报告发生问题的应用程序中的错误,以便开发人员可以使应用程序对讲葡萄牙语的用户和讲英语的用户一样有效。