[lxterminal] Plus de couleurs (resolu)

Questions et astuces concernant l'installation et la configuration d'archlinux
Répondre
Tatsuya
yeomen
Messages : 281
Inscription : ven. 28 janv. 2011, 15:58

[lxterminal] Plus de couleurs (resolu)

Message par Tatsuya »

Bon, donc voilà:

Je n'ai plus de couleur sur lxterminal après avoir enfin trouvé le moyen d'avoir les accents. Je vois pas trop quel fichier de config vous refiler pour m'aider, mais avec un peu de chance c'est juste une option à rajouter quelque part ;)
Dernière modification par Tatsuya le mar. 01 févr. 2011, 20:10, modifié 2 fois.
Tatsuya
yeomen
Messages : 281
Inscription : ven. 28 janv. 2011, 15:58

Re: [lxterminal] Plus de couleurs

Message par Tatsuya »

Arf, je sais que c'est un problème trivial, mais personne n'a de solution simple et efficace ?
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17187
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [lxterminal] Plus de couleurs (en cours)

Message par benjarobin »

Donne ton .bashrc et ton .bash_profile de ton home.
Zsh | KDE | PC fixe : core i7, carte nvidia
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Tatsuya
yeomen
Messages : 281
Inscription : ven. 28 janv. 2011, 15:58

Re: [lxterminal] Plus de couleurs (en cours)

Message par Tatsuya »

Bien bien (et merci de me venir en aide :) ), voilà:

.bashrc:
archbey -c white

export EDITOR="nano"


et pas de bash_profile
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17187
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [lxterminal] Plus de couleurs (en cours)

Message par benjarobin »

Et comment veux tu avoir des couleurs ?
Il faudrait remplir ces fichiers...
https://wiki.archlinux.org/index.php/Color_Bash_Prompt
http://wiki.archlinux.fr/man/man_couleur
Et j'en passe...

Je te conseil de lire le contenu de man bash
Donc pour avoir le contenu du .bashrc exécuté dans un nombre plus grand de cas, il faut l'appelé depuis .bash_profile.
Après je te conseil aussi de lire le man de toutes les commandes classiques tel que ls... Voir ce que fait la commande alias...
Zsh | KDE | PC fixe : core i7, carte nvidia
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Tatsuya
yeomen
Messages : 281
Inscription : ven. 28 janv. 2011, 15:58

Re: [lxterminal] Plus de couleurs (en cours)

Message par Tatsuya »

Merci pour les liens, mais le problème est tout different^^

Avant de mettre mon systeme en UTF-8, lorsque je démarrais LXTerminal, j'avais un logo Arch avec quelques infos sysème qui s'affichaient en couleur. Et yaourt m'affichait aussi certaines infos en couleur.

Depuis que j'ai mis mon système en UTF-8, je n'ai plus toute ces fancy-features qui ajoutaient en lisibilité!!

Et mon .bashrc n'a pas changé entre l'avant et l'après UTF-8^^

PS: t'inquiètes pas, je connais les commandes classiques. J'utilise tout de même Linux depuis le début des années 90. J'ai juste jamais triffouillé trop les fichiers à la main. Y'avait toujours un programme de config, même en mode texte. Ce qui ne veut pas dire que je me plaint, au contraire, triffouiller à la main me plait et m'apprend beaucoup sur le fonctionnement de linux.
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17187
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [lxterminal] Plus de couleurs (en cours)

Message par benjarobin »

Que donne la sortie de cette commande (As tu des couleurs ?) :

Code : Tout sélectionner

command ls --color=always
Zsh | KDE | PC fixe : core i7, carte nvidia
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Tatsuya
yeomen
Messages : 281
Inscription : ven. 28 janv. 2011, 15:58

Re: [lxterminal] Plus de couleurs (en cours)

Message par Tatsuya »

Ah bin j'ai édité mon .bashrc avec le dernier script qui se trouve dans le premier lien que tu m'as donnée, et j'ai bien la couleur lors d'un ls, et aussi dans le prompt.

