LINUX.ORG.RU

[arch] выключение/перезагрузка под пользователем

 


0

3

Проблема в следующем. Если заходить из консоли в LXDE через startx - компьютер можно выключить/перезагрузить под пользователем без проблем. Если же делать это при загрузке системы через inittab - оно не доступно. Конфиги

~/.xinitrc:

ck-launch-session dbus-launch --sh-syntax --exit-with-session startlxde

/etc/inittab:

x:5:once:/bin/su soko1 -l -c "/bin/bash --login -c /usr/bin/startx >/dev/null 2>&1"

Вывод после логина через inittab:

$ ck-list-sessions

Session1:
	unix-user = '1000'
	realname = ''
	seat = 'Seat2'
	session-type = ''
	active = FALSE
	x11-display = ':0'
	x11-display-device = '/dev/tty7'
	display-device = ''
	remote-host-name = ''
	is-local = FALSE
	on-since = '2011-10-30T23:14:25.772490Z'
	login-session-id = ''

После startx active равен TRUE.

Читал где-то что проблема кроется в новой версии consolekit, но как пофиксить - не понятно.

★★★★★

Читал где-то что проблема кроется в новой версии consolekit

Скорее всего закрыли дырку. Надо не фиксить, а нормальный логин делать.

baverman ★★★
()

У меня вообще сначала выключение/перезагрузка из-под пользователя не работала, решил установкой suid на halt (правда, в IceWM пункты «выключить» и «перезагрузить» все равно не активны).

Eddy_Em ☆☆☆☆☆
()

Пользуйся slim.

После того, как dbus сделали обязательным для consolekit (емнип, с версии 0.4.2), запуск из intittab стал нерабочим.

Shtsh ★★★★
()

Вот, кстати, не пойму: в мандриве у меня следующее

ck-list-sessions 
Session1:
	unix-user = '500'
	realname = 'Edward V. Emelianoff'
	seat = 'Seat1'
	session-type = ''
	active = TRUE
	x11-display = ':0'
	x11-display-device = '/dev/tty7'
	display-device = ''
	remote-host-name = ''
	is-local = TRUE
	on-since = '2011-10-18T09:19:28.522631Z'
	login-session-id = ''
и
ll /sbin/halt 
-rwxr-xr-x 1 root root 13868 Авг 24 22:49 /sbin/halt*

Но при этом отключение от пользователя работает и пункты в менюшке IceWM активны…

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

Тогда присоединяюсь к вопросу ТС.

Если нужен автологин, то смотри первый пост.

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

Вот что у меня в мандриве:

ps ax|grep launch
 5655 ?        S      0:00 /usr/bin/dbus-launch --exit-with-session --sh-syntax
 6785 ?        S      0:00 kdeinit4: klauncher [kdeinit] --fd=8
Ни ck-launch-session, ни dbus-launch для IceWM нет (кстати, непонятно откуда взялся klauncher - четверокед у меня нет).

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

Ни ck-launch-session

Сессия может быть зарегистрирована и по-другому, этот просто ручной.

ни dbus-launch

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

baverman ★★★
()

sudo halt? :)

я не понимать, зачем вообще это надо (за исключением > 1 пользователя на пека). вот автомаунт флешек - это необходимо.

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

Спасибо, заработало. Не в восторге конечно от этого решения, но что поделаешь.

Тем кому лень читать по ссылке - привожу здесь.

~/.bash_profile (или ~/.zshrc - смотрим echo SHELL)

if [[ -z $DISPLAY && $(tty) = /dev/tty1 ]]; then
  exec startx
fi

~/.xinitrc

#!/bin/sh
ck-launch-session dbus-launch --sh-syntax --exit-with-session startlxde

/etc/inittab:

...
c1:2345:respawn:/sbin/agetty -a soko1 -8 -s 38400 tty1 linux
...

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

>я не понимать, зачем вообще это надо (за исключением > 1 пользователя на пека).

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

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

Этот способ не особо катит потому что в первой консоли висит залогиненый пользователь. То есть достаточно кому нибудь сделать С+alt+f1, C-c и он получит мои права. Не секюрно. Хотя думаю сейчас что нибудь придумаю

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

Ага, только с &:

startx &
logout
а то пока иксы не убьёшь - не разлогиниться. Делал так, только почему-то после этого tty1 заблокирована и под ней невозможно залогиниться.

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

Ай, всё равно фигня - через раз работает. А иногда бывает такое, что иксы вообще не запускает. Хоть ты DM себе ставь и настраивай его на автологин (:

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

>В ~/.xinitrc exec не скопировался или его там нет?

А смысл его использования в данном случае?

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

Оставь /etc/inittab таким как в стартовом сообщении, а в ~/.xinitrc пропиши:

exec ck-launch-session dbus-launch startlxde
Страшного ведь ничего не случиться? Правда?

Заодно проверишь, права ли вики или нет.

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

Смысл exec в том, что после него скрипт дальше не выполняется. А у меня в ~/.xinitrc всего одна строчка, так что не актуально.

Однин хрен, всё равно не работает. Ай, фиг с ним короче, буду через костыли

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

Ковырял, там все ОК (Стивенса несколько раз перечитывал :) )

Eddy_Em ☆☆☆☆☆
()

/etc/inittab

x:5:once:/bin/su egik -l -c "/bin/bash --login -c startx > /dev/null 2>&1"
~/.xinitrc
exec ck-launch-session enlightenment_start

ещё

# cat /etc/polkit-1/localauthority/50-local.d/org.freedesktop.consolekit.pkla 
[Local restart]
Identity=unix-group:power
Action=org.freedesktop.consolekit.system.restart
ResultAny=yes
ResultInactive=no
ResultActive=yes

[Local shutdown]
Identity=unix-group:power
Action=org.freedesktop.consolekit.system.stop
ResultAny=yes
ResultInactive=no
ResultActive=yes
# cat /etc/polkit-1/localauthority/50-local.d/org.freedesktop.upower.pkla 
[Local Users]
Identity=unix-group:power
Action=org.freedesktop.upower.*
ResultAny=yes
ResultInactive=no
ResultActive=yes
# cat /etc/polkit-1/localauthority/50-local.d/org.freedesktop.udisks.pkla 
[udisks full access]
Identity=unix-group:users
Action=org.freedesktop.udisks.*
ResultAny=yes
ResultInactive=no
ResultActive=yes

и УМВР.

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

Ты даже круче самого Патрика
Спасибо, завелось!

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

Кстати, при такой конфигурации ck-launch-session в ~/.xinitrc уже не обязательно.

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