Προς το περιεχόμενο

Sleep όταν αδειάζει η μπαταρία


bab1s

Προτεινόμενες αναρτήσεις

Έχω ένα MacBook Pro με Snow Leopard. Όταν το αφήνω στη μπαταρία και αδειάζει,

αντί να μπαίνει σε sleep κλείνει εντελώς...

 

Το ίδιο μου έκανε και με το Leopard...

 

Έχει κανείς καμιά ιδέα για να μπαίνει σε sleep;

 

Ευχαριστώ!

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Είσαι σίγουρος πως δεν μπαίνει σε sleep mode? Δεν αναβοσβήνει το φωτάκι μπροστα?

 

Χαζή ερώτηση αλλά για να τα πιάσουμε από την αρχή. Πιθανόν πάντως ένας λόγος είναι να φταίει η μπαταρία.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Καλά κάνεις και ξεκινάς από τα απλά, αλλά δυστυχώς είναι όπως

το λέω... Δεν αναβοσβήνει το λαμπάκι. Και πρέπει να κάνω κανονικό

boot μετά για να ανοίξει.

 

---------- Το μήνυμα προστέθηκε στις 16:28 ----------

 

Μπαταρία μόλις πήρα καινούργια! Σε τι ποσοστό κάνει sleep σε

εσένα;

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Ούτε αυτό είναι. Στο Energy Saver, στις ρυθμίσεις για την μπαταρία, έχω το Computer Sleep στα 25min.

 

Πιο παλιά το είχα λιγότερο αλλά και πάλι το ίδιο μου έκανε.

 

Ψάχνω από το πρωί για αυτό το πρόβλημα. Το μόνο που βρήκα,

αλλά δεν έχω επιβεβαιώσει ακόμα, είναι να κάνω reset το smc.

 

Έψαχνα για καμιά εφαρμογή που να το βάζει σε sleep ανάλογα

με τη διαθέσιμη μπαταρία. Δεν βρήκα κάτι εκτός από απλά

monitor.

 

Τώρα το βγάζω από το ρεύμα για να δώ αν με το reset που

έκανα στο smc δουλέψει.

 

Θα σας πω σε λίγο πάλι!

 

---------- Το μήνυμα προστέθηκε στις 21:46 ----------

 

Παιδιά το έφτασα μέχρι 9%.

 

Δεν το πάω παρακάτω γιατί νομίζω ότι και σε αυτό το σημείο

δεν είναι ότι καλύτερο για την μπαταρία.

 

Άλλωστε κάπως έτσι χάλασε η προηγούμενη. Έμενε ανοιχτό

και στο τέλος έκλεινε εντελώς...

 

Δε θα έπρεπε κάπως να μπορείς να ρυθμίζεις πότε θες να κάνει

sleep;

 

Σε άλλα λειτουργικά νομίζω γίνεται.

 

---------- Το μήνυμα προστέθηκε στις 00:47 ----------

 

Μετά από ψάξιμο μιας ημέρας έφτιαξα το παρακάτω scipt-άκι.

 

>
#!/bin/sh

while :
do
acc=$(ioreg -w0 -l | grep IsCharging | tr -cd "Yes")
  	max=$(ioreg -w0 -l | grep MaxCapacity | tr -cd "[:digit:]")
cur=$(ioreg -w0 -l | grep CurrentCapacity | tr -cd "[:digit:]")
rem=$(echo "100 - 100*($max-$cur)/$max" | bc)

if [ $acc == "s" ]
then
	if [ $rem -lt 20 ]
		then
		$(osascript -e 'tell application "System Events" to sleep')
	fi
fi

sleep 30
done

 

Είμαι σίγουρος ότι όσοι καταλαβαίνουν από shell script θα τραβάνε τα μαλιά

τους, αλλά ας με συγχωρέσουν... Πρώτη φορά γράφω κάτι σε script και είναι

ουσιαστικά κόψιμο και ράψιμο πολλών πραγμάτων που βρήκα στο idernet.

 

Το καλό με αυτό που έγραψα είναι ότι μπορείς να ορίσεις στο πόσο τις εκατό

της μπαταρίας θέλεις να κάνεις sleep.

 

Τα κακά είναι πολύ περισσότερα...

 

1) Θέλει φτιάξιμο ο κώδικας.

2) Δεν έχω ιδέα πως να το κάνω να τρέχει με το που κάνω login σαν daemon

3) Δεν ξέρω αν παίζει κάτι στραβό με τις διεργασίες που δημιουργούνται

4) Από όσο διάβασα πριν λίγο, θα ήταν καλύτερα να γίνει σε perl (δεν έχω ιδέα)

 

Περιμένω σχόλια-βελτιώσεις από όποιον ξέρει.

Ευχαριστώ!

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Yπάρχουν 2 είδη sleep mode:

- το απλό sleep mode, που σβήνει όλος ο υπολογιστής εκτός από τη RAM.

- το deep sleep mode, που τα περιεχόμενα της RAM αποθηκεύονται σε ειδικό αρχείο στο δίσκο και μετά σβήνει όλος ο υπολογιστής.

 

Κανονικά, στο Mac δουλεύουν ταυτόχρονα και τα 2. Έτσι, υπο κανονικές συνθήκες, μπορεί και "ξυπνάει" από το sleep άμεσα (αφού η μνήμη δεν έχει σβήσει), αλλά δεν χάνεις και δεδομένα σε περίπτωση που τελειώσει η μπαταρία (αφού έχει κρατήσει τα περιεχόμενα της μνήμης στο δίσκο).

 