Donc mon terminal gère la couleur, ce que je me demande c'est comment ça se fait qu'il en ait perdu certaines, notamment ceux que j'ai cité plus haut^^
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17187
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [lxterminal] Plus de couleurs (en cours)

Message par benjarobin »

On va commencé par yaourt.
Car si la commande

Code : Tout sélectionner

command ls --color=auto
donne de la couleur, alors le problème n'est pas là ou tu le cherche, mais plus dans les programmes qui ne donne pas la couleur.

Que donne

Code : Tout sélectionner

yaourt gtkterm-git
N'installe rien, annule, mais as tu de la couleur ?
Zsh | KDE | PC fixe : core i7, carte nvidia
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Tatsuya
yeomen
Messages : 281
Inscription : ven. 28 janv. 2011, 15:58

Re: [lxterminal] Plus de couleurs (en cours)

Message par Tatsuya »

Bon, là pour le coup j'ai de la couleur^^

Tu es venu sur mon ordinateur en SSH :P

Non, plus serieusment, je suis soit trop impatient, soit j'ai la berlue, mais y a pas si longtemps c'était qu'en noir et blanc!!
Je sais pas ce que j'ai changé entre temps.

Pourtant, le logo Arch qui était avant en couleur est lui toujours en gris... mais peut-être que tu as l'explication...
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17187
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [lxterminal] Plus de couleurs (en cours)

Message par benjarobin »

Sûrement si tu me donne le script qui génère le logo. On trouve où archbey ?
Sinon pour yaourt pour tout avoir en couleur, il faut installer pacman-color et modifier ensuite /etc/yaourtrc
Zsh | KDE | PC fixe : core i7, carte nvidia
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Tatsuya
yeomen
Messages : 281
Inscription : ven. 28 janv. 2011, 15:58

Re: [lxterminal] Plus de couleurs (en cours)

Message par Tatsuya »

Archbey est dans /etc/bin et il venait avec Archbang. Voilà, mais il est long (le logo est à la fin):

Code : Tout sélectionner

#!/usr/bin/env python2
#
# archey [version 0.1-11]
#
# Maintained by Melik Manukyan <melik@archlinux.us>
# Distributed under the terms of the GNU General Public License v3.
# See http://www.gnu.org/licenses/gpl.txt for the full license text.
# Modified for ArchBang -sHyLoCk
# System information tool for Archlinux written in python.

# Import libraries
import os, sys, subprocess, optparse, re
from subprocess import Popen, PIPE
from optparse import OptionParser
from getpass import getuser
from time import ctime, sleep

# Display [Comment/Uncomment to Enable/Disable information.]
display = [
 'os', # Display Operating System
 'hostname', # Display Machine Hostname
 'kernel',  # Display Kernel Version
# 'battery', # Display Battery Usage [Requires 'acpi']
 'uptime',  # Display System Uptime
 'wm',  # Display Window Manager
# 'de', # Display Desktop Environment
 'packages', # Display Number of Packages Installed
 'ram', # Display RAM Usage
 'cpu', # Display CPU Model
 'sh', # Display Current Shell
# 'fs:/boot', # Display /boot Partition Usage
# 'fs:/home', # Display /home Partition Usage
# 'fs:/MOUNT/POINT', # Display * Partition, Edit To Your Needs
 'fs:/' # Display / Partition Usage
 ]
# Array containing Values
result = []

# Options
if __name__=='__main__':
 parser = OptionParser(usage='%prog [-c COLOR] [-s, --screenshot]', description='To customize the info displayed on archey, edit "/usr/bin/archey" directly and look for the display array. Note: Archey can only allow up to 15 fields.', version="%prog 0.1.11")
 parser.add_option('-c',
  action='store', default='blue', type='choice', dest='color', choices=('black', 'red', 'green', 'yellow', 'blue', 'magenta', 'cyan', 'white'), help='choose a color: black, red, green, yellow, blue, magenta, cyan, white [Default: blue]')
 parser.add_option('-s', '--screenshot',
  action='store_true', dest='screenshot', help='take a screenshot')
 (options, args) = parser.parse_args()

