mirror of
https://github.com/Ylianst/MeshAgent
synced 2025-12-06 00:13:33 +00:00
Updated GDM/XAUTHORITY logic for SDDM
This commit is contained in:
File diff suppressed because one or more lines are too long
@@ -684,6 +684,21 @@ function monitorinfo()
|
||||
{
|
||||
ret.xauthority = '/run/lightdm/' + uname + '/xauthority';
|
||||
}
|
||||
if(consoleuid == require('user-sessions').gdmUid && require('fs').existsSync('/run/sddm'))
|
||||
{
|
||||
var info;
|
||||
var files = require('fs').readdirSync('/run/sddm');
|
||||
var gdmuid = require('user-sessions').gdmUid;
|
||||
for(var i=0;i<files.length;++i)
|
||||
{
|
||||
info = require('fs').statSync('/run/sddm/' + files[i]);
|
||||
if(info.uid == gdmuid)
|
||||
{
|
||||
ret.xauthority = '/run/sddm/' + files[i];
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (ret.display == '' && ttys.length > 0)
|
||||
{
|
||||
|
||||
@@ -468,6 +468,7 @@ function UserSessions()
|
||||
try
|
||||
{
|
||||
pwd = JSON.parse(child.stdout.str);
|
||||
console.info1(JSON.stringify(pwd, null, 1));
|
||||
}
|
||||
catch(z)
|
||||
{
|
||||
@@ -496,6 +497,7 @@ function UserSessions()
|
||||
var info1 = JSON.parse(child.stdout.str);
|
||||
var i;
|
||||
for (i = 0; i < info1.length; ++i) { uids.push(info1[i].uid); }
|
||||
console.info1(JSON.stringify(uids));
|
||||
}
|
||||
catch(z)
|
||||
{
|
||||
@@ -506,9 +508,12 @@ function UserSessions()
|
||||
while(uids.length>0)
|
||||
{
|
||||
var tst = uids.pop();
|
||||
if(pwd[tst].desc.indexOf('Display Manager')>=0 || pwd[tst].user == 'gdm' || pwd[tst].user == 'lightdm')
|
||||
if (pwd[tst].desc.indexOf('Display Manager') >= 0 || pwd[tst].user == 'gdm' || pwd[tst].user == 'lightdm' || pwd[tst].user == 'sddm')
|
||||
{
|
||||
return (parseInt(tst));
|
||||
if (parseInt(tst) < min)
|
||||
{
|
||||
return (parseInt(tst));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user