printf(9) Frage...

D

das.chaos

Guest
Hi,

da ich mich selbst als blutiger C-Anf"anger betrachte, eine etwas unbedarfte (ernst gemeinte) Frage:

Ist es m"oglich mittels printf(9), Meldungen (eines Kernelmoduls) in anderen Farben (bspw. Gr"un oder Rot, etc.pp), statt Knallwei"s, zu erzeugen?

Zur zeit benutze ich FreeBSD 8.0.
 
Anm. eines Mods: Bitte benutze die Umlaute ä, ö, ü, ß, oder umschreibe sie mit ae, oe, ue, ss.
Die Art, wie du es machst, bringt die ganze Suchfunktion durcheinander.
 
printf gibt doch immer die Meldungen in der "Systemfarbe" aus.
Bei NetBSD kann man global(für alle Meldungen) die Textfarbe(WS_KERNEL_FG) in der Kernel-Config-Datei ändern.

Aber du meinst sicherlich was anders. Du willst, dass ein Modul seine Nachrichten in einer anderen Farbe ausgibt.
 
ja, das geht ohne weiteres.
auch wenn das nicht besonders "sauber" ist, kannst du das einfach mit ansi-steuercodes machen:

Code:
printf("\e[31;42mfarbig\n");
printf("\e[31;42;1mhellfarbig\n");
printf("\e[31;42;0mdunkelfarbig\n");

31 ist dabei die vordergrundfarbe, in diesem fall rot.
42 ist die hintergrundfarbe, in diesem falle gruen.
und mit der 1 und der null schaltest du zwischen hell und dunkel um.

die anderen farben die es gibt sind:

30,40= schwarz
31,41= rot
32,42= gruen
33,43= braun
34,44= blau
35,45= violett
36,46= tuerkis
37,47= grau

bevor du das programm ausfuehrst musst du allerdings die TERM-variable auf irgendwas setzen was die steuercodes versteht. zum beispiel

Code:
% TERM=xterm-color
% ./a.out

oder

Code:
% TERM=ansi
% ./a.out

guck dir auch mal diese seite hier an: http://en.wikipedia.org/wiki/ANSI_codes
 
Meldungen (eines Kernelmoduls) in anderen Farben (bspw. Grün oder Rot, etc.pp), statt Knallweiß, zu erzeugen?

Zur zeit benutze ich FreeBSD 8.0.

In der FreeBSD Kernel Konfiguration gibt es Optionen,
ich habe da zum Beispiel drin:
Code:
options         SC_NORM_ATTR=(FG_GREEN|BG_BLACK)
options         SC_NORM_REV_ATTR=(FG_YELLOW|BG_GREEN)
options         SC_KERNEL_CONS_ATTR=(FG_RED|BG_BLACK)
options         SC_KERNEL_CONS_REV_ATTR=(FG_BLACK|BG_RED)
Das macht Kernel Meldungen rot und normale Meldungen grün.
Den Hintergrund in den syscons macht das schwarz.
 
Anm. eines Mods: Bitte benutze die Umlaute ä, ö, ü, ß, oder umschreibe sie mit ae, oe, ue, ss.
Die Art, wie du es machst, bringt die ganze Suchfunktion durcheinander.


Ok, werde diesen Hinweis, zukuenftig, beachten. Arbeite momentan mit TexLaTeX (fantastisches Instrument um Vorlesungsinhalte aufzuarbeiten - rockt), da bleibt ein gewisser syntaktischer automatismus, beim schreiben haengen *g*...

@All: Danke fuer die Hinweise bzgl. printf(9) und Antworten auch aus vorangegangen Postings, bzgl. gestellter Fragen von mir! *freu*

Habe es bald geschafft mir ein wunderschoenes KMOD zu basteln (welches meinen Wunschvorstellungen naeher entspricht). Jetzt geht es an die Feinarbeiten.
 
Den Quatsch braucht man aber in LaTeX auch nicht.

Deine Farbspielereien würde ich mit etwas Vorsicht betrachten. Wie sieht das denn in den Logfiles aus? Was passiert bei einer seriellen Konsole?
 
Den Quatsch braucht man aber in LaTeX auch nicht.

Wie jetzt??? Alternative Methode, Umlaute darzustellen? Kannte bisher nur die Methode mit den Anfuehrungsstrichen (da bequem).

Deine Farbspielereien würde ich mit etwas Vorsicht betrachten. Wie sieht das denn in den Logfiles aus? Was passiert bei einer seriellen Konsole?

Interessant, werde bzgl. dieser Kriterien, die Farbspielereien untersuchen. Wird erstmal ein bisschen Zeit beanspruchen, bis ich naeheres berichten kann.
 
