Come posso visualizzare un messaggio nella schermata di accesso?


10

In alcune circostanze, sarebbe utile ricevere una breve notifica di testo prima di accedere, in modo da avere la possibilità di decidere di non accedere dopo aver visto il messaggio.

Esiste un modo per visualizzare un messaggio di notifica nella schermata di accesso grafica?


Vuoi che appaia il messaggio prima di accedere? O immediatamente dopo aver inserito nome utente e password?
Eliah Kagan,

1
Che tipo di notifiche? Voglio dire, prima di aver effettuato l'accesso, nessuna applicazione come il client di messaggistica istantanea è ancora in esecuzione. Posso solo pensare allo stato della batteria (PC portatile) e alla connessione dei profili di Network Manager a livello di sistema. E in che contesto è questo? Utente puro o sviluppo di un'applicazione?
gertvdijk,

Sono interessato a una risposta generale; Non ho requisiti specifici per la tempistica dei messaggi o gli strumenti utilizzati per generare il messaggio.
ændrük,

intendi qualcosa di simile, schermata di accesso, quindi il tuo messaggio. Non hai bisogno di alcun accesso?
r 6dʒɑ,

@snow "prima dell'accesso" <-
gertvdijk

Risposte:


3

Mi rendo conto che questa è una risposta tardiva (tipo, con anni di ritardo) ma ho pensato di andare avanti e mettere qualcosa qui per chiunque avesse gli stessi problemi. Vedo questo problema tutto il tempo. Questo è solo un modo per farlo che è facile da scrivere e distribuire. Tieni presente che questa è una soluzione non elegante simile a questa: come faccio a creare un banner popup prima di accedere con Lightdm?

  1. Crea un file e chiamalo come preferisci, ad esempio: anythingYouWant
  2. Inserisci quanto segue in quel file (sostituendo ovviamente il testo del banner):

    bannerText="This is my banner and you will love it.  Worship it!"
    
    zenity --question --title="Pirate Ninja Banner" \
    --text=$bannerText" --no-wrap --width=800 --height=200
    
    until [[ $? = '0' ]]: do
       zenity --question --title="Pirate Ninja Banner" \
       --text=$bannerText" --no-wrap --width=800 --height=200
    done
    
  3. Regola la larghezza e l'altezza in base alle tue esigenze.

    3a. L'idea qui è quando il messaggio di accesso mostra che l'utente non può procedere fino a quando non accetta i termini, quindi continua finché non viene selezionato "sì".

NOTA (perché non lo sapevo prima): zenity --list può restituire true yes false no (valori booleani), zenity --question restituisce exit 0,1

  1. Rendi eseguibile il tuo file:

    sudo chmod +x anythingYouWant
    
  2. Mettilo da qualche parte - l'ho appena bloccato in / usr / bin

    sudo mv anythingYouWant /usr/bin
    

----------- lightdm -----------------------

  1. Se stai usando lightdm, dovrai modificare il tuo file lightdm.conf. Quando sono andato a fare questo la prima volta, lightdm.conf non c'era T_T. Quindi, se non lo è, va bene, vai a prenderne una copia in questo modo:

    sudo cp /usr/share/doc/lightdm/lightdm.conf /etc/lightdm/
    
  2. Se il problema persiste, è possibile che il file in / usr / share / doc / lightdm / sia compresso, quindi:

    sudo gzip -d /usr/share/doc/lightdm/lightdm.conf.gz
    

    7a. Quindi spostare il file in / etc / lightdm /

  3. Apri lightdm.conf (che ora dovrebbe essere in / etc / lightdm /) e aggiungi quanto segue sotto la sezione che dice [SeatDefaults], in questo modo:

    [SeatDefaults]
    greeter-setup-script=/path/to/your/loginMessage
    

    8a. Dove / percorso / a / tuo / loginMessage è dove metti l'eseguibile che hai creato in precedenza. Ho inserito il mio in / usr / bin in modo che il mio assomigli a:

    [SeatDefaults]
    greeter-setup-script=/usr/bin/loginmessage
    

    8b. Salva il file

  4. Questo dovrebbe farlo per Lightdm. Puoi anche semplicemente creare il tuo file lightdm.conf e inserirci sopra.

    9a. Reboot.

----------- GDM -------------------

  1. Ho testato questo "loop" popup su CenOS 7 e Ubuntu 14.04 anche con GDM. Il fatto è che lightdm.conf non aiuta davvero nel caso di GDM ora lo fa?

  2. Bene, c'è un lavoro intorno che funziona per me (per ora).

  3. Apri il file / etc / gdm / Init / Default

    sudo vim /etc/gdm/Init/Default
    
  4. Vai in fondo al file.

  5. Proprio sopra l'uscita 0 metti:

    exec /path/to/your/message
    

    14 bis. Dove / percorso / a / tuo / messaggio è il percorso del tuo nifty messaggio di accesso. Al termine, dovrebbe essere simile a questo:

    fi
    exec /usr/bin/loginmessage
    exit 0
    

    14b. "Fi" e "exit 0" sono già lì, hai appena inserito la parte "exec / path / to / your / message.

    14c. Salva e riavvia.

  6. Probabilmente non è necessario tutto il riavvio. Ho testato queste cose in VM, quindi è più semplice far rimbalzare la macchina.

  7. Se ci sono modi migliori per farlo, sono tutto orecchie / occhi. So che gconf funziona bene in CentOS 6.x. So che dconf funziona in CentOS 7 ma non stavo ottenendo quello che volevo. Nessuna delle cose di gconf ha funzionato per me in Ubuntu, anche dopo aver installato GDM e riconfigurato <- potrei essere solo io.


2

Potrebbe non essere possibile visualizzare direttamente il messaggio nella schermata di accesso. Ma puoi inviare un messaggio prima di accedere. Aggiungi a /etc/lightdm/lightdm.conf:

greeter-setup-script=xmessage -button ok -default ok -center "Hello world"

Prestare attenzione poiché l'opzione errata in questo file può interrompere la procedura di avvio.
Il mouse non sarà disponibile in questa fase, ma sarai in grado di chiudere il messaggio con Enter. xmessagepuò leggere il testo del messaggio dal file o può avere un timeout personalizzato. Controlla la sua pagina man per ulteriori opzioni.
È possibile controllare https://wiki.ubuntu.com/LightDM per ulteriori informazioni sulla lightdm.confpersonalizzazione di greeter.


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.