Ja, ich benutze man-Pages ständig und gerne.
DerVonWindowsKam schrieb:
Ach nee, warte, ihr komischen Linuxer gebt euch doch mit diesem lolligen emacs aus dem Präkambrium zufrieden.
Zufrieden geben? Es gibt ja leider nur wenige Alternativen, die ähnlich mächtig sind. Ich "gebe mich zufrieden", wenn ich mal einen anderen Editor benutzen muss. Von Emacs können sich die meisten in IDEs integrierte Editoren noch eine Scheibe abschneiden.
bauerb schrieb:
Verwende keine IDE.
Ich auch nicht.
Hi,
ich habe das Problem, dass x11-libs/xulrunner nicht compiliert.
Der Compiler meint:
/usr/lib/libstartup-notification-1.so.0: undefined reference to xcb\_atom\_get' /usr/lib/libstartup-notification-1.so.0: undefined reference toxcb_aux_get_screen'
Im fehlen also Methodenimplementierungen.
Ich habe gelesen ich solle x11-libs/xcb-util updaten,
leider habe ich aber schon die neuste Version compiliert.
equery list x11-libs/xcb-util
* Searching for xcb-util in x11-libs ...
x11-libs/xcb-util-0.3.8:0
Momentan habe ich
x11-libs/startup-notification
neu gebaut, und da gab es tatsächlich ein Update.
Momentan läuft der xulrunner nochmal durch, wäre aber froh wenn jemand
einen Tipp hätte, dem das Problem bekannt vorkommt im Falle dass ich danemen liege.
Grüße
Hallo Jungs!
bin wieder zurück; meine Aufgabe hat sich ein bisschen geänder:
In der Konsole soll man die Werte von Variable von typ double entwender ändern
oder mit Enter -taste seine alte Werte behalten.Für den Fall, dass statt einer Zahl irgendwas falsches z.B.: Buchstaben eingegeben werden, soll ne Fehlermeldung mit erneuter eingabe folgen.
um Enter taste zu emfangen habe ich ncurses Library verwendet aber leider
konnte es nicht zum laufen kriegen , hier ist meine Versuche:
double b =10.07;
cout<<"b="<<b<<endl;
do{
cout<< "Bitte geben Sie ein:"<<endl;
cout<< "Taste a: ändern"<<endl;
cout<< "Tase Enter : alte Wert von b behalten "<<endl;
int wahl=getch();
switch(wahl){
case 48:
do{
cout<<"Wert für b eingeben:"<<endl;
if(!(cin >> b)){
cout<<"Falche Eingabe! Zahl neu eingeben:"<<b<<endl;
}
}while(!b);
break;
case KEY_ENTER :
b=b;
cout<<"b="<<b<<endl;
break;
default : cout<< "falche Eingabe"<<endl;
}
}while((wahl ==48)||(wahl==KEY_ENTER));
cout<<"b="<<b<<endl;
kann mir da jemand weiterhelfen.
Beste danke
Die sind einfach dafür da, falls man Integer-Daten (zB Index in ein Array von Daten) speichern will. Ich hab die selbst noch nicht benutzt und benutze eigentlich immer ptr.
SeppJ hat im Grunde alles gesagt. Niemals Linux-Login-Passwörter in Skripte setzen, das ist grundsätzlich der falsche Ansatz.
ssh-Keys haben einen weiteren Vorteil: Du kannst auf Serverseite bestimmten Keys nur bestimmte Rechte geben, indem du ihnen die Shell einschränkst. So kannst du zum Beispiel erreichen, dass dein Skript mit dem ssh-Key, den es hat, nur scp machen kann und sonst nichts, insbesondere keine Login-Shell erhalten kann.
So,
ich habe anstelle einer 2ten kamera ein Laptop angeschlossen.
Folgendes habe ich dabei mit einem kleinen Tool(senden und empfangen von UDP Nachrichten) ermittelt.
Mit einer Schnittstelle kann ich senden und empfangen und mit der Anderen immerhin Daten empfangen aber nicht senden.
Update:
Habe es mittlerweile hinbekommen.
Man kann eine Point-to-point Verbindung aufbauen. Dann sieht das
Routing in etwa so aus:
Kernel-IP-Routentabelle
Ziel Router Genmask Flags Metric Ref Use Iface
192.168.240.121 192.168.241.1 255.255.255.255 UGH 0 0 0 eoe0a233
192.168.240.122 192.168.241.0 255.255.255.255 UGH 0 0 0 eoe0a1006
Oder man ändert die IP-Adressen ab z.B. so
Kernel-IP-Routentabelle
Ziel Router Genmask Flags Metric Ref Use Iface
192.168.240.0 0.0.0.0 255.255.255.0 U 0 0 0 eoe0a233
192.168.241.0 0.0.0.0 255.255.255.0 U 0 0 0 oe0a1006
Damit war es möglich über beide Schnittstellen zu senden.
Grüße
Juri
Dieser Thread wurde von Moderator/in SeppJ aus dem Forum C (C89 und C99) in das Forum Linux/Unix verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?
Dieses Posting wurde automatisch erzeugt.
Jepp, aber in python arbeite ich mit GTK und gevent. Und gevent lässt sich leider nicht so direkt in den glib-eventloop integrieren. also mach ich einfach ein sleep(0.03) im Idle-Callback, um die Kontrolle kurz an gevent zu übergeben.
Wird jetzt nicht NULL zurück gegeben, dann ist die Lib. bereits geladen und breche den Ladevorgang ab. Muss ich jetzt noch ein dlclose ausführen? (Um evtl. einen inneren Zähler zu dekrementieren?
Ja, laut Manpage wird über Referenzzähler gearbeitet. Wenn dlopen also nicht-NULL zurück gibt, dann wird der Referenzzähler erhöht.
2.) Ist dlopen, dlclose, dlsym Thread-Safe? (MultiThreading)
Ich würde nicht davon ausgehen. Aber konnte bisher auch nichts konkretes finden.
Ich bastel mir gerade eine "tcpshell" und bin auch soweit fertig, das einzig ungünstige bis jetzt, ist das ich (auf Grund dessen, dass ich das Programm als Daemon laufen lassen möchte) setsid() verwenden muss (um dem Childprozess Kontrolle über eine Shell zu geben), und sich damit auch job control ausschaltet, damit wiederum im Grunde alle Funktionen wie "sudo" oder "whois" wegfallen.
Wie kann ich dieses Manko beheben, gibt es eine Möglichkeit job control wieder "an" zu machen nach setsid()?
(Die Übertragene "Fehlermeldung" beim starten der Verbindung ist: /bin/sh: can't access tty; job control turned off)
Da dies erst nach verwenden von setsid() passiert ist (vorher hat es gar nicht geklappt), gehe ich davon aus das hier auch der Grund zu suchen ist.
Ja, das wollte ich vorher auch aber wenn es gut klappt, dann erhoffe ich mir, dass ich mit den bereits umgesetzten Zufallssachen und dem Komfort mit Vektoren arbeiten zu können insgesamt schneller am Ziel bin. Eine mächtigere Skriptsprache wie Python oder Perl kann ich nicht, das wäre wohl das passendste gewesen.
Wozu setzt Du den Socket auf non-blocking? Meine Vermutung wäre, dass /bin/sh damit nicht klarkommt.
Kleiner Kommentar am Rande: Den Sinn der Endlosschleife seh ich nicht, solange Du nicht forkst. Dein Prozess wird ja bei exec* mit /bin/sh ersetzt.
Wenn man das parallel nennen kann!
dann nenn es "asynchron"
Da faellt alles drunter, was nicht strikt linear definiert nacheinander kommt ^^
Aber glaub "normale" Programmierer machen Dir keinen Vorwurf, wenn du nen Scheduler mit Zeitscheibe als "parallel" bezeichnest, wenn es nicht im Kontext von kernel oder echtzeit des betriebssystem steht
Ciao ...
Moin... ich steig so schnell durch dein source nicht durch.
Aber prüf doch mal ob ein mutex von thread 1 gelocked wird und von thread 2 geunlocked. das darf nicht passieren.
wenn thread 1 mutex 1 locked, dann muss thread 1 diesen mutex auch wieder unlocken.
falls deine anwendung dieses verhalten aber benötigt, solltest du semaphore dafür benutzen.