Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.




Użytkownik





cat .scripts/autosuspend.sh
#!/bin/sh
# Suspend to ram if battery goes under this capacity when discharging :
percent=3
while true;do
state="$(acpi |grep ischarging |sed 's/.*ischarging, \([^ ]*\)%.*/\1/')"
[ -z "$state" ] && state=100
if [ "$state" -le "$percent" ];then
dbus-send --print-reply --system --dest=org.freedesktop.UPower /org/freedesktop/UPower org.freedesktop.UPower.Suspend
fi
sleep 20
donemam taki oto skrypcik i chce aby mi on zamiast suspend robil shutdown JAK?????
Offline




Psuj





Trzeba zmienić linijkę:
dbus-send --print-reply --system --dest=org.freedesktop.UPower /org/freedesktop/UPower org.freedesktop.UPower.Suspend
na:
dbus-send --system --print-reply --dest=\"org.freedesktop.ConsoleKit\" /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Stop

Offline




Użytkownik





Dzieki
mati75 napisał(-a):
Trzeba zmienić linijkę:
Kod:
dbus-send --print-reply --system --dest=org.freedesktop.UPower /org/freedesktop/UPower org.freedesktop.UPower.Suspendna:
Kod:
dbus-send --system --print-reply --dest=\"org.freedesktop.ConsoleKit\" /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Stop
dbus-send --print-reply -system --dest=org.freedesktop.ConsoleKit /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Stop
dokladnie tak i dziala elegancko w openbox a jak zrobic aby tak zamo zadzialalo z dwm
jak dodam w .xinitrc link do skryptu to nie dziala
zsh/3 794 % dbus-send --print-reply --system --dest=org.freedesktop.UPower /org/freedesktop/UPower org.freedesktop.UPower.Suspend Error org.freedesktop.UPower.GeneralError: not authorized
moze to jest problem, z sudo dziala
Offline




Użyszkodnik
A masz w tym dwm w ogóle uruchomioną sesję DBus? Pokaż wynik
ps o user,pid,cmd -C dbus-daemon
No i standardowe pytanie: w jaki sposób uruchamiasz X?
Masz zainstalowany pakiet dbus-x11?
Offline




Użytkownik





zsh/3 795 [1] % ps o user,pid,cmd -C dbus-daemon USER PID CMD dbus 2167 dbus-daemon --system przemo 3266 /usr/bin/dbus-daemon --fork --print-pid 5 --print-address 7 --session
x-y uruchamiam recznie startx.
Offline




Użyszkodnik
Wygląda w porządku.
A console-kit? Zdaje się że polecenie brzmi ck-list-sessions.
Pokaż jeszcze ~/.xinitrc, może tam coś siedzi.
Offline




Użytkownik





zsh/3 808 % cat .xinitrc
#!/bin/sh
#
# ~/.xinitrc
#
# Executed by startx (run your window manager from here)
#~/.scripts/setlang.sh
#~/.scripts/autosuspend.sh &
# Suspend to ram if battery goes under this capacity when discharging :
#percent=5
#while true;do
# state="$(acpi |grep ischarging |sed 's/.*ischarging, \([^ ]*\)%.*/\1/')"
# [ -z "$state" ] && state=100
# if [ "$state" -le "$percent" ];then
# dbus-send --print-reply --system --dest=org.freedesktop.UPower /org/freedesktop/UPower org.freedesktop.UPower.Suspend
# fi
# sleep 20
#done
setxkbmap -option terminate:ctrl_alt_bksp;
conky -c ~/v9000/.conkyrc &
#sleep 2s && sh ~/.fehbg.sh &
while true; do
xsetroot -name "$( date +"%F %R" )"
# xsetroot -name "$(date +"%a, %b %d %Y | %H:%M")"
sleep 1m # Update time every minute
done &
source /etc/X11/xinit/xinitrc.d/30-dbus
exec ck-launch-session dbus-launch dwm
exec dwm & moonphase-applet.pl
#while true
#do
# while true
# do
# while true
# do
# xsetroot -name "$(date +"%a, %b %d %Y | %H:%M")"
# sleep 55s
# done &
# /usr/bin/dwm
# done
#doneOffline




