我最近通过备份我的主目录、删除该目录,然后再次用备份替换它(按照指南)来解密我的主目录。从那时起,如果没有 root 访问权限,我就无法再运行 Iceweasel 和 LibreOffice 等标准内置软件。每当我尝试打开这些程序时,它们都会给我一些错误,例如“Iceweasel 已经在运行”(但事实并非如此)。但是当我使用 sudo 从命令行运行它们时,它们工作得很好。我认为这与我的主目录的权限有关,不完全确定。我想知道如何授予用户运行主目录中所有软件的权限,而不必在命令行中使用 sudo 。我很确定当我移动我的主目录时,它弄乱了权限。 (这只是一个猜测,不确定为什么我需要 root 权限才能运行这些类型的软件)。
答案1
如果您修改了主目录,则需要 root 才能访问包含它的 /home 目录。也许您的家现在包含一些属于您以外的人拥有的东西,sudo 可以避免这些东西。
积极的方法可能是 sudo chown -R myname:users ~myname
更谨慎的人可能会find ~myname \! -user myname
寻找此类问题,然后修复它们。
说“已经运行”的程序往往是未清理的 pid 文件,或者残留的 UNIX 域套接字。