Μήπως στο δικό σου έχει απενεργοποιηθεί το 2ο? Μπορείς να το δεις και να το αλλάξεις μέσω του SmartSleep (μάλιστα μέσω αυτού μπορείς να ενεργοποιήσεις και το "Smart Sleep": αν η μπαταρία είναι κάτω από ένα όριο, θα χρησιμοποιήται το deep sleep αλλιώς το απλό sleep).

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Ωραίο το πρόγραμματάκι που λες φίλε georgeadams.

Δεν κάνει όμως για αυτό που θέλω εγώ. Για την ακρίβεια

το χρησιμοποιώ ήδη, αλλά αυτό που σου προσφέρει

είναι επιλογή ανάμεσα στους τρόπους που θα κάνει

sleep και όχι το πότε.

 

Ξέρεις καμιά εφαρμογή για αυτό; Έχω φάει τον κόσμο

να βρω κάποιο...

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Παιδιά μόλις έφτιαξα το πρώτο μου widget!!!

 

Κάνει ακριβώς αυτό που ζητούσα! Ό,τι κάνει δηλαδή και το scriptακι

που έδωσα παραπάνω. Μόνο που το κάνει καλύτερα!

 

Αφού είναι widget, το βάζεις στο Dashboard και ξενοιάζεις!

Δε χρειάζεται να γράψεις τίποτα στο Terminal...

 

Έχω κρατήσει το interface όσο πιο απλό μπορούσα. Ο χρήστης απλώς

πρέπει να επιλέξει το ποσοστό της μπαταρίας στο οποίο θέλει να

κοιμάται το mac του! Αν το mac είναι στην πρίζα, δεν κοιμάται βεβαίως

βεβαίως. Μόνο αν είναι σε μπαταρία και πέσει το ποσοστό της κάτω από

αυτό που ορίζεις.

 

Το έβαλα επίτηδες, να κάνει τον έλεγχο κάθε ένα λεπτό, για να μην

καίει τσάμπα τον επεξεργαστή. Νομίζω είναι καλός αυτός ο χρόνος,

γιατί όσο χάλια και να είναι η μπαταρία, θα προλάβει να κάνει sleep.

 

Εγώ το έχω ήδη βάλει και το δοκίμασα επιτυχώς! Σας το δίνω να το

δοκιμάσετε και εσείς!

 

Ορίστε και ένα screenshot

http://yfrog.com/58screenshot01vp

 

Το icon που έχει, το βρήκα εδώ

http://www.iconarchive.com/show/mac-icons-by-artua/Battery-icon.html

και δίνεται δωρεάν.

 

Αν κάποιος έχει κάτι καλύτερο να δώσει, δεκτόν!

 

Επίσης, μπορείτε να δείτε τον κώδικα αν πάτε με δεξί κλικ

Show Package Contents -> main.js

 

Αν κάποιος θέλει το project από το dashcode του το στέλνω.

 

Αυτά!

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Να 'σαι καλά Whiteyez!

 

Πολύ όμορφη εικόνα... Μήπως υπάρχουν όμως τίποτα προβλήματα με δικαιώματα; Συνεχίζω να το δουλεύω για να γίνει όσο πιο ολοκληρωμένο

γίνεται. Αν φτάσει σε ένα ωραίο σημείο, θα το δώσω σαν freeware και

στην apple.

 

Θα μπορούσε κάποιος να φτιάξει μία παρόμοια εικόνα ίσως και με κάποιο "Zzzz" για να δείχνει ότι σχετίζεται με το sleep;

 

Προσπάθησα να το φτιάξω εγώ, αλλά στο σχέδιο είμαι λίγο

χειρότερος από τον χειρότερο που μπορεί να κυκλοφορεί...

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Όπως είπα και πιο πριν, δούλευα σε μία πιο καινούρια έκδοση.

Όχι φοβερές διαφορές αλλά έχει κάποιες.

 

-> Έχω ορίσει σαν κατώτατο όριο το 10%, οπότε και θα πέσει σε sleep χωρίς

διαπραγματεύσεις!

 

-> Όταν φτάνει στο όριο που βάζει ο χρήστης, θα τον ρωτήσει αν θέλει όντως

να κάνει sleep. Αν επιλέξει όχι, τότε θα περιμένει για 1 από τα εξής 2. Πρώτον,

αν φτάσει στο 10% θα κάνει sleep. Δεύτερον, αν μπει στο ρεύμα και φορτίσει

λίγο παραπάνω από το όριο που έδωσε ο χρήστης θα αρχίσει πάλι να ελέγχει

για το όριο του χρήστη.

 

-> Σαν κατώτατο επιτρεπτό όριο που μπορεί να βάλει ο χρήστης έχω βάλει το 15%.

Αυτό το έκανα για δύο λόγους. Πρώτα απ' όλα, θα έχανε όλο του το νόημα αν

κάποιος το έβαζε σε λιγότερο από 10% και ήθελα να μπορεί να πετάει πρώτα το

μύνημα πριν πέσει σε sleep από μόνο του.

 

-> Σαν ανώτερο όριο έβαλα 5% πιο κάτω από το μέγιστο που αντέχει η μπαταρία.

Μία καινούρια αντέχει μέχρι 5600mAh. Οπότε, υπολογίζει το μέγιστο, για την

μπαταρία που έχει το laptop επάνω, και αφαιρεί 5%. Αυτό το έκανα γιατί αν το

βάλεις κοντά στο 100% με το παραμικρό που βγαίνει από το ρεύμα θα ζητούσε να

κάνει sleep, οπότε θα ήταν πολύ σπαστικό...

 

Τέλος, όσον αφορά το μύνημα ότι έφτασε στο όριο του χρήστη, το έκανα με ένα

applescipt (Show Package Contents -> confirm.applecsript). Προσπάθησα να το

κάνω πιο όμορφο, αλλά δεν μπορούσα. Όποια βοήθεια δεκτή!

 

Αυτά!

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...