Comment afficher un message sur l'écran de connexion?

10

Dans certaines circonstances, il serait utile que je reçoive une courte notification par SMS avant de me connecter, afin que je puisse décider de ne pas me connecter après avoir vu le message.

Existe-t-il un moyen d'afficher un message de notification sur l'écran de connexion graphique?

ændrük
la source
Voulez-vous que le message apparaisse avant de vous connecter? Ou immédiatement après avoir entré votre nom d'utilisateur et votre mot de passe?
Eliah Kagan
1
Quel genre de notifications? Je veux dire, avant d'être connecté, aucune application comme le client IM n'est en cours d'exécution. Je ne peux que penser à la connexion des profils de batterie (PC mobile) et de Network Manager au niveau du système. Et dans quel contexte est-ce? Utilisateur pur ou développant une application?
gertvdijk
Je suis intéressé par une réponse générale; Je n'ai pas d'exigences spécifiques pour la synchronisation des messages ou les outils utilisés pour générer le message.
ændrük
vous voulez dire quelque chose comme, l'écran de connexion puis votre message. Pas besoin de vous connecter?
rɑːdʒɑ
@snow "avant de vous connecter" <-
gertvdijk

Réponses:

3

Je me rends compte que c'est une réponse tardive (comme, des années de retard) mais je pensais que j'irais de l'avant et mettrais quelque chose ici pour quiconque ayant les mêmes problèmes. Je vois ce problème tout le temps. Ce n'est qu'une façon de le faire qui est facile à écrire et à déployer. Gardez à l'esprit qu'il s'agit d'une solution inélégante similaire à celle-ci: comment créer une bannière contextuelle avant de me connecter avec Lightdm?

  1. Créez un fichier et nommez-le comme vous le souhaitez, par exemple: n'importe quoi
  2. Mettez ce qui suit dans ce fichier (en remplaçant le texte de la bannière bien sûr):

    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. Ajustez la largeur et la hauteur selon vos besoins.

    3a. L'idée ici est lorsque le message de connexion affiche que l'utilisateur ne peut pas continuer tant qu'il n'a pas accepté les termes, donc il boucle jusqu'à ce que "oui" soit sélectionné.

REMARQUE (parce que je ne le savais pas auparavant): zenity --list peut retourner vrai oui faux non (valeurs booléennes), zenity --question renvoie exit 0,1

  1. Rendez votre fichier exécutable:

    sudo chmod +x anythingYouWant
    
  2. Mettez-le quelque part - je l'ai juste coincé dans / usr / bin

    sudo mv anythingYouWant /usr/bin
    

----------- LIGHTDM -----------------------

  1. Si vous utilisez lightdm, vous devrez modifier votre fichier lightdm.conf. Quand je suis allé faire cela la première fois, lightdm.conf n'était pas là T_T. Donc, si ce n'est pas le cas, ça va, allez vous en chercher une copie en faisant ceci:

    sudo cp /usr/share/doc/lightdm/lightdm.conf /etc/lightdm/
    
  2. Si cela ne fonctionne pas, il se peut que le fichier dans / usr / share / doc / lightdm / soit compressé, alors faites:

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

    7a. Déplacez ensuite le fichier vers / etc / lightdm /

  3. Ouvrez lightdm.conf (qui devrait maintenant être dans / etc / lightdm /) et ajoutez ce qui suit sous la section qui dit [SeatDefaults], comme ceci:

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

    8a. Où / chemin / vers / votre / loginMessage est l'endroit où vous placez l'exécutable que vous avez créé précédemment. J'ai mis le mien dans / usr / bin pour que le mien ressemble à:

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

    8b. Sauvegardez le fichier

  4. Cela devrait le faire pour lightdm. Vous pouvez également créer votre propre fichier lightdm.conf et y mettre ce qui précède.

    9a. Redémarrez.

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

  1. J'ai également testé cette "boucle" popup sur CenOS 7 et Ubuntu 14.04 avec GDM. La chose est, lightdm.conf n'aide pas vraiment dans le cas de GDM maintenant?

  2. Eh bien, il y a un travail qui fonctionne pour moi (pour l'instant).

  3. Ouvrez le fichier / etc / gdm / Init / Default

    sudo vim /etc/gdm/Init/Default
    
  4. Allez au bas du fichier.

  5. Juste au-dessus de la sortie 0, mettez:

    exec /path/to/your/message
    

    14a. Où / chemin / vers / votre / message est le chemin vers votre message de connexion astucieux. Une fois terminé, il devrait ressembler à ceci:

    fi
    exec /usr/bin/loginmessage
    exit 0
    

    14b. Le "fi" et la "exit 0" sont déjà là, vous venez de mettre dans la partie "exec / path / to / your / message".

    14c. Enregistrez et redémarrez.

  6. Tout le redémarrage n'est probablement pas nécessaire. Je teste ces trucs dans les VM afin qu'il soit plus facile de faire rebondir la machine.

  7. S'il y a de meilleures façons de le faire, je suis tous oreilles / yeux. Je sais que gconf fonctionne bien dans CentOS 6.x. Je sais que dconf fonctionne dans CentOS 7 mais je n'obtenais pas ce que je voulais. Aucune des choses gconf n'a fonctionné pour moi dans Ubuntu, même après l'installation de GDM et la reconfiguration de <- pourrait être juste moi cependant.

Nathan Peek
la source
2

Il peut ne pas être possible d'afficher directement le message sur l'écran de connexion. Mais vous pouvez envoyer un message avant de vous connecter. Ajoutez à votre /etc/lightdm/lightdm.conf:

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

Soyez prudent car une mauvaise option dans ce fichier peut interrompre votre procédure de démarrage.
La souris ne sera pas disponible à ce stade, mais vous pourrez fermer le message avec Enter. xmessagepeut lire le texte du message à partir du fichier ou peut avoir un délai d'expiration personnalisé. Consultez sa page de manuel pour des options supplémentaires.
Vous pouvez consulter https://wiki.ubuntu.com/LightDM pour des informations supplémentaires lightdm.confet une personnalisation plus agréable.

whtyger
la source