Vain

  • 8. Aug 2021
  • Beitritt 9. Juli 2008
  • Ovion schrieb@Vain
    Sehe ich das richtig, dass bei deiner Implementierung dwm kurz vor seinem eigenen Exit einfach einen weiteren dwm-Prozess startet?
    Nein, keinen weiteren Prozess im Sinne eines zusätzlichen Prozesses, der kurz parallel läuft. „exec*“ ersetzt den aktuellen Prozess mit dem angegebenen Programm und aus dem Funktionsaufruf kehrt man auch nicht mehr zurück. dwm führt also die normalen Aufräum-Routinen aus, aber anstatt dann ganz am Ende die „main“-Funktion zu verlassen, wird das alte dwm-Programm durch das neu kompilierte ersetzt und fängt wieder von vorne an.
  • @portix
    Auch eine sehr interessante Möglichkeit. Das kann ich prinzipiell in jedem Skript bringen, solange ich sicherstelle, dass das Skript zum Zeitpunkt des Signalgebens noch läuft, richtig? Oder funktionert ein trap-Befehl auch noch, nachdem das Skript durchgelaufen ist?

    Anders formulert: Wenn ich ein Skript
    #!/bin/bash
    
    trap "rm -r ~" USR1
    
    ausgeführt habe, wohin muss ich das Signal SIGUSR1 schicken, damit's mir richtig wehtut? 😉

    @Vain
    Sehe ich das richtig, dass bei deiner Implementierung dwm kurz vor seinem eigenen Exit einfach einen weiteren dwm-Prozess startet?
  • Astorek schrieb
    Neuromatic schrieb@malte
    @Vain

    Darf ich mal ganz doof fragen wie Ihr die Wallpaper bearbeitet habt, dass sie so aussehen?!
    Bin zwar weder malte noch Vain, aber ich vermute ganz stark, dass einfach die Farben auf 16 reduziert wurden (ohne irgendwelche Filter der Marke Steinberg)... Geht z.B. in Gimp ganz einfach unter "Bild" > "Modus" > "Indiziert..."

    Bei Malte sieht es aus, als ob dort der Mosaik-Effekt benutzt wurde, bei Vain ist sind es reduzierte Farben. Evtl. ist es bei Malte auch eine Kombination aus reduzierten Farben und Mosaik-Effekt.
  • Neuromatic schrieb@malte
    @Vain

    Darf ich mal ganz doof fragen wie Ihr die Wallpaper bearbeitet habt, dass sie so aussehen?!
    Bin zwar weder malte noch Vain, aber ich vermute ganz stark, dass einfach die Farben auf 16 reduziert wurden (ohne irgendwelche Filter der Marke Steinberg)... Geht z.B. in Gimp ganz einfach unter "Bild" > "Modus" > "Indiziert..."
  • @malte
    @Vain

    Darf ich mal ganz doof fragen wie Ihr die Wallpaper bearbeitet habt, dass sie so aussehen?!
  • Hallo,

    @Kinch: Danke, kursive Schrift bekomme ich nun hin.
    @Vain: ok, mit der breiteren Linie kann ich eigentlich auch leben. Der Link ging tatsächlich nicht, sollte jetzt aber wieder funktionieren. Das mit der Cursorlinie werde ich dann jetzt gleich mal ausprobieren.

    Gruß
  • @Vain,
    @portix,

    herzlichen Dank für Eure Unterstützung. Ich habe nun Vains Variante genutzt; sie macht genau das, was ich erwarte. Darauf aufbauend werde ich mein Script nun um einige Funktionen erweitern.

    Beste Grüße,

    Edward
  • Army schrieb @Vain, du sagst also, dass dieses übertriebene Swappen nur unter 32bit auftritt?
    Leider nicht mehr. 🙁

    Hatte noch eine alte 32-Bit-Installation mit 2.6.39 (2GB RAM, 2GB Swap) „gefunden“ und da mal meinen dd-Testfall ausprobiert. Kein Swapping. Dann Update auf 3.0, aber immernoch kein Swapping. Ich habe das wohl nur am Laptop.

    Ich möchte nochmal Wert darauf legen, dass ich keine Probleme habe, wenn ich den Swapspace ganz deaktiviere. Es ist also nicht so, dass der Laptop halt eine schnarchlahme Platte hat, die kein dd und MPD gleichzeitig schafft. Die Musik gerät erst ins Stocken, wenn er anfängt, Prozesse auszulagern. Und das tut er erst, wenn durch Disk Cache der ganze Speicher belegt ist.

    Mich wundert, dass swappiness = 0 überhaupt keinen Effekt hat. Sollte das nicht gerade verhindern, dass Disk Cache Programme verdrängt? Oder ist das nur für den umgekehrten Fall, dass Disk Cache bereits belegt ist und eine Anwendung Speicher anfordert (dann bei großer swappiness lieber Programme auslagern und bei swappiness = 0 sofort Teile des Caches verwerfen)?

    Also auf gut Deutsch: Ich will, dass Disk Cache auf keinen Fall Anwendungen verdrängt. Ich habe keine „big applications“, die ständig im Hintergrund laufen und sinnlos Speicher belegen könnten. Der Disk Cache soll nutzen, was frei ist, aber sich nicht aktiv mehr Platz verschaffen.
  • fs4000 schrieb Der Disk-Cache verhindert Festplattenzugriffe. Übrigens kann auch Swap gecacht sein, so dass die Daten quasi ohne Verzögerung wieder eingelagert werden können. Wenn einige Seiten kaum benutzt werden, wieso sollen die nicht ausgelagert werden, wenn dadurch der Cache mehr Platz bekommt? Übertreiben sollte es der Kernel natürlich nicht und nur weil man Dateien verschiebt alles auslagern, was diesen Vorgang "behindert". Ich hab keine Probleme damit.
    Exakt! Du hattest mich ja eh erst auf die Idee gebracht. Aber dieses Swappen ist ja auch sinnvoll, daher hat sich bei mir bisher swappiness=100 sehr gelohnt. Jetzt übertreibt es der Kernel eben. Ich habs übrigens auch mit dem ck-Kernel ausprobiert, ähnliches / genau gleiches Verhalten.

    @Vain, du sagst also, dass dieses übertriebene Swappen nur unter 32bit auftritt? Falls das so ist, dann ... ja, was mach mer da? Ich glaub ich werd mal meinen ersten Bugreport für Linux verfassen, weil das Problem definitiv auftritt. Ich bemerk das halt auch, weil ich die RAM- und Swap-Auslastung immer sehe in conky, viele werden das nicht sehen, sondern eher denken "warum ist meine Kiste auf einmal so langsam?" etc.
  • @Vain
    klar darfst du ^^... ich benutz den UZBL-Tabbed.
  • Und er schaut mein Bild an <3

    @Vain

    Schau dir mal Vimperator an, kann kmpl per Tastatur bedient werden
  • @hcjl:
    die history-datei und die daten daraus hab ich mal gelöscht. bringt leider nichts.

    @Vain:
    ja, ich glaube ich hab auf beiden shells die gleichen promts mit:
    PS1='[\e[0;32m]\u@\h: \w>\e[0m '
    ich frag mich gerade, ob es hier nicht richtiger so sein sollte:
    PS1='[\e[0;32m]\u@\h: \w>[\e[0m] '
    probiere ich gleich mal!

    gruß
    for_mat_C
  • @Vain

    Habs geändert, jetzt läufts. Vielen Dank 🙂
  • Danke für die Antworten 🙂

    @Vain

    Ja, das mit dem Semikolon hab ich auch grad gesehen, hatte gestern die for-Schleife testweise mal gegen eine while-Schleife getauscht und dann das Semikolon vergessen. Und die Laufzeitvariable ließ sich im Schleifenkopf deklarieren, wenn ich beim kompilieren -std=c99. Aber es ändert sich trotzdem nichts.

    @the_isz

    Nein, eine Hausaufgabe ist es nicht 🙂 Aber von Zeigern hab ich derzeit weniger (um nicht zu sagen fast garkeine) Ahnung. Trotzdem danke für die Mühe, ist interessant zu sehen, wie es besser gemacht wird.

    @Mathematiker

    Naja, meine Mathematik-Professorin hat uns nahegelegt, programmieren zu lernen. Weil ich in C schonmal reingeguckt hab und es das Erste war, was mir zwischen die Finger kam, wollte ich es mit C probieren. Aber Python sieht interessant aus, ich werde es mir auch mal angucken.

    @Freak1984

    Das Levi-Civita-Symbol kenne ich zwar, aber ich wüsste nicht, dass es in C einfach so aufzurufen ist. Oder meintest du auch Python?

    Wenn ich mich nicht total verrechne, dann ist das Ergebnis immer um eins zu hoch.
    Komponente a_0: 1
    Komponente a_1: 1
    Komponente a_2: 1
    
    Komponente b_0: 1
    Komponente b_1: 1
    Komponente b_2: 1
    
    Komponente c_0: 1
    Komponente c_1: 1
    Komponente c_2: 1
    
    a * b = 3.00
    a x b = (0.00,0.00,0.00)
    (a x b) * c = 1.00
    
    Wenn ich aber immer wieder nach der Zuweisung einmal den Wert der Variablen ausgeben lasse, dann erhalte ich anscheinend das richtige Ergebnis:
    /*Kreuzprodukt speichern*/
    	for(i = 0; i <= 2; i++) {
    
    		erg_kreuz[i] = kreuz(a_1,a_2,a_3,b_1,b_2,b_3); printf("%.2lf\n", erg_kreuz[i]);
    		
    	}
    Wenn ich mich nicht total verrechne, dann ist das Ergebnis immer um eins zu hoch.
    Komponente a_0: 1
    Komponente a_1: 1
    Komponente a_2: 1
    
    Komponente b_0: 1
    Komponente b_1: 1
    Komponente b_2: 1
    
    Komponente c_0: 1
    Komponente c_1: 1
    Komponente c_2: 1
    
    0.00
    0.00
    0.00
    a * b = 3.00
    a x b = (0.00,0.00,0.00)
    (a x b) * c = 0.00
    
    Das verstehe ich nicht, weil ich dachte, Variablenwerte ausgeben ändert diese Werte nicht.
  • @Vain

    Ich denke, du hast recht und ein kompletter Downgrade wäre nicht die optimale Lösung. Werde also erstmal warten...
    Vain schriebIch bin mir aber ehrlich gesagt auch nicht sicher, ob das jetzt ein Bug in libtiff oder libjpeg8 ist. Hat sich das Problem eigentlich sonst mal einer angesehen? Oder sollte man einfach mal 'nen Bug bei Arch aufmachen, um mehr Meinungen zu sammeln?
    Das habe ich mich auch schon gefragt, ob es an libtiff 3.9.2-2 oder libjpeg 8-2 liegt. Es scheint aber schon seit über zweieinhalb Wochen bekannt zu sein, daß es nicht funktioniert aber kaum einer Meldet sich dazu. Sicher, wann wird schon mal ein Bild von jpeg nach tiff gewandelt oder wer scannt schon Dokumente und legt sie als tiff ab? Wird sicherlich auch den wenigsten bewußt sein, daß es nicht funktioniert...

    Naja, ein kleiner Programmierfehler mit großer Auswirkung 😉

    Gruß,

    Thorsten
  • Morgen,

    @Vain: Danke für den Bug-Report von Mousepad, genau das Verhalten meine ich.

    @bandan: Ja, ich warten mal die nächsten "releases" von -qt- nvidia-treiber etc. ab wahrscheinlich lösen sich dann die Probleme mir der Zeit.

    Danke
    O
  • @Vain:
    Danke für die Erklärung. Somit ist inittab doch immer der Daemon-Variante vorzuziehen... Ich glaube, dieses Beginners Guide aus dem engl. Wiki werfe ich in die Tonne... Ist eher eine Anleitung wie man es NICHT tun sollte 😉

    Habe gerade noch etwas experimentiert:
    Ich habe den Eintrag aus sudoers wieder entfernt und mich der Gruppe power hinzugefügt. Ich konnte dann zwar aus Gnome Herunterfahren, aber Neustarten brachte mich nur zu GDM. Erst nach Umstellen von GDM als Daemon auf inittab funktioniert auch das Neustarten direkt aus Gnome 🙂