LINUX.ORG.RU

Жизнь без DM (Display Manager)

 , , , ,


0

2

Добрый вечер. Сегодня я задумался - а нужен ли мне Display Manager?

Я не смог ответить себе на этот вопрос, потому что плохо себе представляю, что, собственно, делает Display Manager.

Я знаю, что вот он запускается при старте системы, показывает окошко, где я выберу сессию, введу логин/пароль; нажму Enter, попаду в нужную сессию. Если я её завершу, попаду обратно в DM. Также я могу через DM начать ещё одну сессию, например, для другого пользователя. Но это - только то, что видно без вникания в суть и копания в глубь.

В связи с этим возникает ряд вопросов:

  • Какие функции выполняет Display Manager, кроме предоставления GUI для логина и запуска сессии?
  • Что я потеряю, если откажусь от Display Manager, буду логиниться в консоль и запускать иксы с нужной сессией вручную/автоматически? С какими сложностями я могу столкнуться при этом?
  • Хуже ли такой подход (без DM), и если да, то чем?

Пожалуйста, помогите разобраться. Заранее большое спасибо.

★★

логиниться в консоль и запускать иксы

Придётся заходить рутом.

DM — это такой /sbin/login только с графикой.

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

Я сейчас в виртуальной машине залогинился пользователем, скомандовал startx /usr/bin/i3 и как-то обошлось, всё запустилось.

Norong ★★ ()

Если у тебя автологин, то смысла в DM вообще нет. Можно сделать автологин (с автозапуском иксов) и без.

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

Ну, у третьегнома, говорят, gdm выполняет какую-то сакральную функциональность, иначе бы дистростроители не мучались с выдиранием для него кусков из системды, а просто использовали другой DM.

Falcon-peregrinus ★★★★★ ()
Последнее исправление: Falcon-peregrinus (всего исправлений: 1)

У меня от сервиса xdm зависят другие, например, bumblebee, и ради этого я держу lxdm со своей кастомной X-сессией, запускающей всё из $HOME/.xinitrc. Есть пока не просил.

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

че? Xorg имеет в нормальных системах или SUID-бит или в системд как-то запускается

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

Автологина у меня нет, и не интересует. Просто задумался над тем, нужна ли мне эта сущность. Я правильно понимаю, что «под ковром» там нет ничего особенного, типа запуска чего-нибудь или настройки чего-нибудь неочевидного?

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

Ну тогда у тебя будет логин в консоли (автозапуск иксов можно настроить после логина, чтобы вручную не запускать). Но консолью может не подхватиться родное разрешение и будет некрасиво.

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

Я вижу так:

Система запустилась без иксов, я на tty. Логинюсь, startx (или автозапуск) - победа.

Ты про неподхват консолью разрешения вообще на tty, или о чём-то другом?

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

Что бы запускать свои DE или WM через startx надо добавить, например

exec i3
в ~/.xinitrc

Давно уже не пользуюсь DM, из-за чего в .xinitrc целый зоопарк под настроение:

[[ -f ~/.Xresources ]] && xrdb -merge ~/.Xresources

if [ -d /etc/X11/xinit/xinitrc.d ] ; then
 for f in /etc/X11/xinit/xinitrc.d/?* ; do
  [ -x "$f" ] && . "$f"
 done
 unset f
fi

# Autostart
#$HOME/.bin/dwmb &
#$HOME/.bin/volume.sh &
#$HOME/.bin/weather.sh &
#hsetroot -full "$(find /mnt/media/Pic/Space/ -type f | shuf -n 1)" &
urxvtd -q -o -f &
#sxhkd &

# Load WM
#exec dwm 2>&1 >/tmp/dwm.log
exec startxfce4 --with-ck-launch 
#exec fluxbox
#exec bspwm

#exec i3 -V -d all > ~/.config/i3/i3log-$(date +'%F-%k-%M-%S') 2>&1
#exec dbus-launch --sh-syntax --exit-with-session i3
#(conky -c "$HOME/.config/conky/conkyrc" | while read -r; do xsetroot -name "$REPLY"; done) &
#exec i3
afterlanding ★★ ()
Последнее исправление: afterlanding (всего исправлений: 1)

золотое правило, кто как хочит так и дрочит (если смущает слово почитай словарь Даля), откажись от ДМ поработай месяц и напиши, а стоит ли... вот по теме https://wiki.archlinux.org/index.php/xinitrc Как по мне, решение для гиков, типа аля умный ботан хочет удивить девушку соседней парты в универе.

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

