L'ordinateur est utilisé par trois utilisateurs (+1 administrateur) et ils utilisent la connexion unitaire. Les trois utilisateurs viennent, utilisent l'ordinateur et se déconnectent. Je dois donner des instructions, des nouvelles et des détails chaque fois qu'ils se connectent.
Je veux avoir un utilitaire / outil où je peux taper un message personnalisé à chaque utilisateur. Le dernier message serait alors affiché sur le bureau (pour chaque utilisateur) (avec la date de ma dernière modification) pendant 10 à 15 secondes. Une copie du texte sera également disponible (pour l'utilisateur) quelque part avec tous les messages et les dates comme un journal.
* L'administrateur a un accès SSH au système.
Je ne sais pas si c'est possible (et peut-être que j'en cherche trop!).
Réponses:
Vous pouvez le faire dans la configuration suivante, qui produira une fenêtre semi-transparente, en restant pendant un temps arbitraire:
Créer dans un répertoire (n'importe lequel), dans lequel chacun des utilisateurs au moins a des autorisations de lecture , pour chaque utilisateur un fichier de messages, exactement nommé d'après le nom d'utilisateur de chaque utilisateur (nom de connexion), sans extension, par exemple
Ajoutez du texte au fichier comme message. Si vous ajoutez un nouveau message, commencez par
###
, le script affichera alors automatiquement le dernier message. Le texte peut contenir tout ce que vous aimez, il ressemblera exactement à ce que vous avez mis dans le fichier.Le dernier message sera copié dans
latest_message.txt
le répertoire personnel de l'utilisateur pour référence.En l'état, la fenêtre restera pendant 15 secondes, mais vous pouvez la régler sur n'importe quelle valeur, même la faire dépendre automatiquement de la longueur du texte.
Un exemple de fichier pourrait ressembler à:
Le message ressemblerait alors à:
Copiez le script ci-dessous dans un fichier vide, modifiez dans la section head de votre script le chemin d'accès au dossier dans lequel vous stockez les messages des utilisateurs. Enregistrez le script sous
show_personalmessage
(par exemple)/usr/local/bin
(qui devrait être dans$PATH
et rendez-le exécutable (!) (Pas d'extension)Créer un lanceur dans
/etc/xdg/autostart
Le sommeil 10 est de s'assurer que le bureau est «prêt» à ouvrir la fenêtre.
Explication
/etc/xdg/autostart
commandes d'exécution pour chaque utilisateur connecté.show_personalmessage
), qui recherche le message personnalisé dans le répertoire que vous avez défini. Aditionellement. Le message le plus récent est copié dans le répertoire personnel de l'utilisateur.getpass
-module, afin que le script (fenêtre) recherche un fichier nommé spécifique à l'utilisateur dans un répertoire. Veuillez indiquer si cela serait nécessaire.aditionellement
La fenêtre (Gtk)
etc...
ÉDITER
Pour gagner du temps à écrire des messages, comme discuté dans le chat , ci-dessous une version du script dans laquelle vous pouvez inclure quelques sections "permanentes":
premsg
, qui doit se trouver juste en dessous de "Bienvenue utilisateur x" et du corps de votre message, etpostmsg
, qui vient en bas de votre message.Les deux sections peuvent être définies sur aucune, simplement en définissant
""
une valeur.Le scénario
Remarque
Bien sûr, tout comme le corps du message , yoy peut modifier le script pour lire les messages avant et après à partir d'un fichier, ce qui le rend encore plus pratique à maintenir. Est-ce que cela a été le cas, pour des raisons de simplicité dans la réponse.
la source
getpass
ensuite pour que chaque utilisateur demande automatiquement le fichier nommé. Quelle voie auriez-vous en tête? Il doit s'agir d'un chemin d'accès auquel chaque utilisateur a accès en lecture. Attendez, modifiera dans une minute .../home/message
. Il serait bon de copier le texte du message récent (caténate etc.) dans un fichier fixe (pour référence)Le script ci-dessous permet à l'administrateur de stocker des messages personnalisés sous forme
username_mm_dd_yyyy.txt
dans un répertoire défini par l'administrateur. Les noms d'utilisateur sont déterminés automatiquement et mis en correspondance avec le nom de fichier et la date du fichier à afficher.Le script peut également avoir une
.desktop
entrée qui doit être placée dans le/etc/xdg/autostart
répertoire. Cela fera que le script sera affiché pour chaque utilisateur. Vous pouvez également placer le.desktop
fichier dans le répertoire de chaque utilisateur individuel~/.config/autostart
.Ci-dessous, vous pouvez voir une petite démo du script en action. J'ai créé le fichier au format spécifié dans mon
/tmp
dossierla source
/home/message
. Il serait bon de copier le fichier de message récent et de le conserver pour référence.cp
commande, le premier argument est la copie de l'administrateur et le deuxième argument que/home/$( _get_username )/messages/$FILE.txt
j'ai besoin de dormir, mais je peux ajouter cela le matin. C'est juste une ligne.cat $FILE >> /home/$( _get_username )/messages/Log_of_all_messages. txt