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/.
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 done
mam taki oto skrypcik i chce aby mi on zamiast suspend robil shutdown JAK?????
Offline
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
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
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
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
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
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 #done
Offline
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
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
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
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
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
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
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
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