Я правильно понимаю, что при startx будет выполнено всё содержимое .xinitrc? У тебя там в сабже xrdb -merge ~/.Xresources - это применение содержимого .Xresources? Разве оно не применяется само? Дальше - ты, как я понимаю, в цикле исполняешь содержимое /etc/X11/xinit/xinitrc.d — разве оно не выполнится само?

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

Я правильно понимаю, что при startx будет выполнено всё содержимое .xinitrc?

угу

исполняешь содержимое /etc/X11/xinit/xinitrc.d — разве оно не выполнится само?

Если .xinitrc присутствует в домашнем каталоге пользователя, startx и xinit выполнят его. Иначе startx выполнит /etc/X11/xinit/xinitrc.

CHIPOK ★★★ ()

Не пользуюсь DM, брат жив.

Логинюсь на tty1, запускаю tmux; логинюсь на tty4, запускаю иксы.

ТС, возьми да проверь, в чём вопрос-то?

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

У меня от сервиса xdm зависят другие, например, bumblebee, и ради этого я держу lxdm

у меня шмель как-то и без DM работает

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

Но консолью может не подхватиться родное разрешение и будет некрасиво.

фигня, если в консоли родное разрешение проблем нет, да и просто не будет, если в DE настроено разрешение

amorpher ★★★★★ ()

Юзаю startx.

#!/bin/bash

autostart()
{
    dunst &
    compton -b
    setbg -r
    kbdd
    xbindkeys
    xset +fp /usr/share/fonts
    xset fp rehash
    xrdb-reload
    # xhost +
    set-caps
    conky | setroot &
    skb-indicator &
}

if which dbus-launch >/dev/null && test -z "$DBUS_SESSION_BUS_ADDRESS"; then
    eval "$(dbus-launch --sh-syntax --exit-with-session)"
fi


dwm &
pid=$!

autostart

# ratpoison
# cwm
# rio -virtuals 4
# w9wm

wait $pid
exit $?

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

>> логиниться в консоль и запускать иксы

Придётся заходить рутом.

Мухаха! Вот ты и спалился, вендузятнег. Хотя не исключаю, что в бсдях так и сделано, все равно ж вы все заходите только через путти.

anonymous ()

если не хочется воевать с огородом навороченным вокруг запуска DM в некоторых дистрах, то есть такой замечательный DM - nodm. :)

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

логиниться в консоль и запускать иксы

Придётся заходить рутом.

Если мне не изменяет, ты же активный пользователь дэбиана? И не стыдно? :)

dpkg-reconfigure x11-common

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

Выполняется все, что не закомментировано.
Применяется и выполняется само, если используется стандартный кофиг (/etc/X11/xinit/xinitrc), т.к. мы делаем свой в домашней директории, необходимо скопировать то, что есть в стандартном. В xinitrc.d лежит одинокий dbus скрипт, можно и без него пользоваться, я не заметил разницы.

afterlanding ★★ ()

А по теме - много лет уже не пользую менеджеры входа, на системах «из кусков» - всё работает.

Какие функции выполняет Display Manager, кроме предоставления GUI для логина и запуска сессии?

В обыкновенном случае - только прямые. Известное мне исключение - гном, у которого на это дело что-то жестко завязано.

Что я потеряю, если откажусь от Display Manager, буду логиниться в консоль и запускать иксы с нужной сессией вручную/автоматически? С какими сложностями я могу столкнуться при этом?

Ничего. Никаких сложностей. Разве что я не уверен как тогда организовывать «сон» сеанса юзера, при переключении на другого (именно сон, а не просто переключатель на другой сеанс). Но это редкий кейс.

Хуже ли такой подход (без DM), и если да, то чем?

Это решает каждый для себя, по личному опыту.

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

У меня вызывают сомнения вот эти пункты

dbus-launch
xset +fp /usr/share/fonts
xset fp rehash
xrdb-reload

Я никогда не выполнял эти команды вручную (хотя понимаю, что они делают, и они, вроде как, нужны), и «всё работает». Значит, их кто-то выполняет тайком от меня. При этом, сессия awesome (я на нём сейчас) только awesome и запускает. Кем запускаются эти команды? Что ещё может потребоваться добавить в .xinitrc, кроме очевидного?

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

> Придётся заходить рутом.

Мухаха! Вот ты и спалился, вендузятнег. Хотя не исключаю, что в бсдях так и сделано, все равно ж вы все заходите только через путти.

Ды откуда же столько идиотов на форуме?

Всё верно написал Бести про root!

