mit dem Programm alien kannst Du rpm Pakete in deb Pakete wandeln und diese dann mit
dpkg -i <name.deb> installieren.
http://debiananwenderhandbuch.de/alien.html
http://www.die.net/doc/linux/man/man1/alien.1.html
mit dem Programm alien kannst Du rpm Pakete in deb Pakete wandeln und diese dann mit
dpkg -i <name.deb> installieren.
http://debiananwenderhandbuch.de/alien.html
http://www.die.net/doc/linux/man/man1/alien.1.html
Hi malibu!
Schreibe mal auf wie Deine Partitionen (z.B. hda1 für Windows, hda2 für Linux) heißen. Welchen Bootmanager (grub, lilo,..) benutzt Du?
Am einfachsten kannst Du eine Partition lesend und schreibend für beide Syteme benutzen indem Du sie fat32 formatierst.
Wenn Du Deine Linuxpartition ext2 oder ext3 formatiert hast dann kannst Du mit dem Tool ext2fs
auch von Windows auf die Linuxpartition zugreifen.
xxfunkxx
Hallo!
Du könntest Dir eine LiveCD besorgen, zum Beispiel Kanotix und dann nach dem Booten von der CD die /etc/X11/XF86Config-4 kopieren. Dann sollte dein Xserver starten.
Vielleicht auch mal den Treiber Deiner Grafikkarte updaten. Ist glaube ich ein nvidia Chipsatz. http://www.nvidia.com/object/linux.html
xxfunkxx
Hallo!
Ich habe in einem char array das ich mir aus einer named piped einlese folgendes drinstehen:
ZitatAlles anzeigen
output: --> queue
Entry(s) : 1/[1024]
Position : 0 <01_Transistor.mp3>
>>> *311.lst
Play mode : Repeat
List view : Tag, then Filename
Memory : 16.53 Kbytes
Entry(s) : 19
Position : 0 <01_Transistor.mp3>
Status : 0.0% played, 0.0% skipped
--> saturday.lst
Play mode : Repeat
List view : Tag, then Filename
Memory : 16.31 Kbytes
Entry(s) : 6
Position : 0 <happy.mp3>
Status : 0.0% played, 0.0% skipped
--> sunday.lst
Play mode : Repeat
List view : Tag, then Filename
Memory : 16.27 Kbytes
Entry(s) : 5
Position : 0 <new_begining.mp3>
Status : 0.0% played, 0.0% skipped
Was ich darus brauche sind die rot markierten Zeilen.
Das sind Playlist die ich brauche um sie an andere Stelle anzuzeigen und auswählen zu können.
Mit der Funktion strstr() kann ich mir die Position anzeigen lassen an der die zu suchende Zeichenkette auftritt.
Also so zum Beispiel:
iln = read(imp3out, output , 8191);
/* ... */
char *loc;
loc = strstr(output, "--> ");
printf( "\n\t%s wurde an Position %d gefunden.\n\n\n", ".lst", loc-output);
loc = strstr(output, "--> ");
printf( "\n\t%s wurde an Position %d gefunden.\n\n\n", ".lst", loc-output);
Nun bekomme ich aber nur EINMAL raus an welcher Stelle diese Kombination auftritt. Aber ich muß ja mehrmals nach "--> " suchen.
Und dann habe ich ja erst die Position der Zeichenkombination.
Ich hab mir nun gedacht. Suche ich anschließend nach ".lst"
Die Zeichen dazwischen sind dann der Name der Playlist.
Ich frage mich nur ob das nicht auch einfacher geht.
Ich bin leider nicht so fit mit Stringmanipulation in C.
Vielleicht kann mir ja jemand weiterhelfen und noch ein paar Tipps geben.
Vielen Dank
xxfunkxx
memset() hat funktioniert
danke
Hallo!
In meinem C-Programm möchte ich die Funktion strnset() verwenden
um eine spezifizierte Anzahl von Zeichen in ein angegebenes Zeichen zu verändern.
Diese Funktion ist allerdings keine ANSI-C Funktion und steht in meiner string.h auch nicht drin. Auf vielen Seiten habe ich aber gesehen das einfach der Header string.h verwendet wird.
Kann mir jemand sagen wo ich den Code für nicht ANSI-C Funktion bekommen kann.
xxfunkx
Ich ab meinen Fehler gefunden. Die dynamischen Arrays waren einfach zu klein angelegt. Das hab ioch jezu so angepaßt, dass ich auf jedenfall die doppelte Größe habe und außerdem hab ich die Fehlerabfrage gleich nach der Speicherzuweisung eingebaut.
Hallo!
Ich programmiere einen mp3-Player den man über ein kleines LCD Display mit 4 Buttons ansteuern kann. Hierzu verwende ich den Player imp3sh. Den imp3sh Player kann man über named pipes Steuerbefehle schicken um ihm zu sagen was er machen soll (PLAY, STOP, NEXT SONG, LOAD PLAYLIST, etc.).
In meinem C-Programm habe ich eine handler-Funktion mit der ich auf Buttonevents reagieren kann.
Gut das ist der Hintergrund des Programms. Jetzt mal zu meinem Problem.
Ich habe eine Funktion geschrieben in der ich den Player initialisiere. Dort werden alle meine Playlist geladen.
In initialize_player() allokiere ich mir Speicher mittels calloc() für zwei char Zeiger, die ich weiter unten wieder mit free() freigebe. Hier bekomme ich aber bei der Ausführung einen Segmentaion fault (siehe rotes Kommentar)
Mir ist nicht klar warum?
Der Code der Funktion sieht so aus:
void initialize_player() {
system("cd /music/ && ls -1p *.lst > /music/all_playlists");
FILE *my_stream;
char my_filename[] = "/music/all_playlists";
char *my_string;
my_string = (char *) calloc (100, sizeof(char));
char *imp3sh_command;
imp3sh_command = (char *) calloc (100, sizeof(char));
printf("\t\t\t\n---> DEBUGGING <---\n");
// delete all playlists
write_imp3in("dellist all\n");
int number_of_playlists = 0;
my_stream = fopen(my_filename, "r");
char *addlist;
char *uselist;
char *loadlist;
while( fgets (my_string, 100, my_stream) != NULL) {
number_of_playlists++;
//addlist to imp3sh
addlist = (char *) calloc (5, sizeof("addlist ") );
strcat(addlist, "addlist ");
strcat(addlist, my_string);
strcat(addlist, "\n");
write_imp3in(addlist);
free(addlist);
//uselist to imp3sh
uselist = (char *) calloc (5, sizeof("uselist ") );
strcat(uselist, "uselist ");
strcat(uselist, my_string);
strcat(uselist, "\n");
write_imp3in(uselist);
free(uselist);
//loadlist to imp3sh
loadlist = (char *) calloc (1, sizeof("loadlist /music/") );
strcat(loadlist, "loadlist /music/");
strcat(loadlist, my_string);
strcat(loadlist,"\n");
write_imp3in(loadlist);
printf("loadlist %s\n", loadlist);
free(loadlist);
//repeat
write_imp3in("repeat\n");
} //end while
pclose(my_stream);
free(my_string); [color=Red]// SEGMENTATION FAULT[/color]
free(imp3sh_command); [color=Red]// SEGMENTATION FAULT[/color]
write_imp3in("djmode\n");
}
Alles anzeigen
Um Steuerbefehle über die named pipes zu schicken habe ich eine weitere Funktion names write_imp3in() geschrieben, die sieht so aus:
Die Steuerbefehle müssen immer mit \n abschließen
void write_imp3in(char *s) {
usleep(500*1000); //wait 500ms
//better learn how to use a semaphore
FILE *fd;
if ((fd = fopen("/tmp/imp3in","w")) == NULL) {
printf("\t---> Unable to open playlist file \n");
cfont631_write_xy(1,1, "Unable to open playlist file");
}
fprintf(fd, s);
fclose(fd); // file has to be closed
Alles anzeigen
Kann mir jemand weiterhelfen?
xxfunkxx
Ich hab grub aus der Windowspartition verbannt.
Mit der WindowsXP Installationscd starten und dann mit der
Wiederherstellungskonsole fixboot eingeben.
xxfunkxx
Ich gebs auf. Habe alle Eure Tipps und Möglichkeiten ausprobiert.
Vielen Dank.
Irgendwas ist mit meiner XP Kiste nicht in Ordnung.
Ich versuch mal noch die Netzwerkkarte zu deinstallieren und wieder zu installieren. Mal sehen ob sich dann was ändert!
xxfunkxx
gut probiere ich mal aus:thumb:
Wo krufe ich die Wiederherstellungs-konsole auf?
Raftaman: Läuft Dei System?
Bisher hatte ich eigentlich noch nie Problem ein Dualbootsystem aufzusetzen. Auch mit grub oder lilo haben die Systeme bisher immer funktioniert.
ich muß nur grub wieder aus der Windowssystemplatte rauskriegen. Ist bei der WinXP ein rescuetool dabei?
SCSI-Platten: Sind die wirklich so verdammt viel schneller?
Das ist ein PC.
Hab grub zuerst in die root Partition schreiben lassen.
Danach konnte ich nicht mehr booten.
Dann hab ich dummerweise grub noch in die Windowspartition schreiben lassen.
Danach hab ich lilo in MBR schreiben lassen und ich konnte zumindest mein Linix wieder benutzen.
Hallo Raftaman!
Also ich hatte letzte Woche das gleiche Problem. Hab nach einer Hardwareinstallation von einer BootCD (Kanotix auf Basis von Debian Sid) auch grub in die /root Partition geschrieben.
Nach dem Booten hängte sich grub immer mit Fehler 17 auf.
Was ich danach getan habe ist folgendes:
Boote erneute von der LiveCD.
1. Terminal öffnen. Und
Zitat$ sudo su
tippen. Jetzt bist Du superuser
2. Deine root Partition auf dem sich Deine Festplatteninstallation befindet umounten
Zitat# umount /mnt/hda6
welches die root Partition ist kannst Du feststellen indem Du in die Konsole
Zitat# less /etc/fstab
schreibst. Das ist die file system table. Der Eintrag mit / it Deine root Partition
könnte zum Beispiel so aussehen:
Zitat/dev/hda6 / ext2 errors=remount-ro 0 1
Also hier /dev/hda6.
So das heißt Du schreibst in die Konsole
Zitatumount /mnt/hda6
Es kann auch sein, dass die Partition garnicht eingehängt war, dann gehts gleich weiter mit Punkt 3.
3. Jetzt wird das root System wieder gemountet. In der Konsole
Zitat# mount /dev/hda6 /mnt/hda6
4. die root-Partition als virtuelles Wurzelverzeichnis behandeln
Zitat# chroot /mnt/hda6
5. Lilo als Bootloader in den MBR schreiben. Natürlich noch /etc/lilo.conf anpassen.
Zitatlilo -v
So damit hats bei mir geklappt, das ich mein Linux System wieder starten konnte.
Schau Die auch mal Grub und Lilo an.
Allerdings befindet sich mein Windowssystem auch noch irgendwo bisher unerreichbar zum Booten.
Es kommt immer die grub-shell und ich weiß nicht was ich da eingeben muß um
Windows zu starten. Werde ich aber noch rauskriegen!
xxfunkxx
Zugriff mit \\IpDesXPpc funktioniert auch nicht.
Und auf dem Win98 Rechner ist kein NetBeui installiert.
Ich denke der Fehler ist nicht am 98 Rechner sondern an der XP Kiste.
Wie schon oben geschrieben.. Bei Vernetzung mit zwei XP Rechnern
bekomme ich ebenfalls den Zugriff verweigert.
xxfunkxx
Anstatt den 2 200GB Platten is ne 120 GB Platte drin.
Gibts ab 759€.
http://www.ditech.at/view_system.as…Systeme&menge=1
Hab jetzt noch ne andere WinXP ins Netzwerk gehängt und die kann auch nicht auf die Freigabe zugreifen.
Es kommt mal wieder die Meldung
Zitat
Auf \\Moon kann nicht zugegriffen werden. Sie haben eventuell keine Berechtigung, diese Netzwerkressource zu verwenden. Wenden Sie sich an den Administrator des Servers, um herauszufinden, ob sie über die Berechtigungen verfügen.Zgiff verweigert.
Man das nervt. Ich denke ich hab wirklich alle Haken gesetzt, bzw. weggeklickt.
Wo liegt denn da der Hund begraben?
xxfunkxx