Свеже установленная система. КДЕ - текушие 4.8-2 .
[email protected] ~ $ groups 
wheel ftp mail log rfkill http games network video audio optical floppy storage scanner power users  w00zy

Не активны (отсутствуют в стандартном меню) кнопки Выключение / Перезагрузка
Выполняю:
[email protected] ~ $ /usr/bin/qdbus org.kde.ksmserver /KSMServer logout 0 2 0
[email protected] ~ $ echo $?
0
Эфекта нет. Команду выхода из сеанса исполняет.
Из КДМ Выключение / Перезагрузка работает.

Подскажите, как чинится. Не гуглится.
UPDATE.

w00zy
А, вот, через proc достать… Все костыльно, конечно. Я думал, может есть какое простое и элегантное решение, а главное переносимое, которого я не знаю.

Температура думать не дает. Через /proc и правда интересно. Можно сразу все, и наличие иксов проверить, и … Точно копать сюда.

[[email protected] .X11-unix]$ ps -C X -f --no-header
root       671   663  2 12:46 tty7     00:09:26 /usr/bin/X -nolisten tcp vt07 -dpi 100 -auth /var/run/slim.auth
[[email protected] .X11-unix]$ sudo cat /proc/671/environ | tr "\0" "\n"
CONSOLE=/dev/console
SHELL=/bin/sh
TERM=linux
INIT_VERSION=sysvinit-2.88
PATH=/sbin:/usr/sbin:/bin:/usr/bin
RUNLEVEL=5
PWD=/
PREVLEVEL=N
SHLVL=0
DISPLAY=:0.0
XAUTHORITY=/var/run/slim.auth

А уж openbox вообще всю подноготную выдает :)
Natrio
……………………
Но думаю, в случае с $DISPLAY можно поступить даже проще – она есть в командной строке запущенных экземплляров X
………..

