Gambas-it
Archivi (sola lettura) => Programmazione (Gambas 2) => Topic aperto da: - 20 Marzo 2009, 11:51:56
-
Riesco a usare le api del sistema operativo con Gambas?
Per esempio io voglio spegnere il pc dal mio codice. Come si fa?
Come mai non ce una documentazione decente di gambas da nessuna parte?
-
Puoi fare quello che vuoi, usando il comando SHELL:
Esempio: per chiudere una sessione o spegnere il computer usando
la finestra di logout di KDE:
SHELL "dcop ksmserver ksmserver logout 1 0 0" WAIT
Insomma, dipende da che sistema stai usando, che permessi hai et cetera et cetera.
Per spegnere il computer con halt, devi essere root o avere i permessi.
-
Perciò non poso fare un unico programma sia per gnome, kde e windows?
-
Non puoi scrivere programmi Gambas per Windows. Per Gnome e KDE sì.
-
grazie Giulio, molto utile, stavo valutando Gambas e no sembra per niente maile, pero la documentazione è praticamente inesistente.
-
Per spegnere il computer puoi sempre usare il camando da shell
SHELL "sudo shutdown -h now"
-
e non mi chiederà la password di root?
-
certo..se cerchi nel forum è già stato visto come restituire la password di root al terminale....:D
-
Se opportunamente configurato, "sudo" è l'unico comando che permette ad utenti diversi da "root" di avviare i programmi esclusivi di root.
Diversamente da windows, su linux l'amministratore è veramente protetto e l'unico a fare determinate cose; ovviamente se si gioca sui permessi si può dare l'accesso a tutti, ma questo è un'altro paio di maniche, e la responsabilità è dell'utente che lo fà...
Nota: per comandi esclusivi, si intendono tutti quei programmi che modificano la configurazione dell'hardware e del sitema, compreso lo shutdown (spegnimento) del sistema; essendo linux un sistema multiutente, questo non deve essere fatto, se non espressamente voluto dall'amministrazione a scopo manutentivo.
-
puoi spegere il pc con questo comando :
SHELL "echo " & password & " | sudo -S shutdown -h -P -v now"
dove la variabile password contiene la password amministratore
io lo usato nel programma feabar in area download (messaggio pubblicitario :) )
-
inviato da fsurfing su 20/3/2009 18:34:03
puoi spegere il pc con questo comando :
Citazione:
SHELL "echo " & password & " | sudo -S shutdown -h -P -v now"
dove la variabile password contiene la password amministratore
io lo usato nel programma feabar in area download (messaggio pubblicitario :) )
Questo comando funziona solo sulle distro Ubuntu-derivate. Purtroppo
da quando Ubuntu ha scelto di rimuovere root e usare "sudo" per i compiti di amministrazione anziché il classico "su", si generano questi equivoci. Per esempio su Slackware quel comando non ha senso se il file /etc/sudoers non è configurato a dovere. Sarebbe bene ricordare sempre che Ubuntu è solo una distribuzione GNU/linux e non è GNU/linux. Così, già Gambas è penalizzato perché non è multipiattaforma e in più gli tocca fare lo slalom anche dentro il mondo GNU/linux. Scusate lo sfogo, ma da vecchio utente Slackware mi disturba un po' che neo-utenti, riviste, forum pensino che "sudo" sia la regola dei sistemi GNU/linux. "sudo" è solo l'eccezione usata abilmente da Ubuntu per rendere GNU/linux più digeribile agli ex
windowsiani. E a me va anche bene, però quando in forum di programmazione di
Gambas si dice che si deve usare
SHELL "echo " & password & " | sudo -S shutdown -h -P -v now"
per spegnere il computer, si dovrebbe mettere come postilla:
1) il comando funziona sulle distro derivate da Ubuntu
2) sulle altre distro il file sudoers deve essere configurato
notate anche voi che pure in abito GNU/linux con questa storia di "sudo"
un programmatore Gambas deve prevedere anche su quale distribuzione girerà
la sua applicazione. Scusate lo sfogo. Ciao a tutti.
-
Non capisco il tuo sfogo e ti spiego anche il perchè:
Ognuno di noi abbraccia una distro invece di altre per un qualsiasi motivo che può essere di qualunque tipo. Se io ho ubuntu e sviluppo con Gambas posso suggerire agli altri utenti metodi che io stesso ho usato e che funzionano. Ovviamente se l'utente che pone la domanda conosce il suo sistema saprà che su di esso questo o quel comando non può funzinare.
Se ad esempio tu avessi fatto la stessa domanda ed io ti avessi risposto come ha fatto fsurfing allora sarebbe stato tuo dovere dire "Mi spiace ma uso slack è questo non si può fare"...io non posso legere nel pensiero di chi pone le domande e sapere che sistema usa...ti posto il mio metodo e se va bene tanto di guadagnato altrimenti servirà ad altri utenti che giungeranno qui mediante una ricerca...
La mia risposta non è un'accusa, sia chiaro..è solo il mio modesto unto di vista...:D
-
Ieri hai scritto:
Ceskho ha scritto:
Per spegnere il computer puoi sempre usare il camando da shell
SHELL "sudo shutdown -h now"
Neanche io (neo-utente) posso leggere nel tuo pensiero e non so
su che sistema il tuo suggerimento funzioni. Se tu avessi scritto:
Io uso Ubuntu e su Ubuntu per spegnere il computer puoi fare:
SHELL "sudo shutdown -h now"
sarebbe stato più corretto (anche per future consultazioni da parte di altri neofiti).
Per esempio, se guardi in homepage Leo spiega come rendere
modificabili gli esempi di Gambas, ma correttamente aggiunge
che l'indicazione riguarda Ubuntu. Dico solo questo: questo è un forum di Gambas,
non di Gambas su Ubuntu e quindi quando si danno suggerimenti bisognerebbe
ricordarsi (come ha fatto Leo) di segnalare il sistema su cui si lavora. Tutto qui. Ciao.
-
Nessuno dice che questo dia un forum di "gambas su ubuntu" ma se una buona parte degli utenti ha ubuntu non penso sia colpa nostra....Uno aiuta come può...Io ho un sistema operativo e posso suggerirti come agire per quello specifico...
-
Ragazzi suvvià, facciamo l'amore e non la guerra :lol:
Comunque neanche a me piace ubuntu kubuntu ecc ecc mi ricorda troppo windows come pesantezza per i vecchi pc, tempi di installazione ....
-
:-o
la prossima volta mi taglio le dita invece di scrivere una risposta
-
giac_fab ha scritto:
Ragazzi suvvià, facciamo l'amore e non la guerra :lol:
Comunque neanche a me piace ubuntu kubuntu ecc ecc mi ricorda troppo windows come pesantezza per i vecchi pc, tempi di installazione ....
Il bello delle discussioni è che discute....:-d...altrimenti è noioso se uno dice una cosa e tutti gli dicono "è vero!"
comunque ubuntu i installa in 15 minuti... :nulla:
-
Beh con un pc di ultima generazione sicuramente
Vorrei vedere con il portatile 1000 Hz di 6-7 anni fà con cui scrivo ....
Con la slax che uso ci metto 5 minuti....
-
"State bbboni"....
Ubuntu non è Linux ma nessun'altra distribuzione lo è. Sudo è senz'altro un "pastrocchio" superinflazionato da Canonical per rendere Ubuntu facile nel suo approccio. E, volenti o nolenti, il risultato è stato positivo e grazie ad Ubuntu tantissimi utenti adesso nel mondo usano un sistema Linux quando, forse senza questa bistrattata distro, non lo avrebbero fatto. Ubuntu ha reso le cose facili, e le cose facili sono quelle che cercano la stragrande maggioranza degli utenti medi (Windows lo ha dimostrato nel corso degli anni). Questo è un merito che ad Ubuntu va riconosciuto.
Detto questo, per spegnere un sistema Linux dipende anche dalle impostazioni del sistema stesso. Oggigiorno qualunque distro abilita l'utente per farlo: basti pensare al fatto che chiunque può spegnere/riavviare il PC con l'apposita utility del proprio desktop manager. Da terminale è un po' più difficile ma basta inserire il proprio utente in /etc/shutdown.allow (mi pare di ricordare) che si può spegnere il PC anche come utente normale.