我在两个不同的家里有两台 (K)Ubuntu 电脑。但是我想让它们共享用户目录。
最佳方案是在我的硬盘上和外部驱动器上各设置一个本地用户配置文件。如果可能的话,通过云或其他完全不同的方式来同步文件也是可以的,但这不是最佳方案。
我尝试使用 KUser 创建一个用户,其主目录位于外部驱动器上,但无法登录。使用 usermod -d 也不起作用。david förster 提到的方法不允许我使用桌面管理器登录。
先谢谢了
答案1
抱歉,我不同意您想要使用的方法,并且对于如此简单的事情来说,提出的答案太难了。
您不应将 /home/ 放在外部磁盘上。您只能将用户目录放在外部磁盘上的 /home/$USER/ 内。系统支持使用文件将您的用户目录放在其他地方~.config/users-dirs.dirs
。非常适合这种设置。无需处理用户 ID,UUID 是其他任何东西。
不把 /home/ 放在外部磁盘上的 1 个简单原因:将要将来可能会出现问题,即外部磁盘无法安装,您将无法启动。这使得修复问题变得更加困难,因为您需要从实时会话或 grub 救援中修复它。
将 /home/ 放在 / 旁边。当系统找不到外部磁盘时,它将启动到一个空的(空白)桌面,其中 /home/$USER/ 用作基目录。但一切仍然正常,您可以使用桌面会话浏览 Web/AU 以查找您遇到的问题。
您需要做的就是将两个用户添加到同一个组,并将chown
外部磁盘添加到该组。
还要注意,如果您想将 /home/ 放在外部磁盘上,则外部磁盘必须是 ext。您不能使用 NTFS。当您使用上面描述的方法时,您可以使用 NTFS(/home/$USER/ 中的目录不需要 /home/ 必须具有的文件权限才能运行)。
答案2
正如我在评论中所说,你需要
将两个主目录都移至外部驱动器(另请参阅步骤 3)并根据您的喜好进行合并(意思是:如果两个原始主目录中都存在一个文件,则决定保留哪个文件),
配置两个系统在启动时安装外部驱动器(这里一定要使用文件系统标签或 UUID!),并且
确保两个系统上的用户的用户 ID 相同 – 否则事情会变得复杂得多。您可以使用命令
id -u
(当前用户) 或getent passwd <USERNAME> | cut -d: -f3
(任何用户) 或stat -c %u <PATH>
(任何文件或目录的所有者) 找出用户的 ID。如果 ID 不同,并且您管理至少一个系统,则可以用以下命令更改一个或两个用户的 ID:
sudo usermod --uid <NEW_UID> <USERNAME>
顺便说
usermod
一句,如果您添加该选项,您还可以在一个命令中更改用户的主目录--home <NEW_HOMEDIR>
。如果您还添加,--move-home
它将把文件从当前目录移动到新的主目录。如果您想绝对确定文件所有权是正确的,您可以运行(在一台机器上,因为目录是共享的):
sudo chown -R <USERNAME_OR_ID> <NEW_HOME>