[[email protected] ~]$ ps -C X -f --no-header
root       671   663  2 12:46 tty7     00:08:41 /usr/bin/X -nolisten tcp vt07 -dpi 100 -auth /var/run/slim.auth
Не светится зараза.
А, вот, через proc достать… Все костыльно, конечно. Я думал, может есть какое простое и элегантное решение, а главное переносимое, которого я не знаю.
Там-же, в вики, есть еще костыль
DBUS=$(ps aux | grep 'dbus-launch' | grep -v root)
if [[ ! -z $DBUS ]];then
	USER=$(echo $DBUS | awk '{print $1}')
	USERHOME=$(getent passwd $USER | cut -d: -f6)
	export XAUTHORITY="$USERHOME/.Xauthority"
	for x in /tmp/.X11-unix/*; do
		DISPLAYNUM=$(echo $x | sed s#/tmp/.X11-unix/X##)
		if [[ -f "$XAUTHORITY" ]]; then
			export DISPLAY=":$DISPLAYNUM"
		fi
	done
else
	USER=w00zy
	USERHOME=/home/$USER
	export XAUTHORITY="$USERHOME/.Xauthority"
	export DISPLAY=":0"
fi
ну у кого сейчас dbus не запущен :) находчиво, но как-то неэлегантно.
В общем сабж. Температурю, моск плохо работает, гугл плохо ищет.

Итак, имеем нужду, допустим, acpi скриптом отработать кнопочку выключения. Тупо при её нажатии запустить типо oblogout для пользователя.
Казалось-бы проблем нет. Пишем в скрипт что-то типа
    export DISPLAY=":0.0"
    export XAUTHORITY=/home/USERNAME/.Xauthority
   su USERNAME -c "oblogout"
вуаля, USERNAME при нажатии кнопочки, получает oblogout. Но, пользователей, вдруг, стало двое. Второму есс-но облом :)

Вроде-бы решение есть в вики
getuser ()
    {
     export DISPLAY=`echo $DISPLAY | cut -c -2`
     user=`who | grep " $DISPLAY" | awk '{print $1}' | tail -n1`
     export XAUTHORITY=/home/$user/.Xauthority
     eval $1=$user
    }

Бред полнейший -
1: Скрипты работают с правами демона, в данном случае рутовыми, и с его - же переменными окружениями - откуда аффтар отсосал $DISPLAY в окружении демона только ему известно.
2: who в таком контексте сработает только если у юзера открыты терминалы (xtrm, vte & etc.)

Аффтар школьник, и бредил прямо в вики. Ну и хрен с ним.
Я попрошу постить сюда известные Вам способы получения переменных окружений залогиненого пользователя иксов. Может у кого уже есть красивое решение. Мозг, при температуре, только вело-костыльный бред выдает…
Залогинься на другой консоли, и там попробуй в иксы войти. Будет вывод поподробней. И удобно логи посмотреть. Где-то у тебя валится, и в слим выкидывает.
Да, wbar. Иконки - clarity-icon-theme_0.3.2 где-то с гнумлука. Для wbar они конвертированные в png (скопировал все из apps)
find . -type f -exec convert -background none '{}' -background transparent -alpha On '{}'.png \; 
а то wbar падал c svg.
vadik
w00zy
лень
Жаль… (
Оффтопим здесь , наругают. Зря жалеешь, очень толково и прямыми руками написанный проект, ДЕ независимый. Морды пишутся просто, памяти ну ведь смешно занимает по сравнению… Мне, просто, вновь городить велосипед неохота, смысла не вижу, может морду на си перепишу, хотя питоновская устраивает, по минимуму всего две функции :).
#> pacman -S polkit-gnome gvfs

.xinitrc
#!/bin/sh
#
# ~/.xinitrc
#
# Executed by startx (run your window manager from here)
if [ -d /etc/X11/xinit/xinitrc.d ]; then
  for f in /etc/X11/xinit/xinitrc.d/*; do
    [ -x "$f" ] && . "$f"
  done
  unset f
fi
XKBMAP="us,ru"
XKBVARIANT=","
XKBOPT="grp:rctrl_toggle,terminate:ctrl_alt_bksp"
# XDG values
export XDG_DESKTOP_DIR="$HOME/Desktop"
export XDG_DOWNLOAD_DIR="$HOME/Downloads"
export XDG_DOCUMENTS_DIR="$HOME/Documents"
export XDG_MUSIC_DIR="$HOME/Music"
export XDG_PICTURES_DIR="$HOME/Pictures"
export XDG_VIDEOS_DIR="$HOME/Videos"
export XDG_TEMPLATES_DIR="$HOME/.Templates"
export XDG_PUBLICSHARE_DIR="$HOME/Public"
export GTK2_RC_FILES="$HOME/.gtkrc-2.0"
export OOO_FORCE_DESKTOP="gnome"
export BROWSER=firefox
export EDITOR=nano
export DE=lxde
export XDG_MENU_PREFIX=lxde-
# Preload *box session
hsetroot -full ~/Pictures/wallpapers/space-1366.jpg &
xrdb -merge ${HOME}/.Xresources
setxkbmap -layout ${XKBMAP} -variant ${XKBVARIANT} -option ${XKBOPT}
# Load
exec openbox-session

кусок /etc/slim.conf
# NOTE: if your system does not have bash you need
# to adjust the command according to your preferred shell,
# i.e. for freebsd use:
# login_cmd           exec /bin/sh - ~/.xinitrc %session
# login_cmd           exec /bin/bash -login ~/.xinitrc %session
login_cmd           exec ck-launch-session dbus-launch /bin/bash -login ~/.xinitrc %session

И корзина, и меню в псмане все работает. Корзина через gio. Упоминание lxde тоже нужно pcman-у и xdg-open скрипту.
Нет.
kbdd + морда на питоне. sbxkb переписывать надо, считай с нуля - лень.kbdd ко двору пришелся.
Только захочется что-то изменить, заходишь в галерею и понимаешь - все уже придумали :)



slim