Ciao a tutti,

devo eseguire uno script in rc.local, quindi in background, e visualizzare il risultato in una finestra in Lightdm (utilizzando zenity?).

Come posso fare? Suggerimenti?

Grazie mille
Nicola

chiesto 18 Sep '13, 12:07

nikkognt's gravatar image

nikkognt
129119

modificato 19 Sep '13, 09:21

enzotib's gravatar image

enzotib ♦♦
14.1k113187

1

Sfida interessante

(18 Sep '13, 12:14) enzotib ♦♦ enzotib's gravatar image

Hai dato un'occhiata alle API di lightdm? http://people.ubuntu.com/~robert-ancell/lightdm/reference/ Per visualizzare qualcosa all'interno di lightdm credo tu debba modificare il css del tema.

(18 Sep '13, 16:39) nico nico's gravatar image

Quello che volevo fare è eseguire uno script da rc.local e visualizzare un messaggio per controllare se avesse finito! Comunque sia guardo grazie...

(18 Sep '13, 16:57) nikkognt nikkognt's gravatar image

Ecco una soluzione, che più che una soluzione è un hack.
Si prega astenersi deboli di cuore.

Spiegazione

Consiste nello sfruttare il fatto che lightdm, come si evince dalla documentazione fornita (vedi il file /usr/share/doc/lightdm/lighdm.conf.gz), prevede il nome di uno script da lanciare quando parte un greeter, nella variabile di configurazione greeter-setup-script.

Dallo script lancio uno script secondario, in background. Il doppio script sembra necessario, in quanto il greeter si avvia solo quando il primo script ha terminato.

Nello script secondario ci andrà messo il codice di verifica e di eventuale attesa della condizioni richiesta dell'utente, dopodiché si può dare un messaggio all'utente con zenity.

Implementazione

Creare il file /usr/local/bin/my-greeter-setup-script-master con il seguente contenuto

#!/bin/sh

/usr/local/bin/my-greeter-setup-script-slave &

Creare il file /usr/local/bin/my-greeter-setup-script-slave con il seguente contenuto

#!/bin/bash

# inserire qui il codice utente per la verifica e l'attesa della condizione
sleep 3

zenity --info --text="This is a message"

Rendere eseguibili i due script con il comando:

sudo chmod +x /usr/local/bin/my-greeter-setup-script-*

Modificare il file /etc/lightdm/lightdm.conf aggiungendo la riga

greeter-setup-script=/usr/local/bin/my-greeter-setup-script-master

Riavviare e testare il funzionamento

coll. permanente

ha risposto 19 Sep '13, 01:16

enzotib's gravatar image

enzotib ♦♦
14.1k113187

modificato 19 Sep '13, 09:05

L'ho provata e funziona. Grazie mille.

Nick

(19 Sep '13, 10:38) nikkognt nikkognt's gravatar image

@nikkognt: per ringraziare usa i commenti, non un'altra risposta ;)

(19 Sep '13, 10:39) rpadovani ♦♦ rpadovani's gravatar image

Ok! Inizialmente volevo fare così. Scusa. ;)

(19 Sep '13, 10:41) nikkognt nikkognt's gravatar image
La tua risposta
abilita/disabilita anteprima

Segui questa domanda

Via email:

Una volta eseguito l'accesso potrai iscriverti a tutti gli aggiornamenti qui

Via RSS:

Risposte

Risposte e commenti

Basi di markdown

  • *corsivo* o __corsivo__
  • **grassetto** o __grassetto__
  • collegamento:[testo](http://url.com/ "titolo")
  • immagine?![alt testo](/path/img.jpg "titolo")
  • elenco numerato: 1. Foo 2. Bar
  • per aggiungere un'interruzione di riga, aggiungi due spazi a fine riga e premi «Invio»
  • è supportato anche semplice HTML

Tag:

×52
×12
×1

domanda posta: 18 Sep '13, 12:07

domanda visualizzata: 2,925 volte

ultimo aggiornamento: 19 Sep '13, 10:41

Chiedi è un servizio di supporto gestito da Ubuntu-it. Contattaci!

powered by OSQAPostgreSQL database
Ubuntu e Canonical sono marchi registrati da Canonical Ltd.