# Define colors
colorscheme = '%s' % options.color
colors = {'black': '0', 'red': '1', 'green': '2', 'yellow': '3', 'blue': '4', 'magenta': '5', 'cyan': '6', 'white': '7'}
for key in colors.keys():
 if key in colorscheme: colorcode = colors[key]    
color = '\x1b[1;3%sm' % colorcode
color2 = '\x1b[0;3%sm' % colorcode
clear = '\x1b[0m'

# Define processes for identifying Desktop Environmentss, Window Managers, Shells.
de_dict = {
 'gnome-session': 'GNOME',
 'ksmserver': 'KDE',
 'xfconfd': 'Xfce'}
           
wm_dict = {
 'awesome': 'Awesome',
 'beryl': 'Beryl',
 'blackbox': 'Blackbox',
 'compiz': 'Compiz',
 'dwm': 'DWM',
 'enlightenment': 'Enlightenment',
 'fluxbox': 'Fluxbox',
 'fvwm': 'FVWM',
 'icewm': 'IceWM',
 'kwin': 'KWin',
 'metacity': 'Metacity',
 'musca': 'Musca',
 'openbox': 'Openbox',
 'pekwm': 'PekWM',
 'ratpoison': 'ratpoison',
 'scrotwm': 'ScrotWM',
 'wmaker': 'Window Maker',
 'wmii': 'wmii',
 'xfwm4': 'Xfwm',
 'xmonad': 'xmonad'}

sh_dict = {
 'zsh': 'Zsh',
 'bash': 'Bash',
 'dash': 'Dash',
 'fish': 'Fish',
 'ksh': 'Ksh',
 'csh': 'Csh',
 'jsh': 'Jsh',
 'tcsh': 'Tcsh'}

# Find running processes.
def xmonadfix(str):
 if re.compile("xmonad").match(str): return "xmonad"
 return str
p1 = Popen(['ps', '-u', getuser()], stdout=PIPE).communicate()[0].split('\n')
processes = map(xmonadfix, [process.split()[3] for process in p1 if process])
p1 = None

# Print coloured key with normal value.
def output(key, value):
 output = '%s%s:%s %s' % (color, key, clear, value)
 result.append(output)

# RAM Function
def ram_display():
 raminfo = Popen(['free', '-m'], stdout=PIPE).communicate()[0].split('\n')
 ram = ''.join(filter(re.compile('M').search, raminfo)).split()
 used = int(ram[2]) - int(ram[5]) - int(ram[6])
 output ('RAM', '%s MB / %s MB' % (used, ram[1]))

# Screenshot Function 
screen = '%s' % options.screenshot
def screenshot():
 print 'Taking shot in',
 list = range(1,6)
 list.reverse()
 for x in list:
   print '%s..' % x,
   sys.stdout.flush()
   sleep(1)
 print 'Say Cheeze!'
 subprocess.check_call(['scrot'])

# Operating System Function
def os_display(): 
 arch = Popen(['uname', '-m'], stdout=PIPE).communicate()[0].rstrip('\n')
 os = 'ArchBang - "Symbiosis" %s' % (arch)
 output('OS', os)

# Kernel Function
def kernel_display():
 kernel = Popen(['uname', '-r'], stdout=PIPE).communicate()[0].rstrip('\n')
 output ('Kernel', kernel)

# Hostname Function
def hostname_display():
 hostname = Popen(['uname', '-n'], stdout=PIPE).communicate()[0].rstrip('\n')
 output ('Hostname', hostname)

# CPU Function
def cpu_display():
 file = open('/proc/cpuinfo').readlines()
 cpuinfo = re.sub('  +', ' ', file[4].replace('model name\t: ', '').rstrip('\n'))
 output ('CPU', cpuinfo) 

