我的应用程序以root
用户身份运行,但是从常规(管理员)用户启动,例如使用sudo
命令(但不一定,例如,我不能简单地检查env var SUDO_USER
)。
如何确定登录到用户界面会话的用户名或其homedir?
是否有Cocoa,Foundation或CoreFoundation功能可以提供给我的信息?
即使是在root用户下运行的应用程序,“HOME”环境变量仍然设置为登录用户。那么,这是如何获取该用户的主文件夹:
NSString *homeDir = NSProcessInfo.processInfo.environment[@"HOME"];