Użyszkodnik
Co jest w pliku /etc/X11/xinit/xinitrc.d/30-dbus?
Co się stanie jeżeli wypieprzysz plik ~/.xinitrc (zmień mu nazwę) i uruchomisz:
startx dwm
?
startx wywołuje /etc/X11/xinit/xinitrc, który z kolei wywołuje /etc/X11/Xsession, który czyta wszystkie pliki z /etc/X11/Xsession.d/ i ostatecznie powinien skonstruować polecenie:
ck-launch-session dbus-launch --exit-with-session $(which "$1")
(gdzie $1 to oczywiście argument przekazany startx)
Czyli wszystko powinno działać z buta.
Rozumiem, że to polecenie działa pod Openboxem, tylko pod dwm nie chce?
Zawsze możesz skorzystać z mojego starego artykułu. Działa wszędzie ;) .
Offline




Użytkownik





tak wlasnie jest, w open box skrypt jest wywolywany przez link w autostart.sh
zsh/3 816 % cat cat .config/openbox/autostart.sh
cat: cat: No such file or directory
#!/bin/sh
# This shell script is run before Openbox launches.
# Environment variables set here are passed to the Openbox session.
# D-bus session
if which dbus-launch >/dev/null && test -z "$DBUS_SESSION_BUS_ADDRESS"; then
eval `dbus-launch --sh-syntax --exit-with-session`
fi
#applique les paramètres résolution/écrans ; apply screen and resolution parameters
~/.screenlayout/*.sh
## Desktop environment
#suspend to ram à 3% de batterie ; suspend to ram when battery reaches 3%
~/.scripts/autosuspend.sh &
#jolis fondus et transparence ; nice fadings and transparency
#xcompmgr &
#panel
fbpanel &
#fond d'écran, également mis au bureau pcmanfm
# wallpaper, also applied to pcmanfm's desktop
(if [ -e ~/.config/wallpaper ];then bkgimg="$(<~/.config/wallpaper)"
else bkgimg="$(find $(<~/.config/wallpapers-folder) -type f |sort -R |tail -1)";fi
feh --bg-scale "$bkgimg"
sed -i "s|^wallpaper=.*$|wallpaper=$bkgimg|" ~/.config/pcmanfm/default/pcmanfm.conf
#icônes du bureau ; desktop icons
pcmanfm --desktop &
) &
#éteint l'écran après 10mn d'inactivité ; screen switches off after 10mn idle
xset dpms 0 0 600
#moniteur de batterie en tray ; tray battery monitor
#BatterySystemTray &
#réglage du volume sonore en tray ; tray sound volume control
volumeicon &
#wicd tray
wicd-client --tray &
pytyle3 &
#urxvt &
#addons
(while [ -z "$(pidof openbox)" ];do sleep 1;done;for addon in /addons/xsession/*;do ($addon &);done) &zalezy mi na tym bo bateria w moim lapku startcza na jakies 10/15minut a gniazdo zasilania sie sypie wiec zdazaja mi sie przypadkowe odziecia od zasilania i lapek w trakcie pracy mi sie niespodziewanie wylacza, wiec pomyslalem ze jak by ten skrypt dzialal jak dziala w openboks to by mi sie elegancko zamykal albo hibernowal zamiast poprostu wylaczac.
Ostatnio edytowany przez pink (2012-07-15 11:04:24)
Offline




Użyszkodnik
Minio napisał(-a):
Co jest w pliku /etc/X11/xinit/xinitrc.d/30-dbus?
Co się stanie jeżeli wypieprzysz plik ~/.xinitrc (zmień mu nazwę) i uruchomisz:Kod:
startx dwm?
Poza tym pokaż zawartość pliku /etc/X11/Xsession.options.
Nadal nie pokazałeś wyników polecenia ck-list-sessions spod Openboksa oraz dwm.
Offline




Użytkownik





DWM /openbox to samo
zsh/3 824 % ck-list-sessions
Session1:
unix-user = '1000'
realname = '(null)'
seat = 'Seat1'
session-type = ''
active = FALSE
x11-display = ''
x11-display-device = ''
display-device = '/dev/tty1'
remote-host-name = ''
is-local = TRUE
on-since = '2012-07-15T08:52:35.031734Z'
login-session-id = ''
idle-since-hint = '2012-07-15T08:53:09.464650Z'
Session2:
unix-user = '1000'
realname = '(null)'
seat = 'Seat2'
session-type = ''
active = FALSE
x11-display = ':0'
x11-display-device = '/dev/tty5'
display-device = '/dev/tty1'
remote-host-name = ''
is-local = FALSE
on-since = '2012-07-15T08:52:42.550203Z'
login-session-id = ''czemu dwie sesje ???
zsh/3 847 % cat /etc/X11/xinit/xinitrc.d/30-dbus #!/bin/bash # launches a session dbus instance dbuslaunch="`which dbus-launch 2>/dev/null`" if [ -n "$dbuslaunch" ] && [ -x "$dbuslaunch" ] && [ -z "$DBUS_SESSION_BUS_ADDRESS" ]; then eval `$dbuslaunch --sh-syntax --exit-with-session` fi
Ostatnio edytowany przez pink (2012-07-15 13:33:44)
Offline




Użyszkodnik
W przypadku dwm najpierw uruchamiasz ten skrypt (tzn. uruchamiałbyś, gdyby nie był zakomentowany) a potem sesję consolekit; w przypadku Openboksa najwyraźniej najpierw jest uruchamiana sesja a potem skrypt.
Przy czym nie może być na Openboksie i dwm dokładnie tak samo, gdyż wynik polecenia, który pokazałeś, wskazuje że obie sesje są nieaktywne. W takim wypadku na Openboksie również nie powinno działać. Albo więc w rzeczywistości nie działa, w przeciwieństwie do tego co twierdzisz, albo wynik polecenia nie jest dokładnie taki sam, w przeciwieństwie do tego co twierdzisz.
Możesz jeszcze zobaczyć tutaj. Generalnie wiele osób narzeka na nieaktywną sesję CK jeżeli uruchomi się X z TTY1. Ja też nie mogę jej zmusić do aktywowania się w tym przypadku.
Masz trzy możliwości:
a) dalej grzebać przy tym problemie z nieaktywną sesją;
b) olać to i zainstalować jakiś menedżer logowania, jak Lightdm, GDM lub KDM;
c) olać to i skonfigurować sobie wyłączanie komputera z pominięciem CK, o czym traktuje artykuł, do którego linka znajdziesz w ósmym poście tego tematu.
Offline







Podobno człowiek...;)








Sesja consolekit? poszukaj w /etc/pam.d stringu x11,
jest w którymś konfigu i bruździ:
Poszukaj np tak:
grep -i x11 /etc/pam.d/*
U mni atrybut nox11 przy pam_ckconnector całkowicie wyłaczał consolekit w sesjach xserwera.
Wywaliłem ten wpis, i teraz nie pamiętam, w którym konfigu był, na 95% w
/etc/pam.d/system-login
Tutaj był identyczny problem (w pierwszej czesci wątku):
http://forum.dug.net.pl/viewtopic.php?pid=204327
Pozdrawiam
;-)
Ostatnio edytowany przez Jacekalex (2012-07-15 13:49:54)
Offline




Użytkownik





zsh/3 861 % grep -i x11 /etc/pam.d/* /etc/pam.d/login:-session optional pam_ck_connector.so nox11 /etc/pam.d/sshd:-session optional pam_ck_connector.so nox11 /etc/pam.d/system-login:-session optional pam_ck_connector.so nox11
na 100%
zsh/3 862 % cat /etc/pam.d/system-login #%PAM-1.0 auth required pam_tally.so onerr=succeed file=/var/log/faillog auth required pam_shells.so auth requisite pam_nologin.so auth include system-auth account required pam_access.so account required pam_nologin.so account include system-auth password include system-auth session optional pam_loginuid.so session required pam_env.so session include system-auth session optional pam_motd.so motd=/etc/motd session optional pam_mail.so dir=/var/spool/mail standard -session optional pam_ck_connector.so nox11 -session optional pam_systemd.so
Offline







Podobno człowiek...;)








Ja powywalałbym wszystkie opcje nox11.
U siebie mam:
grep -i nox11 /etc/pam.d/* |wc -l 0
W ten sposób wszystkie sesje Xserwera mam z aktywna sescją ck, natomiast konsolowe nieaktywne, po ostatniej aktualizacje, wcześnniej wszystko było ok, ale teraz też wsio dziala.
Offline