# Uptime Function
def uptime_display():
 fuptime = int(open('/proc/uptime').read().split('.')[0])
 day = int(fuptime / 86400)
 fuptime = fuptime % 86400
 hour = int(fuptime / 3600)
 fuptime = fuptime % 3600
 minute = int(fuptime / 60)
 uptime = ''
 if day == 1:
  uptime += '%d day, ' % day
 if day > 1:
  uptime += '%d days, ' % day
 uptime += '%d:%02d' % (hour, minute)
 output('Uptime', uptime)

# Battery Function [Requires: acpi]
def battery_display(): 
 p1 = Popen(['acpi'], stdout=PIPE).communicate()[0].lstrip()
 battery = p1.split(' ')[3].rstrip('\n')
 output ('Battery', battery)

# Desktop Environment Function 
def de_display():
 de = 'None found'
 for key in de_dict.keys():
  if key in processes: de = de_dict[key]
 output ('Desktop Environment', de)

# Window Manager Function
def wm_display():
 wm = 'None found'
 for key in wm_dict.keys():
  if key in processes: wm = wm_dict[key]
 output ('Window Manager', wm)

# Shell Function
def sh_display():
 sh = os.getenv("SHELL").split('/')[-1].capitalize()
 output ('Shell', sh)

# Packages Function
def packages_display():
 p1 = Popen(['pacman', '-Q'], stdout=PIPE)
 p2 = Popen(['wc', '-l'], stdin=p1.stdout, stdout=PIPE)
 packages = p2.communicate()[0].rstrip('\n')
 output ('Packages', packages)

# File System Function
def fs_display(mount=''):
 p1 = Popen(['df', '-TPh', mount], stdout=PIPE).communicate()[0]
 used = [line for line in p1.split('\n') if line][1]
 used = used.split()[3]
 total = [line for line in p1.split('\n') if line][1]
 total = total.split()[2]
 type = [line for line in p1.split('\n') if line][1]
 type = type.split()[1]
 if mount == '/': mount = '/root'
 fs = mount.rpartition('/')[2].title() + " FS"
 part = '%s / %s (%s)' % (used, total, type)
 output (fs, part)

# Run functions found in 'display' array.
for x in display:
 call = [arg for arg in x.split(':') if arg]
 funcname=call[0] + '_display'
 func=locals()[funcname]
 if len(call) > 1:
  func(arg)
 else:
  func()

# Array containing values.
result.extend(['']*(16 - len(display)))

###### Result #######
print """%s
%s               +                
%s               #                %s
%s              ###               %s
%s             #####              %s
%s             ######             %s
%s            ; #####;            %s
%s           +##.#####            %s
%s          +##########           %s
%s         ######%s#####%s##;         %s
%s        ###%s############%s+        %s
%s       #%s######   #######        %s
%s     .######;     ;###;`\".      %s
%s    .#######;     ;#####.       %s
%s    #########.   .########`     %s
%s   ######'           '######    %s
%s  ;####                 ####;   %s
%s  ##'                     '##  %s 
%s #'                         `#  
%s """ % (color, color, color, result[0], color, result[1], color, result[2], color, result[3], color, result[4], color, result[5], color, result[6], color, color2, color, result[7], color, color2, color, result[8], color, color2, result[9], color2, result[10], color2, result[11], color2, result[12], color2, result[13], color2, result[14], color2, result[15], color2, clear)

if screen == 'True':
 screenshot()
EDIT: au fait, c'est possible d'avoir les couleurs en root? Parce que dès que je passe en su elles ne s'affichent plus.
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17187
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [lxterminal] Plus de couleurs (en cours)

Message par benjarobin »

En root, il faut configurer le .bashrc du compte root... Il est ici : /root/
Que donne ceci :

Code : Tout sélectionner

echo -e "\x1b[1;32m Test \x1b[0m Fin"
Ou ceci

Code : Tout sélectionner

