Question Mac "commande" pour changer la couleur de fond dans un terminal


Je veux changer la couleur de fond de mon terminal. setterm ne fonctionne pas sur un mac? J'ai trouvé une commande qui modifie l'invite pour inclure le code ANSI?

PS1="\h \w$ \e[0;32m"

Mais il ne prend pas effet immédiatement, et je veux qu'il fasse partie d'un script qui lancera d'autres programmes.


4
2018-03-15 00:25


origine


Cherchez-vous spécifiquement un moyen d'envoyer des codes de couleur ANSI pour changer la couleur de fond du terminal couleur émulé, qui devrait fonctionner dans tout émulateur de terminal qui émule un terminal couleur? Ou recherchez-vous quelque chose de spécifique à l'émulateur de terminal "Terminal.app" intégré à macOS (mais qui pourrait ne pas fonctionner avec d'autres applications d'émulateur de terminal tierces comme iTerm)? Ou seriez-vous bien avec l'un ou l'autre? - Spiff
@Spiff Je ne pense pas que cela doive fonctionner ailleurs, juste dans mon terminal mac, mais je préférerais une solution compatible avec les ordinateurs de bureau et les serveurs * nix. - McKay


Réponses:


Vous pouvez créer un AppleScript script pour changer les couleurs du courant Terminal languette. Vous pouvez utiliser le Éditeur de script trouvé dans Applications / Utilitaires pour créer le script. Une façon de changer les couleurs est d'utiliser le schémas de couleurs que vous pouvez sélectionner manuellement pour la fenêtre du terminal, mais effectuez la sélection dans un script. Par exemple, vous pouvez créer un script avec les commandes suivantes en utilisant le Éditeur de script

tell application "Terminal"

   set current settings of window 1 to settings set "novel"

end tell

Vous pouvez remplacer "roman" par "herbe", "océan", "sable rouge", etc. À l'intérieur de Éditeur de script cliquer sur Fichier puis sélectionnez sauvegarder. Enregistrez le script où vous souhaitez le placer en tant que fichier .scpt. En supposant que vous avez nommé le fichier-couleurs du terminal et que vous l'avez placé dans votre répertoire ~ / Documents, à partir d'un onglet de la fenêtre Terminal, vous pouvez exécuter le script en utilisant le répertoire. osascript commander osascript ~/Documents/terminal-colors.scpt

Vous pouvez également définir des couleurs d'arrière-plan spécifiques de votre choix à l'aide des valeurs que vous pouvez trouver pour des couleurs spécifiques à colours.csv. Par exemple, si vous voulez avoir un arrière-plan rose vif, vous pouvez utiliser les commandes suivantes dans votre script, au lieu de celles ci-dessus:

tell application "Terminal"

   set background-color of window 1 to {65535, 33667, 49601}

end tell

Ceci est une solution OSX / MacOS qui ne serait pas portable à Linux / Unix.

Vous pouvez voir d'autres paramètres que vous pouvez modifier pour une fenêtre de terminal en ouvrant le "dictionnaire" du terminal dans Éditeur de script. Cliquer sur Fichier, sélectionnez Dictionnaire ouvert, faites défiler la liste des dictionnaires jusqu'à ce que vous voyez Terminal.app puis cliquez dessus pour le sélectionner puis cliquez sur le Choisir bouton. Dans le dictionnaire, cliquez sur Terminal Suite puis languette pour voir les paramètres que vous pouvez modifier pour les onglets individuels de la fenêtre du terminal.


4
2018-03-15 02:02



Cela fonctionne, mais c'est un peu ennuyeux (devoir créer des scripts supplémentaires), et (comme vous l'avez mentionné) n'est pas portable. Merci! - McKay
@McKay Vous n'avez pas besoin de créer des fichiers AppleScript, osascript peut exécuter AppleScript à partir d'une chaîne utilisant -e. osascript -e "tell application… - grg


La création d’un applescipt puis son alias peuvent en faire un processus rapide une fois la configuration effectuée.

Etape 1 - Créer un script d'application, enregistrer par ex. ~ / Documents / scripts

vi ~ / Documents / scripts / changeBGcolor-1green.scpt   dire l'application "Terminal"      définir les paramètres actuels de la fenêtre 1 pour définir les paramètres 1   fin dire

vi ~ / Documents / scripts / changeBGcolor-2grey.scpt   dire l'application "Terminal"      définir les paramètres actuels de la fenêtre 1 sur les paramètres définis 2   fin dire

1 un 2 ci-dessus mais etc. pour les nombres qui montent.

Etape 2 créer un alias et un fichier source.

vi ~ / .bash_profile   alias cgreen = "osascript ~ / Documents / scripts / changeBGcolor-1green.scpt"   alias cgrey = "osascript ~ / Documents / scripts / changeBGcolor-2grey.scpt"

source ~ / .bash_profile

Je n'ai pas pu trouver une liste de ce que les chiffres étaient en réalité, donc j'ai testé les 10 premiers et je décrirai ci-dessous.

1 = vert 2 = gris 3 = rouge 4 = noir 5 = couleurs alternées pour une raison quelconque lorsque la commande est répétée (j'ai trouvé utile) 6 = noir clair 7 = bronzage 8 = bleu 9 = blanc cassé 10 = jaune pâle

Donc par exemple dans la coquille après

cgreen   changerait le fond en vert


0
2017-12-12 20:09