Problem mit farbiger Anzeige bei ls

Du kommst mit der Installation nicht voran oder willst noch was nachfragen? Schau auch in den "Tipps und Tricks"-Bereich.
Antworten
Benutzeravatar
Lars79
Beiträge: 10
Registriert: 13.02.2004 21:48:44
Wohnort: Berlin

Problem mit farbiger Anzeige bei ls

Beitrag von Lars79 » 13.02.2004 22:02:39

Hallo,

ich hab gerade erst Debian installiert und fange an mich einzuarbeiten. Bin soweit auf jeden Fall schon mal sehr zufrieden =). Ich hab nur ein kleines Problem, bzw. eine Frage, mit/zur Shell. Ich möchte wenn ich ls -l eingebe, das anschließende Listing in den bekannten Farben (Directories = blau, Executables = grün, usw.) haben. Ich hab im Forum und über Google gesucht, und das einzige was ich gefunden habe, war, daß man 'alias ls='ls --color=auto'' in die .bashrc schreiben sollte. Der Eintrag ist sogar schon vohanden, auch nicht auskommentiert.

Jetzt ist es leider so, daß wenn ich boote, mich als normaler User einlogge und ls -l benutze, die Farben nicht zu sehen sind, sprich es ist alles grau. Wenn ich aber su benutze um zum root zu wechseln und anschließend wieder über su zum normalen User zurückkehre, habe ich auf einmal die Farben. Wenn ich stattdessen nach dem Booten, Einloggen als normaler User und switchen zu root nicht über su zum normalen User zurückkehre, sonder über exit, habe ich wieder keine Farben. Es scheint so, daß ich immer einmal als root angemeldet sein muß und ich erst dann bei einer Anmeldung als normaler User Farben kriege. Man kann das natürlich so lösen, aber es nervt einfach auf dauern.. Und außerdem kann ich es nicht leiden wenn etwas nicht so klappt wie ich es gerne hätte =)..

Wenn jemand eine Idee hätte woran das liegen könnte, wäre das super.. Falls ich noch irgendwelche Dateien/Settings/usw. posten soll, sagt bescheid.

Schon mal vielen Dank =),

Lars

Benutzeravatar
pil
Beiträge: 629
Registriert: 30.04.2002 15:47:27

Re: Problem mit farbiger Anzeige bei ls

Beitrag von pil » 14.02.2004 08:59:34

Systemweit kannst du etwa das folgende in /etc/profile eintragen:

#dircolors scheint nicht zu funktionieren, deshalb werden die Variablen direkt definiert:
LS_COLORS='no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or
=40;31;01:ex=01;31:*.exe=00;33:*.tar=00;31:*.tgz=00;31:*.arj=00;31:*.taz=00;31:*.lzh=01;31:*.z
ip=00;31:*.z=00;31:*.Z=00;31:*.gz=00;31:*.bz2=00;31:*.deb=00;31:*.rpm=00;31:*.jar=00;31:*.jpg=
01;35:*.jpeg=01;35:*.png=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.t
ga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.mpg=01;35:*.mpeg=01;35:*.avi=01;35
:*.fli=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.ogg=01;35:*.mp3=01;35:';
export LS_COLORS



Wenn sich die Farbanzeige nur auf einen User beziehen soll, in ~/.profile eintrage.


Das Format ist selbsterklärend. Wo man die zur Verfügung stehenden Farbangaben herkriegt, weiss ich im Augenblick nicht.

Benutzeravatar
spiffi
Beiträge: 1128
Registriert: 09.08.2003 19:02:27

Re: Problem mit farbiger Anzeige bei ls

Beitrag von spiffi » 14.02.2004 12:12:07

Die ~/.bashrc wird nur für interaktive Nicht-Loginshells ausgeführt. Für interaktive Loginshells ist die ~/.bash_profile zuständig.
Abhilfe: In der ~/.bash_profile die ~/.bashrc sourcen. Das ist in der Debian-Bashprofile auch vorgesehen, aber auskommentiert.
Wirf einfach mal nen Blick rein.
Lars79 hat geschrieben:Wenn ich aber su benutze um zum root zu wechseln und anschließend wieder über su zum normalen User zurückkehre, habe ich auf einmal die Farben.
Das deutet darauf hin, daß Du su falsch benutzt. Ich nehme mal an, daß Du ein

Code: Alles auswählen

su
...
su benutzername
machst. Das führt dazu, daß Du als zunächt eine Subshell als root eröffnest und dann in dieser Subshell eine Subshell als Benutzer. Du hast also drei Shells ineinandergeschachtelt.
Der richtige Weg ist, die root-Subshell über exit, logout oder CTRL+D zu verlassen.
Und da Du su ohne Parameter '-' aufgerufen hast, sind die gestarteten Shells keine Loginshells. Hier wird also die ~/.bashrc statt der ~/.bash_profile ausgeführt.

Welche Startskripte von der Shell wann und in welcher Reihenfolge abgearbeitet werden steht übrigens in der bash-manpage in der Sektion Invocation.

Benutzeravatar
Lars79
Beiträge: 10
Registriert: 13.02.2004 21:48:44
Wohnort: Berlin

Beitrag von Lars79 » 14.02.2004 13:23:43

Vielen Dank für die schnellen Antworten =). Ich werd das mal probieren.

Nachtrag: Hat wunderbar geklappt. Nochmal danke =).

Antworten