Почему некоторые терминалы возвращаются 4294967295 вместо 1000 для `cat / proc / self / loginuid`?

Этот вопрос впервые возникает, когда я пытался запустить отличное приложение xsession-manager в моей свежей системе Ubuntu MATE 20.04.2 LTS по умолчанию. Удивительно, но он не запускается с использованием терминала MATE по умолчанию. Итак, я сообщил о проблеме .

В настоящее время я вижу следующее - некоторые терминалы неправильно реагируют на команды cat / proc / self / loginuid и logname .

Моего пользователя зовут приятель , он всего лишь один человек в этой системе:

$ id
uid=1000(mate) gid=1000(mate) groups=1000(mate),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),120(lpadmin),132(lxd),133(sambashare)

Полный список протестированных терминалов приведен ниже:

Терминал cat / proc / self / loginuid logname
mate-terminal 4294967295 logname: без имени входа
gnome-terminal 1000 mate
konsole 1000 mate
cool-retro-term 1000 товарищ
deepin-terminal 4294967295 логин: нет логина
терминал в Geany 1000 товарищ
guake 1000 товарищ
терминал в Кейт 4294967295 логин: нет логина
котенок 1000 товарищ
lilyterm 1000 mate
lxterminal 1000 mate
mlterm 1000 mate
pangoterm 1000 mate
pterm 1000 mate
qterminal 1000 mate
rxvt 1000 mate
sakura 1000 mate
Terminal 4294967295 логин: без входа имя
терминатор 1000 товарищ
терминалогия 1000 товарищ
termit 1000 товарищ
тильда 4294967295 логин: нет логина
тиликс 4294967295 логин: нет логина
xfce4-terminal 4294967295 имя журнала: нет имени входа
xiterm + thai 4294967295 имя журнала: нет имени входа
xterm 4294967295 имя журнала: нет имени входа
yakuake 4294967295 имя журнала: нет имени входа

Все вышеуказанные терминалы были установлены из официальных репозиториев Ubuntu в той же системе.
Но я не понимаю, почему одни работают, а другие не работают.
Некоторые терминалы основаны на VTE, а некоторые нет.Я не могу найти здесь какой-либо последовательной закономерности.

2
задан 22 March 2021 в 22:10

1 ответ

2 вещи, на которые следует отметить:

  • 4294967295 IS -1 без знака длиннее и означает, что Loginuid не был установлен.
  • Идентификатор пользователя устанавливается PAM_LOGINUID

Raquction PAM_LOGINUID в /etc/pam.d/lightdm и процессы тоже заберут его.

2
ответ дан 1 April 2021 в 23:00

Другие вопросы по тегам:

Похожие вопросы: