如何使用NodeJS获取/查找计算机所有者当前正在使用的用户名(登录状态),请问?
我已经做了一些搜索,但是没有发现相关内容。
如何使用NodeJS获取/查找计算机所有者当前正在使用的用户名(登录状态),请问?
我已经做了一些搜索,但是没有发现相关内容。
我不确定为什么,但有人添加了一个答案,然后很快就删除了...不过我反应够快,检查后发现这是以前提问的最短、最有效的方法:
require("os").userInfo().username
唯一的问题是,在Windows 10中,它返回已使用的所有者账户的名字(只是提醒一下)。 其他一切都完全正常!
你将获得这个对象的用户名:
let os = require('os')
console.log(os.userInfo());
process.env.USER
应该至少在MAC或Linux中也能工作。例如:
let user = process.env.USER || ""
username
来实现。
$ npm install username
const username = require('username');
(async () => {
console.log(await username());
//=> 'current_username'
})();
无依赖方法:
function getUsername() {
return (
process.env.SUDO_USER ||
process.env.C9_USER ||
process.env.LOGNAME ||
process.env.USER ||
process.env.LNAME ||
process.env.USERNAME
);
}
你可以简单地使用
app.getPath('home')
它将返回当前用户的主目录路径。
/home/<username>
const home = app.getPath('home');
- beeeliuos.userInfo
和 os.homedir
更适合 OP 实际所要求的。 - jacobqconst Promise = require( 'bluebird' ),
exec = Promise.promisify( require( 'child_process' ).exec );
exec( 'id -un' ).then( ( username )=> {
// do something about it
});
npm install bluebird --save
如果您想获取有关调用服务器路由的客户端的信息,则必须解析客户端用户代理。
https://msdn.microsoft.com/en-us/library/ms537503(v=vs.85).aspx
你可以使用以下示例在 Node 中获取客户端用户代理: