LINUX.ORG.RU

Не проходит авторизация в lightdm

 


0

1

Не проходит авторизация в lightdm. Пытался найти в чём проблема, нашёл только, что у хомяке юзера, под которым я пытаюсь авторизоваться есть файл .xsession-errors, в нём одна единственная строка

Error: Can't open display: :0
И чего, собственно, не хватает.
Дистрибутив - Fedora 29.


Авторизация проходит. Не создаётся X-cессия — X-сервер не стартует. Возможно «повредился» один из файлов в хомяке .Xautority или .ICEautority. Попробуйте в консоли (Ctrl+Alt+F1) cоздать нового пользователя и авторизоваться (Alt+F7) от него. А после чего это началось?

anonymous
()
Ответ на: комментарий от anonymous

Не началось. Оно и не работало ещё никогда на этой машине, установил иксы и xfce, через startx - запускается, через lightdm - нет.

Isur
() автор топика
Ответ на: комментарий от Isur

попробуй добавить туда lightdm-xsession.desktop

[Desktop Entry]
Version=1.0
Name=Default Xsession
Exec=default
Icon=
Type=Application
естественно и у него должно быть -rw-r--r-- 1 root root ...

anonymous
()

Поставь lxdm и не парься.

anonymous
()

Можешь показать содержимое файла /etc/X11/xorg.conf, если он есть?

ZenitharChampion ★★★★★
()
Ответ на: комментарий от anonymous

Я и не пробовал, не хочу следовать вредному совету править что-то руками в /usr. Я задавал вопрос, что означает приведённое сообщение в логе. А так я вообще не очень хорошо понимаю механику работы дисплейных менеджеров.

Isur
() автор топика

Похоже на то, что твоему пользователю не разрешено пользоваться видеовыводом (не добавлен в группу video, или аналогичную дистроспецифичную) и/или запускать Xorg (не стоит флаг suid? файловая система смонтирована с nosuid?).

mord0d ★★★★★
()
Ответ на: комментарий от mord0d

А почему тогда Xorg успешно запускается от этого пользователя через startx как я уже говорил?

Isur
() автор топика
Ответ на: комментарий от Isur

А почему тогда Xorg успешно запускается от этого пользователя через startx как я уже говорил?

Этого нет в ОП, потому проглядел.

Тогда это может быть проблема со стартовыми скриптами. Я никогда не пользовался lightdm, потому более подробно не подскажу что где лежит, но править существующий или писать новый придётся.

не хочу следовать вредному совету править что-то руками в /usr.

И чем же совет вреден? Если ты знаешь что делаешь, то почему бы и не сделать нормально? Просто не трогай существующие файлы (они всё равно перезапишутся при обновлении), и напиши свой (скопируй существующий, назови его иначе и поправь как надо).

Я задавал вопрос, что означает приведённое сообщение в логе.

Оно означает ровно то, что говорит:

Error: Can’t open display: :0

Ошибка: Не могу открыть дисплей: :0

Где :0 — это номер дисплея в формате :master.slave, где slave, если он идентичен дефолтному, может быть пропущен.

А так я вообще не очень хорошо понимаю механику работы дисплейных менеджеров.

Менеджер дисплея (простыми словами) делает следующее:

  • [Пере]Назначает переменную DISPLAY;
  • Запускает xorg-server во фреймбуффере обозначенного tty, передавая серверу DISPLAY;
  • Запускает себя (или программу, прописанную в автологине);
  • При передаче контроля пользователю ожидает завершения его сессии, чтобы снова предложить вход.

Всё остальное — рюшечки.

Графические приложения не могут работать без (или с некорректной) переменной DISPLAY, попробуй в графической сессии запустить приложение вот так:

Без дисплея:

DISPLAY= grsync

С некорректным дисплеем:

DISPLAY=:9999 grsync

И ты увидишь что-то типа этого:

(grsync:4275): Gtk-WARNING **: 15:27:12.091: cannot open display: 
(grsync:11229): Gtk-WARNING **: 15:30:27.408: cannot open display: :9999
mord0d ★★★★★
()
Ответ на: комментарий от mord0d

Как мне тут может помочь desktop-файл?

Сходил специально на работу, там тоже стоит Fedora 29, при этом в /usr/share/xsessions есть только xfce.desktop, юзер ни в какие дополнительные группы не добавлен, авторизация и запуск крысы через lightdm проходит нормально, вот сейчас сижу и чешу репу.

Ещё вопросы после твоего ответа появились. Что такое вообще дисплей в понятии иксов? Сокет, через который происходит обмен данными между X-сервером и GUI-программами? Нашёл такой файл /run/lightdm/root/:0 это оно?

А так вообще спасибо за подсказку, вечером ещё кое-что проверю, если не получится попробую с desktop-файлом.

Isur
() автор топика
Ответ на: комментарий от Isur

Как мне тут может помочь desktop-файл?

А так, что современные менеджеры дисплеев используют desktop-файлы в качестве (не вместо) xinit-скриптов.

Что такое вообще дисплей в понятии иксов?

Переменная окружения? Это то, куда программа смотрит, чтобы узнать имя сокета, например.

Сокет, через который происходит обмен данными между X-сервером и GUI-программами?

В том числе.

Нашёл такой файл /run/lightdm/root/:0 это оно?

Как я уже писал выше, я не знаком с lightdm. У меня сокет здесь /tmp/.X11-unix/X0 (я пользуюсь SLiM), но его можно (теоретически) положить куда угодно, главное — чтобы о пути к нему знали приложения.

mord0d ★★★★★
()
Последнее исправление: mord0d (всего исправлений: 1)
Ответ на: комментарий от Isur

Как мне тут может помочь desktop-файл?

Давно бы попробовал и сказал «Мимо» | «Eys-s-s-s!»

Сходил специально на работу, там тоже стоит Fedora 29, при этом в /usr/share/xsessions есть только xfce.desktop, юзер ни в какие дополнительные группы не добавлен, авторизация и запуск крысы через lightdm проходит нормально, вот сейчас сижу и чешу репу.
сейчас сижу и чешу репу.

*.desktop ни на что не влияет. А то что, на рабочей машине только один xfce.desktop и «всё работает», а на твоей 2 .desktop-файла и не работает — просто случайное совпадение (да-да).

У тебя есть две схожих конфигурации, а мне телепатический дар тренируешь?!

anonymous
()
Ответ на: комментарий от mord0d

А так, что современные менеджеры дисплеев используют desktop-файлы в качестве (не вместо) xinit-скриптов.

Так вот где собака зарыта.

*.desktop ни на что не влияет. А то что, на рабочей машине только один xfce.desktop и «всё работает», а на твоей 2 .desktop-файла и не работает — просто случайное совпадение (да-да).

Удалил пакет xorg-x11-xinit-session чтобы остался только 1 desktop-файл - сразу всё заработало.

Isur
() автор топика
Ответ на: комментарий от Isur

ладна. :) отмечай решеной.

дело не только в количестве *.desktop, но и в их содержимом. У тебя они «конфликтовали» (наверное). У меня их 2 и «всё работает».

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.