Newsgroup: it.comp.macintosh
Titolo: Mettere in stop l'ibook da Terminale

Come da oggetto, mi piacerebbe poter mettere in stop il mio iBook da un 
comando da Terminale, in modo da poterlo mettere in cron (esempio: esco
e gli dico di mettersi in stop dopo un'ora).
C'è un modo di farlo?
-- 
Andrea Bergia - studente              Linux Registered User #281550

 C'č un modo di farlo?
usare il normalissimo risparmio energia par troppo facile ???!?!
-- 
ciao
chris
www.christian.pacher.name
www.ihm-bz.it

 C'č un modo di farlo?
Mi viene in mente solo pmset... un 'sudo pmset -a sleep 1' dovrebbe
dirgli di dormire dopo un minuto di inattivita`.  Puoi anche precederlo
con un pmset -g | grep sleep (per salvare i valori precedenti,
ridirigendo su un qualche file) cosi` puoi ripristinare i valori
precedenti quando vuoi...
Alex

 precedenti quando vuoi...
Grazie mille! Comodissimo.


 usare il normalissimo risparmio energia par troppo facile ???!?!
Beh, non va bene per le mie esigenze, che ora ti spiego :-)
Ho una flat su modem 56K, che dura dalle 9 alle 18. Ogni tanto esco il 
pomeriggio, e mi farebbe comodo lasciare l'ibook a scaricare e metterlo 
in stop automaticamente alle 17.57, per esempio. E non ho voglia ogni 
volta di smanettare col conteggio di quanto resta prima di quell'ora, e 
modificare con click vari. Troppo scomodo. Per questo prefererei mettere 
un bel job in cron che lo mette in stop automaticamente verso le 17.57, 
tanto anche se ci sto lavorando il tempo per metterlo in stop e 
riaccenderlo non è un gran peso da sopportare.


 usare il normalissimo risparmio energia par troppo facile ???!?!
Come si usa da terminale, o da uno script bash?  Un problema che ho
avuto ad esempio e` il seguente: lancio una megamonstercompilazione
(configure, poi make) e vado a dormire.  Non so se la compilazione
prendera` cinque ore o sei o magari anche un poco di piu`.  Ovviamente
non voglio che l'iBook si metta a dormire nel bel mezzo.  Mi piacerebbe
invece che dormisse subito dopo, quindi vorrei poter dire:
    $ ./configure ; make ; vaiananna
o simili.  Ma il comando shell 'vaiananna' non c'e`.  Quindi la domanda
di Andrea mi sembra ragionevolissima e non capisco il senso della tua
risposta -- grazie anticipate per un chiarimento!
Alex

 riaccenderlo non è un gran peso da sopportare.
ahhhhhh, ora e' chiaro


 risposta -- grazie anticipate per un chiarimento!