Использовать SUID-бит это тот же по сути root! Времена SUID-битов давно уж должны пройти..

(Или)

Выставлять пользователю излишнии группы на полный (излишний) доступ к /dev/-устройствам — это тоже не сильно отличается от root!

По сути — ты заходишь рутом! А тот факт, что root-роль выполняет другой user-id — не добавляет безопасностей!

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

У меня вот блоб инвидии и разрешение в tty около 800*600 и фиг сделаешь родное.

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

Не, не стыдно. Во первых я посто не занимаюсь подобной профанацией. Менять шило на мыло — какой в этом смысл?

Во вторых, по старой памяти, иксам нужны какие-то дополнительные права. От юзверя оно то запустится, но это будет не «полная» X сессия.

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

Придётся заходить рутом.

Если иксы разрешены для пользователя, то не придется. Эх ты, а еще модератор!

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

Доступ к drm и другим /dev/ не нужен? Тогда можно и от юзверя.

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

Меня интересует больше, в чём сакральный смысл менять xdm на login + startx? Я по крайней мере не вижу не одного преимущества, кроме лишнего геморроя.

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

Это не имеет смысла лишь если компьютер многопользовательский. Если комп домашний, вообще лучше забульбенить автозапуск через inittab. Если же хочешь, чтобы сначала логин, потом иксы, то запускать на третьем (у генты — втором) уровне по умолчанию, логиниться и писать startx. Это добавит лишнего ужаса всяким ламеркам.

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

P.S. а нельзя ли разблокировать мой бан по IP с домашнего компьютера (Eddy_Em)? айпишник прокси могу вечером глянуть через какую-нибудь внешнюю утилиту. А то и пофлудить из-под анонимуса уже из дому никак, не делать же тройное проксирование через рабочий комп из-за пары-тройки сообщений в день!

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

Это неправда, иксы замечательно стартуют из-под любого пользователя. А запускать их из-под рута — один из самых вредных советов, какие только можно дать.

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

Это совершенная неправда. Вы знаете, что такое shell? GNOME shell, несмотря на своё название, им не является ни коим образом. По умолчанию там bash, который так же разработан для GNU.

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

Shell — оболочка (в переводе). В своём комментарии я имел в виду именно GNOME Shell

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

Меня интересует больше, в чём сакральный смысл менять xdm на login + startx?

Это больше соответствует принципу KISS. Зачем делать сложнее, когда можно сделать проще? Зачем нужна лишняя прослойка в виде dm, когда можно обойтись без неё? И на мой взгляд более правильно, когда система загружается сначала в консоль, а потом уже, в случае необходимости, пользователь запускает иксы командой startx.

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

Зачем делать сложнее, когда можно сделать проще?

Вот именно это. Зачем делать себе жизнь сложнее?

Если тебе так нужна консоль, то делаешь Ctrl-Alt-F1. Но на моей памяти это бывает нужно примерно один раз в десять лет.

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

что-то настраивать надо? хз, ничего не настраивал, просто установил и всё

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

Вот именно это. Зачем делать себе жизнь сложнее?

А если я не устанавливаю каких-то монстров, а беру только то что мне необходимо? Т.е. если случай о том, что DM именно необходимо доставлять.

Если тебе так нужна консоль, то делаешь Ctrl-Alt-F1.

Я очень часто включаю ноут (а еще чаще просто бужу), на котором не запущены иксы. Просто потому что иксы мне необходимы, в целом, только для браузера или ide.

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

Во первых я посто не занимаюсь подобной профанацией.

Т.е. не запустить иксы от рута - профанация? Громко.

Знаешь, я по дружески надеюсь что у тебя в жизни не приключилось ничего плохого в последние времена. Ибо в те самые последние времена ты становишься всё... хотелось бы сказать хуже, но нет, скорее другим и противоречивым своим более ранним настроениям и взглядам.

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

Это, наверно, от хронического недосыпа. ;)

На вкус и цвет, как говорится, все фломастеры разные, но ...

Если речь о сервере — то там и X11 не нужен.

Если речь о десктопе/лептопе — то не использовать там X11 в 21-м веке как-то очень странно.

xdm идёт в стандартной поставке и достовлять там что-то не надо. Оно просто есть. Оно просто работает и кушать не просит.

По поводу подтекания — я такого ещё не наблюдал. Суспенд использую очень активно (правда на Open).

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

У меня Gentoo с OpenRC, там сервис bumblebee зависит от xdm. Либо пользуешься, либо костылишь в rc.conf :(

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