En appuyant sur Ctrl+Alt+T pour ouvrir le terminal, je reçois un écran vide avec une invite simpliste.
Est-il possible (en modifiant ~/.bashrc
peut-être) d'afficher le calendrier actuel avec aujourd'hui en surbrillance et l'heure actuelle?
Si le temps peut être affiché en grand nombre (en utilisant figlet?), Ce serait un bonus.
Vous pouvez voir la version améliorée ici: https://askubuntu.com/a/1020693/30752
Cela ressemble à ceci:
Vous pouvez imprimer une bannière d'introduction à l'ouverture du terminal à l'aide du script ~/.bashrc
. Si vous avez figlet (Sudo apt install figlet
), vous pouvez utiliser les grandes lettres pour afficher l'heure:
Dans le premier cas, figlet
est utilisé pour afficher l'heure et dans le second cas, une police normale est utilisée.
toilet
Cet écran utilise les polices du package toilet
. Le dernier exemple utilise la police future
et est utilisé dans le code ci-dessous. En outre, le calendrier est défini sur la couleur cyan dans le code ci-dessous.
Le package toilet
autorise des types de police et des styles de formatage supplémentaires par rapport au package figlet
à partir duquel il a été créé. Pour installer le paquet, utilisez Sudo apt install toilet
après avoir installé figlet
comme décrit ci-dessus.
Voici le code dont vous avez besoin pour que tout fonctionne. Il est recommandé de placer ce script dans votre répertoire /home/user/bin
car il est automatiquement ajouté à votre chemin. Ce script s'appelle now
mais vous pouvez utiliser n'importe quel nom unique.
#!/bin/bash
# NAME: now
# PATH: $HOME/bin
# DESC: Display current calendar and time
# CALL: Called from terminal or ~/.bashrc
# DATE: Apr 6, 2017. Modified: Apr 10, 2017.
# NOTE: To display all available toilet fonts use this one-liner:
# for i in ${TOILET_FONT_PATH:=/usr/share/figlet}/*.{t,f}lf; do j=${i##*/}; toilet -d "${i%/*}" -f "$j" "${j%.*}"; done
# calendar current month with today higlighted.
# colors 00=bright white, 31=red, 32=green, 33=yellow, 34=blue, 35=purple,
# 36=cyan, 37=white
printf "\033[36m" # color 36=cyan
echo ""; cal;
printf "\033[00m" # color bright white (default)
echo ""
tput sc # Save cursor position.
# Move up 9 lines
while [ $((++i)) -lt 10 ]; do tput cuu1; done
tput cuf 25 # Move 25 columns right
# Do we have the toilet package?
if hash toilet 2>/dev/null; then
echo " "$(date +"%I:%M %P")" " | \
toilet -f future --filter border > /tmp/terminal
# Do we have the figlet package?
Elif hash figlet 2>/dev/null; then
echo $(date +"%I:%M %P") | figlet > /tmp/terminal
# else use standard font
else
echo $(date +"%I:%M %P") > /tmp/terminal
fi
while IFS= read -r Time; do
printf "\033[01;32m" # color green
printf "$Time"
tput cud1 # Up one line
tput cuf 25 # Move 25 columns right
done < /tmp/terminal
tput rc # Restore saved cursor position.
exit 0
Copiez ce code dans votre éditeur et enregistrez-le dans le fichier now
. Ensuite, marquez-le comme exécutable en utilisant:
Sudo chmod +x now
~./bashrc
Une fois que cela est terminé, vous pouvez taper now
dans le terminal et vous verrez le calendrier et l'heure. Pour tout résumer et l’afficher automatiquement à chaque ouverture du terminal:
~/.bashrc
now
À l'ouverture du terminal, le jour actuel est mis en surbrillance dans le calendrier du mois en cours, suivi de l'heure actuelle.
Ici, nous verrons brièvement comment le code fonctionne sans discuter de chaque ligne.
figlet
et toilet
paquetsLe script vérifie d'abord si toilet
est installé avec la commande hash
. Si c'est le cas, il est utilisé pour afficher l'heure. Sinon, figlet
est utilisé s'il est installé. Si aucun n'est installé, une police standard est utilisée.
Dans le code ci-dessus, un commentaire peut être copié sur votre ligne de commande et exécuté pour afficher les polices figlet
et toilet
disponibles sur votre terminal:
for i in ${TOILET_FONT_PATH:=/usr/share/figlet}/*.{t,f}lf; do j=${i##*/}; toilet -d "${i%/*}" -f "$j" "${j%.*}"; done
Pour changer la police utilisée pour l'affichage de l'heure, recherchez le code de cette ligne:
toilet -f future --filter border > /tmp/terminal
et remplacez le nom de police future
par le nom de police que vous avez choisi. Gardez à l'esprit que certaines polices sont trop volumineuses pour tenir sur l'écran.
Définissez la couleur souhaitée pour le calendrier et l'heure séparément. Dans le code ci-dessus, remarquez la commande:
printf "\033[36m" # color 36=cyan
Remplacez les deux derniers chiffres par le code de couleur que vous souhaitez utiliser. En bricolant avec le code, j'ai trouvé ces valeurs:
00 = blanc éclatant, 31 = rouge, 32 = vert, 33 = jaune, 34 = bleu, 35 = violet, 36 = cyan, 37 = blanc
Si vous trouvez des codes de couleur supplémentaires, veuillez poster un commentaire ci-dessous ou mettre à jour cette réponse.
Si vous voulez juste une heure et une date simples, vous pouvez les ajouter à la fin de votre .bashrc:
echo -e "Welcome to [$(hostname)] You are logged in as user [$USER]"
echo -e "Local time: [$(date)]"
qui affichera les informations suivantes lors de votre connexion:
Welcome to [deathstar] You are logged in as user [skywalker]
[Local time]: Sun Apr 9 10:18:11 CDT 2017.
J'ai un python script j'ai écrit qui ajoutera la météo locale et votre WAN et les adresses IP du réseau local à votre fichier .bashrc. Définissez un cronjob pour mettre à jour la météo. Il vient avec un exemple .bashrc aussi
Il affichera:
Welcome to [deathstar] You are logged in as user [skywalker]
[Local time]: Sun Apr 9 10:18:11 CDT 2017.
[Local weather]: 68.68 F with few clouds
[Your public IP is]: 1.2.3.4 [Local IP]: 192.168.2.6
Si vous voulez aller plus loin, vous pouvez ajouter couleurs et formatage pour que vos valeurs correspondent à votre profil.