[OK] am Zeilenende
-
Beim Booten zeigt der Kernel ja immer ein Prozess an und dahinter (wenns geklappt hat) [ OK ]
* Checking root devices... [...] [ OK ]
Ich würde gerne wissen, wie man mit printf() zum Zeilenende springt, um [OK] auszugeben. Oder wie man das sonst macht (wenns mit printf() nicht geht).
Ich mache gerade mit einem Freund ein Programm, dass einen dabei unterstützt Gentoo-Linux zu installieren. Da das vielleicht mal auf die Installationscd kommt (die hat kein Installationsprogramm) kommt, sollte es schon etwas professioneller sein.
Würde mich über schnelle Hilfe freuen,
Lord of CnC
-
Das einzigest was ich weiß, dass man mit dem Befehl
stty size
die Masse einer Shell ermitteln kann.
-
imhotep schrieb:
Das einzigest was ich weiß, dass man mit dem Befehl
stty size
die Masse einer Shell ermitteln kann.
In Gramm? :p
-
Rechtschreibreformgeschädigter
-
Das Wort "einzigest" gibt es ja auch nicht (übrigens "einzigste" auch nicht, obwohl es sehr beliebt ist).
Aber zum Thema: Du kannst ja einfach mal in die Quellen schauen, wie es dort gemacht wurde. Und zwar nicht in die Kernelquellen, da nicht der Kernel diese Meldungen ausgibt, sondern die Startskripte. Und das sind shellskripte. Ausserdem sind diese Meldungen distributionsspezifisch.
Die Meldungen sehen so nach SuSE aus. Schau mal auf einem SuSE-Linux unter /etc/rc.status. Da sind so ein paar Beispiele.
Tommi
-
Hallo,
Die Meldungen gibt nicht der Kernel aus, das tun die Startskripte, die von init aufgerufen werden. Bei Gentoo machen die das mit ebegin und eend, siehe /etc/init.d/*.
Du brauchst Dir übrigens keine allzugroßen Hoffnungen machen, dass Dein Installer verwendet wird: http://www.gentoo.org/proj/en/releng/installer/screenshots/index.xml
-
Ich habe jetzt eine (etwas umständliche) Lösung gefunden.
int getconsolewidth(){ char temp[10]; char temp2[10]; int r=0; system("stty size >> /.con.res"); //<-- hier nutze ich stty size FILE *e = fopen("/.con.res","r"); fgets(temp,10,e); temp2[0]=temp[3]; temp2[1]=temp[4]; r=atoi(temp2); fclose(e); unlink("/.con.res"); return r; }
-
so is besser:
#include <sys/ioctl.h>
winsize ws;
ioctl(0, TIOCGWINSZ, &ws);und in ws.ws_col steht die breite.
-
das schöne wäre es zu wissen, wie man das in einem bash Skript macht, denn das versuche ist schon seit einiger Zeit, aber erfolglos.
-
dann lies diesen thread nochmal ganz genau
-
ach so.... ich hab gedacht, stty size wäre eine C Funktion.