当我是root用户时,如何获取登录用户的用户名或主目录?

问题描述 投票:0回答:1

我的应用程序以root用户身份运行,但是从常规(管理员)用户启动,例如使用sudo命令(但不一定,例如,我不能简单地检查env var SUDO_USER)。

如何确定登录到用户界面会话的用户名或其homedir?

是否有Cocoa,Foundation或CoreFoundation功能可以提供给我的信息?

macos core-foundation
1个回答
0
投票

即使是在root用户下运行的应用程序,“HOME”环境变量仍然设置为登录用户。那么,这是如何获取该用户的主文件夹:

NSString *homeDir = NSProcessInfo.processInfo.environment[@"HOME"];
© www.soinside.com 2019 - 2024. All rights reserved.