web-dev-qa-db-fra.com

couleur laide pour les répertoires dans gnome-terminal?

enter image description here

Certains de mes dossiers sont surlignés en vert

Que signifie la surbrillance verte? Comment puis-je supprimer la surbrillance et la rendre semblable à d'autres?

terminal: gnome-terminal .

système: Ubuntu 16.04

5
Ashu_FalcoN

La réponse à votre question est cachée dans les réponses à la fois Que signifient les différentes couleurs dans le terminal? et Comment changer la couleur des répertoires avec ls dans la console? =

La surbrillance verte est due au fait que vos répertoires sont inscriptibles par d’autres (o+w) et non collants.

Cela explique donc pourquoi ils sont surlignés en vert, mais vous demandez également comment les supprimer. Vous dites "faites en sorte que cela ressemble aux autres", ce qui signifie que je suppose que vous voulez parler de répertoires normaux. Ouvrez votre ~/.bashrc et ajoutez ce qui suit au bas:

export LS_COLORS="$LS_COLORS:ow=1;34:tw=1;34:"

sauvegardez le fichier puis exécutez

source ~/.bashrc

Maintenant, ils auront la même apparence que n'importe quel autre répertoire. Notez cependant que le système pense que ce sont des informations que vous devriez être en mesure de voir. Ainsi, vous ne pourrez plus les voir facilement. Pensez à choisir une couleur d'arrière-plan différente dans la liste ci-dessous . Je pense que le violet n'est pas trop mauvais (ow=1;34;45:)

enter image description here

Explication:

ow signifie 'autre, accessible en écriture', tw est 'collant, accessible en écriture' (l'autre condition ayant un arrière-plan vert). J'ai trouvé ces valeurs en examinant le contenu de $LS_COLORS sur mon système, en recherchant les valeurs avec une couleur d'arrière-plan de 42 (vert). Le code de couleur a 3 colonnes (les colonnes non utilisées sont laissées):

bold;font-color;bg-color
8
Seth

Cela est dû au fait que vous avez donné l'autorisation write à une autre personne, ce qui signifie autre que le propriétaire du fichier et non dans le groupe. Vérifiez les autorisations avec ls -l ou ll. Supprimez l'autorisation d'écriture de chmod 0755 directory_name, afin qu'il ressemble à d'autres répertoires.

1
Shivaditya

Nous pouvons l'implémenter avec la méthode os.listdir () de Python. Vous trouverez ci-dessous un exemple de fichier Python: /mnt/home/uname/Documents/reverseVideo.py.

importation os

de stat import *

classe Rvideo:

    def     __init__(self, path):
            self.pathname = path

    def     other_no_write(self):
            td = self.pathname
            for f in os.listdir(td):
                    path = os.path.join(td,f)
                    mode = os.stat(path).st_mode                       
                    if S_ISDIR(mode):
                            os.chmod(path, mode & ~S_IWOTH & 0o777)

Alternativement, on pourrait coder la dernière ligne comme ci-dessous :

    os.chmod(path,oct(os.stat(path)[ST_MODE])[-3:])

Ensuite, nous pouvons l’appeler dans un shell interactif python3:

    >>> sys.path.append("/mnt/home/uname/Documents/")
    >>> from reverseVideo import Rvideo
    >>> d = Rvideo("/some/directory")
    >>> d.other_no_write()
0
Leon Chang