echo -e "\x1b[1;37m Test \x1b[0m Fin"
Tu as quels couleurs pour le mot Test
Zsh | KDE | PC fixe : core i7, carte nvidia
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Tatsuya
yeomen
Messages : 281
Inscription : ven. 28 janv. 2011, 15:58

Re: [lxterminal] Plus de couleurs (en cours)

Message par Tatsuya »

Le premier donne un test vert et le second un blanc.

PS: merci pour le tips du bashrc root... j'aurais p y penser :/
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17187
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [lxterminal] Plus de couleurs (en cours)

Message par benjarobin »

Et si tu lance à la main après le lancement de lxterminal, /usr/bin/archbey, tu as la couleur ?
Si ce n'est pas le cas, quel est la sortie de

Code : Tout sélectionner

archbey | hexdump | head -6
Zsh | KDE | PC fixe : core i7, carte nvidia
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Tatsuya
yeomen
Messages : 281
Inscription : ven. 28 janv. 2011, 15:58

Re: [lxterminal] Plus de couleurs (en cours)

Message par Tatsuya »

En le tapant à la main, j'ai bien de la couleur. Pas les même qu'avant cependant... j'avoue que pour la théorie derrière tout ça je pêche!
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17187
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [lxterminal] Plus de couleurs (en cours)

Message par benjarobin »

Pour celle d'avant tu doit taper /usr/bin/archbey -c white
En tout cas c'est ce que je craignais... Et je ne peux pas vraiment répondre comme cela.
Pourquoi cela ne marche pas dans le bashrc... (chez moi tout est OK)
Si quelqu'un à une idée ? Sinon je te propose de faire un dernier test: tu met ceci dans ton bashrc

Code : Tout sélectionner

archbey | hexdump | head -6

echo -e "\x1b[1;32m Test \x1b[0m Fin"
et tu ouvre un nouveau terminal et tu nous donne le résultat...
Et as tu de la couleur pour le mot Test ?
Zsh | KDE | PC fixe : core i7, carte nvidia
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Tatsuya
yeomen
Messages : 281
Inscription : ven. 28 janv. 2011, 15:58

Re: [lxterminal] Plus de couleurs (en cours)

Message par Tatsuya »

Voilà le resultat de la commande:

Code : Tout sélectionner

0000000 5b1b 3b31 3433 0a6d 5b1b 3b31 3433 206d
0000010 2020 2020 2020 2020 2020 2020 2020 202b
0000020 2020 2020 2020 2020 2020 2020 2020 0a20
0000030 5b1b 3b31 3433 206d 2020 2020 2020 2020
0000040 2020 2020 2020 2023 2020 2020 2020 2020
0000050 2020 2020 2020 1b20 315b 333b 6d34 534f
 Test  Fin
Le mot "test" est en vert.

Je ferai le tour des fichiers que j'ai configuré dernièrement histoire de voir si je trouve un truc louche. Si ça marchait avant, ça devrait marcher maintenant aussi!!
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17187
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [lxterminal] Plus de couleurs (en cours)

Message par benjarobin »

Tu peux redonner ton .bashrc, tu es sur qu'il n'y a pas de caractère bizarre dedans ?
Car cela devrai marcher.
Que donne ceci :

Code : Tout sélectionner

cd ~
mv .bashrc back.bashrc
echo "archbey" > .bashrc
Puis ferme le terminal et ré-ouvre le...
Zsh | KDE | PC fixe : core i7, carte nvidia
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Tatsuya
yeomen
Messages : 281
Inscription : ven. 28 janv. 2011, 15:58

Re: [lxterminal] Plus de couleurs (en cours)

Message par Tatsuya »

L'arche et les infos système sont en nuances de bleu.

Avant elle était blanche avec des touches de rouge et autres... mais bon, je penses que tu m'as assez aidé à ce propos. La couleur est revenue quand je lance des commandes, même en root, c'est l'essentiel!

Je me demandes bien toutefois pourquoi mon bash était passé au noir et blanc pendant un moment...

Merci pour ton aide benjarobin :)
Répondre