non mi pare ragionevole a prescindere, quando appare unicamente una
complicazione (oddio, nulla contro allo spippolarsi il terminale, ma se
a volte esistono metodi piu' differenti)
e' ovvio che se nasce da esigenze piu' "particolari" se ne puo' parlare


 e' ovvio che se nasce da esigenze piu' "particolari" se ne puo' parlare
IMHO le esigenze te le ha spiegate e sono piu' che giustificate!
-- 
http://www.dorelli.com
 - AIM: danmagma
In the shadow of the cargoes I take you one time
And we're counting all the numbers down to the waterline.

 e' ovvio che se nasce da esigenze piu' "particolari" se ne puo' parlare
L'esigenza o l'opportunita` di svolgere automaticamente dei compiti
massicci che non richiedono necessariamente alcuna supervisione e`
tutt'altro che "particolare".  La possibilita` di addormentare
automaticamente il computer alla fine di tali compiti e` egualmente di
interesse assai generale -- assai piu` pratica, per me, che non dovere
scegliere fra lasciarlo pienamente sveglio oppure spegnerlo del tutto
(quest'ultimo obbiettivo e` facile da raggiungere col comando shutdown,
direi che Apple ha solo omesso, ed e` un peccato, un qualche flag
opportuno sul comando shutdown per mettere il computer in sleep invece
di spegnerlo completamente).
Alex

 tutt'altro che "particolare"
probabilmente non mi sono espresso a dovere, ma non ci vedo tutte queste
"cose" che ci vedete voi
a domanda "come si mette in sleep il mac da terminale" a me viene ovvio
chiedere se non basta il relativo pannello di controllo, dato che ignoro
quanto venuto fuori successivamente nel thread


 IMHO le esigenze te le ha spiegate e sono piu' che giustificate!
per favore, non mettetemi in bocca parole che non ho detto
ad una domanda ho dato una risposta, che POI si e' rivelata
assolutamente inutile, questo non lo metto in dubbio
Ma non e' la prima volta che mi capita di cercare una soluzione
"complicatissima" per aver perso di vista l'esistenza di strade
alternative e a volte  piu' semplici


 wrote:
puoi anche usare sleepnow, che si trova in darwinports
se non lo hai ecco il sorgente
(se serve il binario, ditelo che mando un'unica mail)
/* taken from 
darwinports.opendarwin.org
 * compile with
 * gcc -o sleepnow sleepnow.c -lIOKit
 */
#include <IOKit/IOKitLib.h>
#include <IOKit/pwr_mgt/IOPMLib.h>
#include <IOKit/IOReturn.h>
#include <mach/mach_init.h>        /* for bootstrap_port */
#include <stdio.h>
#include <fcntl.h>
int main(int argc, char *argv[]) {
    mach_port_t master;
    io_connect_t pmcon;
    if (IOMasterPort(bootstrap_port, &master) != kIOReturnSuccess) {
        perror("IOMasterPort() failed");
        exit(1);
    }
    pmcon = IOPMFindPowerManagement(master);
    if (pmcon == 0) {
        fprintf(stderr, "IOPMFindPowerManagement() failed!\n");
        exit(1);
    }
    if (IOPMSleepSystem(pmcon) != kIOReturnSuccess) {
        perror("IOPMSleepSystem() failed");
        exit(1);
    }
    return 0;
}

..stracut
ma a questo punto, pseudopolemiche a parte, sorge a me una domanda:
il mac non "capisce" se il terminale (passami il termine) sta lavorando
o meno, e quindi regolarsi da solo per l'eventuale sleep ??
ovvero, io potrei mettere il mio amato grass a fare ore di rendering ed
il mec fregandosene altamente potrebbe mettersi in sleep dopo 15 minuti
?


 ?
Nella mia esperienza, si`, se il tuo mac e` programmato cosi`.  Ho visto
in giro di vari trucchi che si possono fare per _tenere sveglio_ un mac
che di suo sarebbe programmato x addormentarsi, ma non li ho provati e
quindi non so dirti se funzionino bene.
Immagino che il problema sia che ci puo` sempre essere un tot di
programmi, terminale o meno, che "stanno lavorando", e se lo sleep li
lasciasse tutti lavorare non dormirebbe mai; quindi lo sleep si basa su
quello di cui puo` esser certo, cioe` una _interazione utente_ -- ti
garantisce, a seconda di come lo programmi, di non dormire per almeno X
minuti dall'ultima interazione con l'utente.
Alex

 se non lo hai ecco il sorgente
Carino, grazie!
Alex

 minuti dall'ultima interazione con l'utente.
aha, chiarissimo, tnks


 automaticamente
Troppo scomodo? Mah...
Preferenze di Sistema > Risparmio Energia:
1. "Metti il computer in stop quando non e' attivo per": 1 min
2. "Metti in stop il disco rigido quando e' possibile"
Un minuto dopo aver terminato il download, il tuo iBook andra' in stop
automaticamente.
In alternativa:
Making Mac OS X sleep from the command line
http://www.majid.info/mylos/weblog/2003/12/05-1.html
Programmatically causing restart, shutdown and/or logout
http://developer.apple.com/qa/qa2001/qa1134.html
-- 
http://folgore.dyndns.info

 wrote:

Ehi, se usi python e usi i findertools, fai solo:
#/usr/bin/python
import findertools
findertools.sleep()
;-)
-- 
Whamoo 
www.rknet.it
Powerd by: MacOsX, Gnu/Linux Debian Sarge,
Amiga Os 3.9, Milk.

 findertools.sleep()
Ma pensa te che non l'avevo neppure notata, 'sta chicca!!!
Alex

 
http://developer.apple.com/qa/qa2001/qa1134.html
Il buffo e` che i primi compiti elencati nel titolo si fanno anche col
normale comando shutdown come in ogni altro Unix -- si sono scordati di
mettere nel titolo, come si sono scordati di mettere in shutdown, il
"dettaglio" dello sleep;-) (che invece nell'articolo e` ben coperto,
quindi grazie della segnalazione).
Alex

 ;-)