Wie jetzt??? Alternative Methode, Umlaute darzustellen? Kannte bisher nur die Methode mit den Anfuehrungsstrichen (da bequem).
OT: Die Methode ist ja schon uralt. Du kannst zB einfach: \usepackage[utf8]{inputenc} benutzen und dann eine ganz normale utf-8 Datei mit Umlauten schreiben.

Interessant, werde bzgl. dieser Kriterien, die Farbspielereien untersuchen. Wird erstmal ein bisschen Zeit beanspruchen, bis ich naeheres berichten kann.
Neben dem was kamikaze schon sagte, gebe ich auch noch zu bedenken, wenn du wirklich etwas fuer das Projekt schreibst, das diese 'Spielereien' nicht gerne gesehen sein werden. Es ist nicht umsonst so, das die Kernelmeldungen alle einheitlich in weiss erscheinen. Ich habs noch nicht ausprobiert, aber so einfach wird das auch nicht sein die Farbe fuer bestimmte Meldungen zu aendern.
 
OT: Die Methode ist ja schon uralt. Du kannst zB einfach: \usepackage[utf8]{inputenc} benutzen und dann eine ganz normale utf-8 Datei mit Umlauten schreiben.
Das ging auch schon vor UTF-8:
Code:
\usepackage[latin1]{inputenc}
... d.h. seit knapp 20 Jahren. Es ist erstaunlich, daß auch heute noch Leute LaTeX auf dem Stand der 80er Jahre lernen. Woran liegt das?
(Ist jetzt nicht gegen Dich gerichtet, das.chaos, das habe ich in den letzten Jahren immer wieder erlebt.)

Noch besser ist es, auch gleich die Dokumentschrift umzustellen, um einen erweiterten Zeichensatz zu nutzen:
Code:
\usepackage[T1]{fontenc}
\usepackage{textcomp}
Hier kannst Du Dir mal ein Beispieldokument anschauen (nicht UTF-8, sondern Latin-1):
http://www.scheinast.homepage.t-online.de/Pr13.tex
 
Das ging auch schon vor UTF-8:
Code:
\usepackage[latin1]{inputenc}
... d.h. seit knapp 20 Jahren. Es ist erstaunlich, daß auch heute noch Leute LaTeX auf dem Stand der 80er Jahre lernen. Woran liegt das?
Das frage ich mich auch. Ich habe diese antiquierte Schreibweise noch nie verwendet aber deutlich jüngere Studenten hier verwenden das immer noch statt eine passende Kodierung zu verwenden.

Stattdessen binden sie irgendwelche Packages ein, die das dann so zurechtfriemeln, dass die Suche im Dokument trotzdem funktioniert.
 
Hi, nicht dasz ich jetzt versehentlich einen 'LaTeX Flamewar' (oder sowas aehnliches) verursacht habe, Asche auf mein Haupt. :-) Interessante Hinweise (bzgl. LaTeX - Danke), sollte mich wohl naeher mit Textkodierung auseinandersetzen (oder die Dokumentation lesen) *g*..

Die Farbspielereien bzgl. printf(9) sind ein paar (harmlose) experimentelle Uberlegungen, weil ich momentan herausfinden will, was so alles bzgl. C programmieren (autodidaktisch) machbar sei. Ich experimentiere mit verschiedenen Varianten eines KMOD, bzw. versuche verschiedene Loesungsansaetze , einer spezifischen Aufgabenstellung zu verwirklichen, mit der Zielsetzung, diese zu vergleichen, hinsichtlich Komplexitaetsreduktion (passt auch thematisch zu einigen Vorlesungen, die ich momentan besuche).

Wenn ich irgendwann mehr Erfahrungen (und Hintergrundwissen bzgl. der Kernelarchitektur) gesammelt habe, werde ich definitiv versuchen, irgendwie, meinen Teil am Projekt beizutragen (definitiv ohne farbiges printf(9) :-) ). Der Kontakt mit FreeBSD war in meinem Leben eine Art Initialzuendung. ein positiver Wendepunkt, welcher das Interesse an Mathematik bzw. an die Wissenschafft der Informatik geweckt hatte. Was mich zu dem Entschluss bewegte, ein Studium der Informatik aufzunehmen (was ich definitiv, bis jetzt, nicht bereue).
 
Ich glaube, du hast sein Posting nicht ganz verstanden.
Wenn ich ihn richtig verstanden habe, will er 2 Module mit unterschiedlichen Implementierungen vergleichen, wobei die Farbe als Unterscheidungsmittel dienen soll.
 
Zurück
Oben