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!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2012-07-13 19:41:51

  pink - Użytkownik

pink
Użytkownik
Skąd: P17PY93
Zarejestrowany: 2005-09-16

autosuspend.sh

Kod:

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?????


T430 think-box 4.9-custom x86_64 Intel(R) Core(TM) i5-3230M CPU @ 2.60GHz GenuineIntel GNU/Linux
"Doktor plama i maharadża są pod złotym leszczem." "Człowieka od zwierzęcia odróżnia ciekawość świata. Patrze słucham i wyciągam wnioski."
https://www.behance.net/przemyslawmamon

Offline

 

#2  2012-07-13 20:03:42

  mati75 - Psuj

mati75
Psuj
Skąd: masz ten towar?
Zarejestrowany: 2010-03-14

Re: autosuspend.sh

Trzeba zmienić linijkę:

Kod:

dbus-send --print-reply --system --dest=org.freedesktop.UPower /org/freedesktop/UPower org.freedesktop.UPower.Suspend

na:

Kod:

dbus-send --system --print-reply --dest=\"org.freedesktop.ConsoleKit\" /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Stop

https://l0calh0st.pl/obrazki/userbar.png

Offline

 

#3  2012-07-14 21:58:36

  pink - Użytkownik

pink
Użytkownik
Skąd: P17PY93
Zarejestrowany: 2005-09-16

Re: autosuspend.sh

Dzieki

mati75 napisał(-a):

Trzeba zmienić linijkę:

Kod:

dbus-send --print-reply --system --dest=org.freedesktop.UPower /org/freedesktop/UPower org.freedesktop.UPower.Suspend

na:

Kod:

dbus-send --system --print-reply --dest=\"org.freedesktop.ConsoleKit\" /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Stop

Kod:

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

Kod:

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


T430 think-box 4.9-custom x86_64 Intel(R) Core(TM) i5-3230M CPU @ 2.60GHz GenuineIntel GNU/Linux
"Doktor plama i maharadża są pod złotym leszczem." "Człowieka od zwierzęcia odróżnia ciekawość świata. Patrze słucham i wyciągam wnioski."
https://www.behance.net/przemyslawmamon

Offline

 

#4  2012-07-14 22:18:25

  Minio - Użyszkodnik

Minio
Użyszkodnik
Skąd: Poznań, Polska
Zarejestrowany: 2007-12-22
Serwis

Re: autosuspend.sh

A masz w tym dwm w ogóle uruchomioną sesję DBus? Pokaż wynik

Kod:

ps o user,pid,cmd -C dbus-daemon

No i standardowe pytanie: w jaki sposób uruchamiasz X?
Masz zainstalowany pakiet dbus-x11?

Offline

 

#5  2012-07-14 22:45:51

  pink - Użytkownik

pink
Użytkownik
Skąd: P17PY93
Zarejestrowany: 2005-09-16

Re: autosuspend.sh

Kod:

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.


T430 think-box 4.9-custom x86_64 Intel(R) Core(TM) i5-3230M CPU @ 2.60GHz GenuineIntel GNU/Linux
"Doktor plama i maharadża są pod złotym leszczem." "Człowieka od zwierzęcia odróżnia ciekawość świata. Patrze słucham i wyciągam wnioski."
https://www.behance.net/przemyslawmamon

Offline

 

#6  2012-07-15 00:33:50

  Minio - Użyszkodnik

Minio
Użyszkodnik
Skąd: Poznań, Polska
Zarejestrowany: 2007-12-22
Serwis

Re: autosuspend.sh

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

 

#7  2012-07-15 00:56:39

  pink - Użytkownik

pink
Użytkownik
Skąd: P17PY93
Zarejestrowany: 2005-09-16

Re: autosuspend.sh

Kod:

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

T430 think-box 4.9-custom x86_64 Intel(R) Core(TM) i5-3230M CPU @ 2.60GHz GenuineIntel GNU/Linux
"Doktor plama i maharadża są pod złotym leszczem." "Człowieka od zwierzęcia odróżnia ciekawość świata. Patrze słucham i wyciągam wnioski."
https://www.behance.net/przemyslawmamon

Offline

 

#8  2012-07-15 01:32:11

  Minio - Użyszkodnik

Minio
Użyszkodnik
Skąd: Poznań, Polska
Zarejestrowany: 2007-12-22
Serwis

Re: autosuspend.sh

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

?
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

 

#9  2012-07-15 10:59:37

  pink - Użytkownik

pink
Użytkownik
Skąd: P17PY93
Zarejestrowany: 2005-09-16

Re: autosuspend.sh

tak wlasnie jest, w open box skrypt jest wywolywany przez link w autostart.sh

Kod:

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)


T430 think-box 4.9-custom x86_64 Intel(R) Core(TM) i5-3230M CPU @ 2.60GHz GenuineIntel GNU/Linux
"Doktor plama i maharadża są pod złotym leszczem." "Człowieka od zwierzęcia odróżnia ciekawość świata. Patrze słucham i wyciągam wnioski."
https://www.behance.net/przemyslawmamon

Offline

 

#10  2012-07-15 12:48:21

  Minio - Użyszkodnik

Minio
Użyszkodnik
Skąd: Poznań, Polska
Zarejestrowany: 2007-12-22
Serwis

Re: autosuspend.sh

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

 

#11  2012-07-15 13:24:47

  pink - Użytkownik

pink
Użytkownik
Skąd: P17PY93
Zarejestrowany: 2005-09-16

Re: autosuspend.sh

DWM /openbox to samo

Kod:

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 ???


Kod:

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)


T430 think-box 4.9-custom x86_64 Intel(R) Core(TM) i5-3230M CPU @ 2.60GHz GenuineIntel GNU/Linux
"Doktor plama i maharadża są pod złotym leszczem." "Człowieka od zwierzęcia odróżnia ciekawość świata. Patrze słucham i wyciągam wnioski."
https://www.behance.net/przemyslawmamon

Offline

 

#12  2012-07-15 13:44:39

  Minio - Użyszkodnik

Minio
Użyszkodnik
Skąd: Poznań, Polska
Zarejestrowany: 2007-12-22
Serwis

Re: autosuspend.sh

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

 

#13  2012-07-15 13:46:54

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/random
Zarejestrowany: 2008-01-07

Re: autosuspend.sh

Sesja consolekit? poszukaj w /etc/pam.d stringu x11,
jest w którymś konfigu i bruździ:
Poszukaj np tak:

Kod:

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

Kod:

/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)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#14  2012-07-15 13:58:37

  pink - Użytkownik

pink
Użytkownik
Skąd: P17PY93
Zarejestrowany: 2005-09-16

Re: autosuspend.sh

Kod:

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%

Kod:

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

T430 think-box 4.9-custom x86_64 Intel(R) Core(TM) i5-3230M CPU @ 2.60GHz GenuineIntel GNU/Linux
"Doktor plama i maharadża są pod złotym leszczem." "Człowieka od zwierzęcia odróżnia ciekawość świata. Patrze słucham i wyciągam wnioski."
https://www.behance.net/przemyslawmamon

Offline

 

#15  2012-07-15 14:23:30

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/random
Zarejestrowany: 2008-01-07

Re: autosuspend.sh

Ja powywalałbym wszystkie opcje nox11.
U siebie mam:

Kod:

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.


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
Nas ludzie lubią po prostu, a nie klikając w przyciski ;-)