oh cavolo...
si prospetta una riscrittura di script vari...
thanks

 minuti dall'ultima interazione con l'utente.
Infatti quando e' aperto io ho impostato lo sleep a "mai" dal pannello
di controllo.
Quindi la possibilita' di stopparlo da terminale mi sembra molto utile.


  * gcc -o sleepnow sleepnow.c -lIOKit
Scusa la domanda niubba, ma per avere gcc ed altri strumenti di
programmazione debbo installare i Developer Tools di Apple?


 a volte invece non ci sono altre soluzioni ragionevoli.
E' a questo che ho replicato anch'io, ma forse il mio post e' stato
travisato.
Quando ho letto "ragionevole a prescindere" mi sono fischiate le
orecchie, seppur non faccia un grande uso come te del terminale.


 programmazione debbo installare i Developer Tools di Apple?
si

 Quindi la possibilita' di stopparlo da terminale mi sembra molto utile.
Eh si`.  E grazie al findetools che whamoo ha indicato e` facilissimo!
Alex

 programmazione debbo installare i Developer Tools di Apple?
Si`, Xcode (un tempo noto come Developer Tools) comprende gcc e altro
(alcuni strumenti come Python invece sono a parte: il runtime e
l'interprete interattivo da terminale sono gia` in Panther base, altri
strumenti di sviluppo, doc ecc li scarichi come "macpython" dal sito di
Python).  Il Developer Tools che hai sui dischi di sistema difficilmente
e` aggiornato: iscriviti gratis come Apple Developer e scarica
gratuitamente l'XCode piu` aggiornato, conviene.
Alex

 (se serve il binario, ditelo che mando un'unica mail)
Grazie mille, comodissimo!!!! L'ho gią compilato, e funziona 
perfettamente. Ecco la soluzione che cercavo!


 ?
Infatti č scomodo, come diceva Alex sarebbe stato comodo un comando tipo:
# shutdown -s now
Si sarebbe potuto fare ./configure ; make ; shutdown -s now
e si sarebbe ottenuto lo stop all'ora giusta automaticamente.
Oppure io (sempre per la mia connessione da chiudere alle 17.57) farei: 
# shutdown -c 17:57 &
quando esco.
Cosģ non ci si baserebbe sull'inattivitą, ma semplicemente avverrebbe 
uno shutdown immediato.


 uno shutdown immediato.
Si`, sarebbe piu` logico averlo come parte del programma shutdown.  Mi
chiedo se i sorgenti del prog stesso stiano da qualche parte in Darwin
per poter preparare una patch e offrirla ad Apple!
Comunque, "python -c'import findertools as f; f.sleep()'" non e` troppo
male, e puoi metterlo in cron; oppure, e` banale scrivere uno script
Python di poche righe che accetta una "ora a cui dormire"...
Alex

 wrote:

/me che insegna python ai pesi massimi =)
un /me che gongola
okok, la smetto ;-)


Raffaele <r...@localhost.home> wrote:

Direi che qui, il python da una mano, anche perche' sia il python che il
modulo e' presente di default in tutti i panter =)


Alex Martelli wrote:
 > grazie della segnalazione
Prego.
-- 
"Augmentation not Automation." - D. Engelbart
http://www.wired.com/wired/archive/12.01/mouse.html