Mac OS X:从目录服务获取当前用户的当前用户名和主目录

发布于 2024-10-03 22:10:18 字数 277 浏览 7 评论 0原文

我的应用程序是用 Objective-C 编写的。如何通过目录服务获取当前登录用户的用户名和主目录?

细节: 我的 Cocoa 应用程序使用 getenv("USER")、getenv("HOME") 获取当前用户名和主目录。显然,如果用户通过目录服务登录,这将无法正常工作。我正在执行 chdir($HOME) 然后运行以下命令: 登录-fp $USER 它拒绝它,因为我认为登录通过目录服务来验证用户,并且他在该系统中的用户名可能与 $USER 的值不同。同样,他可能在目录服务中指定了与 $HOME 不同的主目录。

My app is written in Objective-C. How can I get the user name and home directory of the currently logged in user through directory services?

Detail:
My Cocoa app gets the current username and home directory with getenv("USER"), getenv("HOME"). Apparently this doesn't work right if the user is logged in through directory services. I am doing a chdir($HOME) and then running this command:
login -fp $USER
and it rejects it because, I think, login goes through the directory service to authenticate the user, and his username in that system may not be the same as the value of $USER. Likewise, he may have a home directory specified in directory services that is different than $HOME.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

或十年 2024-10-10 22:10:18

尝试 NSUserName()NSHomeDirectory()

Try NSUserName() and NSHomeDirectory().

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文