1 votes

Afficher le message du terminal lors de la connexion

Je veux afficher quelque chose comme ### this is a test ### lorsqu'une nouvelle fenêtre de terminal est ouverte (et idéalement, d'une manière qui peut être désactivée facilement). Sous Linux, c'était très simple : il suffisait de créer un script dans le répertoire /etc/profile.d/ qui serait chargé de echo -l'envoi du message lors de l'ouverture d'une nouvelle session du terminal.

J'ai joué avec launchd pour essayer de faire fonctionner le système, mais sans succès. J'ai créé un agent dans /Library/LaunchAgents/org.test.greeting.plist avec le code suivant (où le fichier greeting.sh est responsable de faire le echo ) en espérant obtenir une sortie lorsque l'utilisateur se connecte.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>org.test.greeting</string>

    <key>ProgramArguments</key>
    <array>
        <string>/Users/test/greeting.sh</string>
    </array>
    <key>RunAtLoad</key><true/>
</dict>
</plist>

Cela n'a pas fonctionné, car le message est perdu dans l'éther. Cependant, je sais que l'agent fonctionne correctement. Je sais qu'il est possible de rediriger la sortie vers un fichier à l'aide de la fonction StandardErrorPath et StandardOutPath mais ils ne me sont pas utiles.

Quelqu'un sait-il comment faire pour que cela fonctionne avec launchd ou peut-être avez-vous un autre moyen de le faire ?

4voto

Oskar Points 1242

J'aime le message du jour pour cela. Comme le veut la tradition...

me@Mac ~ % echo "Welcome to the University of East Westia" > /tmp/motd
me@Mac ~ % sudo mv /tmp/motd /etc

Remarque : /etc/motd n'est affiché que dans un shell de connexion, ce qui est typique de Terminal.app sur MacOS. Si vous utilisez généralement des shells sans connexion, vous devez gérer l'affichage de /etc/motd dans les fichiers dot de votre shell.

4voto

Ritz Points 9

Avez-vous essayé de modifier vos dotfiles ?

À titre de référence, dans mon ~/.zshrc J'ai au sommet de la hiérarchie la commande neofetch . En soi, il s'agit simplement d'une commande que vous pouvez exécuter à partir de votre shell. De cette façon, chaque fois que je démarre une nouvelle fenêtre ou un nouvel onglet iTerm2/Terminal, la commande est exécutée et s'affiche.

my terminal at launch

La même chose peut être faite en écrivant en haut de votre fichier de configuration quelque chose comme ce qui suit : echo "### this is a test ###"

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X