Farbiges ls - Konsole ja, xterm nein

nihonto

Well-Known Member
Hiho,

wollte mittels "gnuls" und dieser Anleitung die Farbausgabe von "ls" auf dem xterm anknipsen.

Ich habe:

- gnuls mittels pkg_add installiert
- in der ~/.profile das hier eingetragen: alias ls="gls --color=auto"
- mich komplett aus- und wieder eingeloggt

leider nur mit teilweisem Erfolg. Wenn ich ohne x-server nur auf der Konsole arbeite funktioniert es. Bei eingeschaltetem x-server und auf dem xterm funktioniert's nicht automatisch, sondern nur, wenn ich den alias-Wert händisch am Prompt des xterm eingebe.

Was hab' ich vergessen oder falsch gemacht:confused:
 
Hast du den alias Befehl auch in /etc/profile drin?

Hmmm, /etc/profile gibt's bei mir nicht - muss ich die haben:confused:

Ich frag' nur, weil ich ja als User auf der Konsole das farbige ls habe (und auch im xterm, wenn ich's händisch eingebe). Ob ich das nun systemweit noch aktiviere oder nicht, scheint mir doch erstmal unerheblich.

Oder lieg' ich da jetzt völlig falsch?
 
mach mal "echo $TERM" im xterm... da sollt dann "xterm-color" kommen.

falls nicht, setz "XTerm*termName: xterm-color" in deiner ~/.Xdefaults

auf bald
oenone

EDIT: taucht dein alias denn auf, wenn du im xterm "alias" eingibst?
 
1.
nihonto@sushi:~$ echo $TERM
xterm-color

2.
nihonto@sushi:~$ alias
autoload='typeset -fu'
functions='typeset -f'
hash='alias -t'
history='fc -l'
integer='typeset -i'
local=typeset
login='exec login'
nohup='nohup '
r='fc -e -'
stop='kill -STOP'
suspend='kill -STOP $$'
type='whence -v'

Nö, der alias taucht nicht auf:confused:

Dabei sieht meine ~/.profile so aus:

# $OpenBSD: dot.profile,v 1.4 2005/02/16 06:56:57 matthieu Exp $
#
# sh/ksh initialization

PATH=$HOME/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/X11R6/bin:/usr/local/bin:/usr/
local/sbin:/usr/games:.
export PATH HOME TERM

PKG_PATH=ftp://ftp.freenet.de/pub/ftp.openbsd.org/pub/OpenBSD/4.1/packages/i386/
export PKG_PATH

export PS1='\u@\h:\w$ '

alias ls="gls --color=auto"

Aber der alias muss doch in die ~/.profile, oder? Ich frag' nur, weil er unter NetBSD in die ~/.kshrc muss.
 
das normale ls kann auch Farben.

ls -G

halt entsprechende alias setzen.

ups, von FreeBSD weis ich es, OpenBSD jetz nich so genau.
 
füg mal ein "XTerm*loginShell: true" in deine .Xdefaults ein

... ist längst drin, ändert aber nichts - sorry, hatte ich vergessen zu erwähnen! War schon vorgestern darauf gekommen, dass es evtl. damit zu tun haben könnte. Hat aber leider auch nichts daran geändert, dass der "alias"-Wert aus der ~/.profile offenbar nicht ausgelesen wird.
 
startest du X mit 'startx'? wenn ja, ist in der shell von der aus du es startest das alias gesetzt?

welche shell benutzt du?

existiert der link von .kshrc auf die .profile?

auf bald
oenone
 
Oder vielleicht mal ein "which ls" machen, da müsste er ja dann melden "aliased to ...." und eventuell Unterschiede festzustellen sein.
 
Es funktioniert, es funktioniert:D!

Und es lag mal wieder an einer Kleinigkeit *seufz*. Ich hatte in der ~/.Xdefaults das hier stehen:

XTerm*loginshell: true

Na, Fehler gesehen? So ist's richtig:

XTerm*loginShell: true

Shell muss mit großem "S" geschrieben werden - daran hat's gelegen:eek:

@oenone

Du schreibst:

existiert der link von .kshrc auf die .profile?

Ähemm, diskrete Nachfrage: Was für'n Link? Meinst Du das hier (man ksh):

If the ENV parameter is set when the shell starts (or, in the case of lo-
gin shells, after any profiles are processed), its value is subjected to
parameter, command, arithmetic, and tilde (`~') substitution and the re-
sulting file (if any) is read and executed. In order to have an interac-
tive (as opposed to login) shell process a startup file, ENV may be set
and exported (see below) in $HOME/.profile - future interactive shell in-
vocations will process any file pointed to by $ENV:

export ENV=$HOME/.kshrc

$HOME/.kshrc is then free to specify instructions for interactive shells.
For example, the global configuration file may be sourced:

if [ -o interactive ]; then
. /etc/ksh.kshrc
fi

The above strategy may be employed to keep setup procedures for login
shells in $HOME/.profile and setup procedures for interactive shells in
$HOME/.kshrc. Of course, since login shells are also interactive, any
commands placed in $HOME/.kshrc will be executed by login shells too.

Da versteh' ich ehrlich gestanden nicht so ganz den Unterschied zwischen login- und interactive-shell:rolleyes:.
 
Back
Top