Autore Topic: info  (Letto 1652 volte)

  • Visitatore
info
« il: 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?

Offline giulio

  • Maestro Gambero
  • ****
  • Post: 280
    • Mostra profilo
Re: info
« Risposta #1 il: 20 Marzo 2009, 12:30:22 »
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.

  • Visitatore
Re: info
« Risposta #2 il: 20 Marzo 2009, 12:55:46 »
Perciò non poso fare un unico programma sia per gnome, kde e windows?

Offline giulio

  • Maestro Gambero
  • ****
  • Post: 280
    • Mostra profilo
Re: info
« Risposta #3 il: 20 Marzo 2009, 13:02:35 »
Non puoi scrivere programmi Gambas per Windows. Per Gnome e KDE sì.

  • Visitatore
Re: info
« Risposta #4 il: 20 Marzo 2009, 13:07:46 »
grazie Giulio, molto utile, stavo valutando Gambas e no sembra per niente maile, pero la documentazione è praticamente inesistente.

Offline Ceskho

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 3.778
  • Vi Veri Veniversum Vivus Vici
    • Mostra profilo
    • Pagina Personale
Re: info
« Risposta #5 il: 20 Marzo 2009, 16:33:49 »
Per spegnere il computer puoi sempre usare il camando da shell

SHELL "sudo shutdown -h now"

  • Visitatore
Re: info
« Risposta #6 il: 20 Marzo 2009, 16:44:59 »
e non mi chiederà la password di root?

Offline Ceskho

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 3.778
  • Vi Veri Veniversum Vivus Vici
    • Mostra profilo
    • Pagina Personale
Re: info
« Risposta #7 il: 20 Marzo 2009, 16:59:41 »
certo..se cerchi nel forum è già stato visto come restituire la password di root al terminale....:D

Offline md9327

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.840
    • Mostra profilo
Re: info
« Risposta #8 il: 20 Marzo 2009, 17:06:05 »
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.

Offline fsurfing

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.484
    • Mostra profilo
Re: info
« Risposta #9 il: 20 Marzo 2009, 19: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 :) )

Offline giulio

  • Maestro Gambero
  • ****
  • Post: 280
    • Mostra profilo
Re: info
« Risposta #10 il: 21 Marzo 2009, 13:23:15 »
Citazione

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.

Offline Ceskho

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 3.778
  • Vi Veri Veniversum Vivus Vici
    • Mostra profilo
    • Pagina Personale
Re: info
« Risposta #11 il: 21 Marzo 2009, 14:16:01 »
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

Offline giulio

  • Maestro Gambero
  • ****
  • Post: 280
    • Mostra profilo
Re: info
« Risposta #12 il: 21 Marzo 2009, 16:52:42 »
Ieri hai scritto:

Citazione

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:

Citazione

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.

Offline Ceskho

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 3.778
  • Vi Veri Veniversum Vivus Vici
    • Mostra profilo
    • Pagina Personale
Re: info
« Risposta #13 il: 21 Marzo 2009, 17:47:50 »
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...

  • Visitatore
Re: info
« Risposta #14 il: 21 Marzo 2009, 18:14:18 »
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  ....