Ersatz fuer less [anders Geloest]

Du suchst ein Programm für einen bestimmten Zweck?
Antworten
Benutzeravatar
heinz
Beiträge: 535
Registriert: 20.12.2007 01:43:49

Ersatz fuer less [anders Geloest]

Beitrag von heinz » 13.07.2020 13:34:28

Hallo Zusammen,

ich bin auf der Suche nach einem Programm wie less an welches ich die Ausgabe eines anderen Programms "pipen" kann.
Ich Programmiere z.Z. ein Spiel welches mittlerweile ziemlich gross ist und dementsprechend sehr viele DEBUG-Ausgaben macht.
Wenn ich die Ausgabe "normal" in die Konsole laufen lasse, kann ich oft nicht weit genug zurueck scrollen um eine bestimmte
Info zu sehen und ich kann darin auch nicht nach bestimmten Ausgaben suchen.
Mit less habe ich das Problem, das ich immer von Hand zur letzten Zeile scrollen muss.

Mein Problem mit less ist auch:
Beispiel:
Nach dem Start des Spiels und dem Laden eines Spielstandes laeuft mein Spiel nicht weiter, bis ich bei less sehr
weit nach unten Scrolle (was zum Teil sehr lange dauert) oder die "Ende-Taste" druecke.

Habe ich die "Ende-Taste" gedrueckt, reagiert less so lange nicht mehr bis das Spiel beendet wird.

Versucht habe ich:

Code: Alles auswählen

mein_spiel | less -Bb-1
mein_spiel | more
Getestet habe ich auch:

Code: Alles auswählen

mein_spiel | tee -a ./ausgabe.txt
und dann in einem anderen Fenster noch ein

Code: Alles auswählen

less ./ausgabe.txt
Mittels [Shift + r] kann ich dann die Anzeige von less immer wieder aktualisieren.
Das Funktioniert zwar, benoetigt aber ein weiteres Fenster. (Was ich gerne vermeiden wuerde...)


Was ich gerne haette:
Ein Programm, welches immer wenn neue Zeilen kommen, an das Ende springt.
Es soll den Ablauf des Spiels nicht unterbrechen und
ich wuerde gerne in der Ausgabe suchen koennen.

Gibt es sowas?

Ich weiss, das ist eher ein Luxusproblem aber vlt. kennt ja einer von Euch eine einfache Loesung.

Hoffentlich konnte ich es einigermassen verstaendlich erklaeren. (Keine meiner Staerken... :-| )

Gruss,
heinz
Zuletzt geändert von heinz am 14.07.2020 14:58:53, insgesamt 2-mal geändert.

cronoik
Beiträge: 2049
Registriert: 18.03.2012 21:13:42
Lizenz eigener Beiträge: GNU Free Documentation License

Re: Ersatz fuer less

Beitrag von cronoik » 13.07.2020 13:46:02

Warum schreibst du die Ausgabe nicht gleich (zusaetzlich) in ein Logfile (direkt im Spiel) oder leitest die Ausgabe in eine Datei um? Die kannst du dann in einem weiteren Fenster mit tail -f live beobachten oder spaeter mit einem Editor deiner Wahl durchscrollen.
Hilf mit unser Wiki zu verbessern!

Benutzeravatar
heinz
Beiträge: 535
Registriert: 20.12.2007 01:43:49

Re: Ersatz fuer less

Beitrag von heinz » 13.07.2020 14:00:50

Hallo cronoik,

Danke fuer Deine Antwort.
cronoik hat geschrieben: ↑ zum Beitrag ↑
13.07.2020 13:46:02
Warum schreibst du die Ausgabe nicht gleich (zusaetzlich) in ein Logfile (direkt im Spiel) oder leitest die Ausgabe in eine Datei um?
Aehnlich habe ich das doch schon gemacht. (siehe mein Eingangspost unter Getestet habe ich auch: )
Mich nervt halt das zusaetzliche Fenster, welches ich dabei geoeffnet haben muss etwas.
Meine Augen sind nicht mehr die besten weshalb alle Fenster etwas groesser als Normal sind.
cronoik hat geschrieben: ↑ zum Beitrag ↑
13.07.2020 13:46:02
...spaeter mit einem Editor deiner Wahl durchscrollen.
Die Ausgabe "spaeter" anzusehen ist sehr umstaendlich beim Debuggen des Spielablaufes...

Gruss,
heinz

cronoik
Beiträge: 2049
Registriert: 18.03.2012 21:13:42
Lizenz eigener Beiträge: GNU Free Documentation License

Re: Ersatz fuer less

Beitrag von cronoik » 13.07.2020 14:04:11

Vielleicht habe ich es noch nicht ganz begriffen. Du hast derzeit ein Fenster mit Spiel und ein Fenster mit less geoeffnet? 2 Fenster sind in Ordnung fuer dich und ein drittes wie bei "Getestet habe ich auch" willst du vermeiden auch wenn du eines davon minimieren kannst?
Hilf mit unser Wiki zu verbessern!

Benutzeravatar
MSfree
Beiträge: 11619
Registriert: 25.09.2007 19:59:30

Re: Ersatz fuer less

Beitrag von MSfree » 13.07.2020 14:09:42

heinz hat geschrieben: ↑ zum Beitrag ↑
13.07.2020 14:00:50
Mich nervt halt das zusaetzliche Fenster, welches ich dabei geoeffnet haben muss etwas.
Ein Zweitbildschirm wirkt hier oft Wunder :wink:

Das kann auch irgendeine alte Gurke vom Dachboden mit 1024x768 sein oder ein (altes) Notebook, mit dem du dich per SSH auf dem Hauptrechner einlogst und dort mit den von dir genannten Mitteln auf die Logdatei zugreifst.

hec_tech
Beiträge: 1094
Registriert: 28.06.2007 21:49:36
Wohnort: Wien
Kontaktdaten:

Re: Ersatz fuer less

Beitrag von hec_tech » 13.07.2020 14:24:03

Warum nicht in Debianscreen laufen lassen?

Muss ja nicht immer aktiv im Vordergrund sein oder?

lg
Gregor

Benutzeravatar
heinz
Beiträge: 535
Registriert: 20.12.2007 01:43:49

Re: Ersatz fuer less

Beitrag von heinz » 13.07.2020 14:35:13

Erstmal Danke fuer Eure Antworten.

@cronoik
Das Spiel laeuft in der selben Aufloesung wie der Desktop. Das Spiel starten und die Ausgaben anzeigen macht ein xterm-Fenster, welches immer
im Vordergrund liegt und dabei natuerlich auch einen Teil des Spiels verdeckt.
Ein weiteres Fenster wuerde noch mehr des Spiels verdecken oder ich muesste nach jedem Klick in das Spiel das Anzeigefenster wieder in den vordergrund holen.
Das ist nicht sehr praktikabel...

@MSfree
Jupp, da hast Du natuerlich Recht. :lol:
Ist aber leider aus Platzgruenden nicht moeglich.
Einer der Gruende warum ich Linux so gerne nutze ich ja gerade weil man fuer die anderen Rechner keinen Bildschirm braucht...
Rechner hab ich genug aber keinen Platz fuer weitere Bildschirme. (Irgendwas ist ja immer... :mrgreen: )

@hec_tech
Warum nicht in screen laufen lassen?
Hey, das ist ja mal eine gute Idee... (Auf die ich auch selbst haette kommen koennen. :oops: )
Vlt. sogar als splitscreen...
So werd ich es wohl machen, wenn nicht noch ein Vorschlag fuer ein superduper less-ersatz kommt.
Muss ja nicht immer aktiv im Vordergrund sein oder?
Ist halt schon sehr Praktisch, direkt zu sehen was gerade "abgeht" wenn man bestimmte Aktionen im Spiel macht...

Gruss,
heinz

cronoik
Beiträge: 2049
Registriert: 18.03.2012 21:13:42
Lizenz eigener Beiträge: GNU Free Documentation License

Re: Ersatz fuer less

Beitrag von cronoik » 13.07.2020 14:48:30

heinz hat geschrieben: ↑ zum Beitrag ↑
13.07.2020 14:35:13
Das Spiel laeuft in der selben Aufloesung wie der Desktop. Das Spiel starten und die Ausgaben anzeigen macht ein xterm-Fenster, welches immer
im Vordergrund liegt und dabei natuerlich auch einen Teil des Spiels verdeckt.
Ein weiteres Fenster wuerde noch mehr des Spiels verdecken oder ich muesste nach jedem Klick in das Spiel das Anzeigefenster wieder in den vordergrund holen.
Das ist nicht sehr praktikabel...
Vielleicht stehe ich ja immer noch auf dem Schlauch, aber du brauchst doch das eine Fenster dann gar nicht (das kannst du dann einfach minimieren). Also du hast drei Fenster (entsprechend Gestestet habe ich auch):
  1. xterm mit Startbefehl fuer Spiel und Ausgabeumleitung in Datei
  2. Spiel im Vollbild
  3. less +F ausgabe.txt
Nummer eins kannst du dann doch einfach minimieren und es stoert somit nicht? Nummer drei ist dann entsprechend immer im Vordergrund. Auch hier kannst du wahrscheinlich noch optimieren in dem du den Befehl fuer eins noch mit & in den Hintergrund schickst und dann less +F ausgabe.txt im gleichen Fenster ausfuehrst.

screen finde ich aber auch gut.
Zuletzt geändert von cronoik am 13.07.2020 14:52:46, insgesamt 2-mal geändert.
Hilf mit unser Wiki zu verbessern!

Benutzeravatar
MSfree
Beiträge: 11619
Registriert: 25.09.2007 19:59:30

Re: Ersatz fuer less

Beitrag von MSfree » 13.07.2020 14:51:33

heinz hat geschrieben: ↑ zum Beitrag ↑
13.07.2020 14:35:13
Rechner hab ich genug aber keinen Platz fuer weitere Bildschirme. (Irgendwas ist ja immer... :mrgreen: )
(M)ein alter EeePC 4G ist klein genug, der paßt noch zwischen Bildschirm und Tastaur. :mrgreen:

Benutzeravatar
heinz
Beiträge: 535
Registriert: 20.12.2007 01:43:49

Re: Ersatz fuer less

Beitrag von heinz » 13.07.2020 17:40:36

@cronoik
Ich haette halt gern beides in einem.
D.h. das Fenster sollte immer auf dem neuesten Stand sein. (Wenn neue Zeilen kommen soll immer an den unteren Fensterrand gescrollt werden.)
Und ich moechte beliebig in der kompletten Ausgabe scrollen und suchen koennen. (Wenn das Spiel gerade keine Ausgaben macht.)
Es scheint kein PGM. zu geben welches das kann. (less alleine kann es anscheinend nicht...)
Wie schon geschrieben, es ist ein Luxusproblem.
Klar kann ich dafuer verschiedene Fenster benutzen aber es ist halt muehsam immer wieder zwischen den Fenstern zu wechseln.
Das Spiel ist mittlerweile sehr komplex und benoetigt aufwendige Tests und da waere es halt schoen, es etwas komfortabler zu haben...

@MSfree
Sowas aehnliches hatte ich auch mal, ein alter Laptop mit Farbmonitor. War auch schoen klein.
Hab ihn verschenkt... Was solls, der Beschenkte hatte Spass damit. (Das ist auch viel Wert :D )
Habe mir auch schon des oefteren ueberlegt, einen kleinen Monitor fuer meinen Raspberry-Pi zu besorgen fuer solche Zwecke.
Mal sehen...

@all
Schreibe mir gerade ein kleines Script und loese es mit tmux statt screen.
Ich mach das Fenster etwas groesser (hoeher) als bisher und bringe darin beides unter. (Eine Haelfte >spiel | tee ausgabe.txt<, die andere >less ausgabe.txt<)
Ist nicht perfekt aber scheint fuer mich im Moment die sinnvollste Variante zu sein.

Gruss,
heinz

Benutzeravatar
TRex
Moderator
Beiträge: 8335
Registriert: 23.11.2006 12:23:54
Wohnort: KA

Re: Ersatz fuer less

Beitrag von TRex » 13.07.2020 17:43:22

Vielleicht auch ne Sache des Window managers. Ich würde bei so einem Problem einen zweiten "Desktop" benutzen (Navigation bei xfce mit Strg+Alt+Pfeiltaste) und dort das andere/die anderen Fenster halten. Außer du musst das immer im Blick haben, dann würde ich aber auch eine Datei als Puffer verwenden. Beispielszenario, ich weiß ja nicht, worum es dir geht:

1. Spiel in Konsole starten, Ausgabe in Datei umlenken, Konsole minimieren.
2. Wenn es notwendig ist, die Ausgabe im Blick zu haben, zweites Terminal starten und dort tail -f logfile laufen lassen.
3. für Analysen zu einem benachbarten Desktop wechseln, dort ein zweites Terminal aufmachen und was auch immer mit der Logdatei tun.

screen/tmux funktioniert natürlich auch, verwende ich auch, aber die Wechsel zu den anderen Desktop sind zumindest bei mir sehr viel schneller (seitliche Wechsel sind bei mir auf Win+Pfeil gelegt und direktes Anspringen mit Win+Zahl).

Wusstest du eigentlich, dass less einen follow-Modus ähnlich wie tail hat? Kannst du mit F aktivieren (shift-f) und mit Ctrl-C kommst du da wieder raus.
Jesus saves. Buddha does incremental backups.
Windows ist doof, Linux funktioniert nichtDon't break debian!Wie man widerspricht

Benutzeravatar
heinz
Beiträge: 535
Registriert: 20.12.2007 01:43:49

Re: Ersatz fuer less

Beitrag von heinz » 13.07.2020 18:20:45

TRex hat geschrieben: ↑ zum Beitrag ↑
13.07.2020 17:43:22
Vielleicht auch ne Sache des Window managers.
Ich nutze icewm und dort sind die Tasten scheinbar gleich. (Besonders nuetzlich finde ich >Strg+Alt+Pfeiltaste nach oben<. Wechselt auf den letzten benutzten Desktop...)
Ich nutze die Desktops auch sehr intensiv, gerade beim Programmieren.
(Editor, Gimp, POV-Ray, ne virtuelle Maschine fuer liebgewonnene alte Win-Software, ... Habe manchmal 7 oder 8 Desktops belegt und alles laeuft perfekt. Ich liebe Linux :D )
TRex hat geschrieben: ↑ zum Beitrag ↑
13.07.2020 17:43:22
Außer du musst das immer im Blick haben
Das ist halt sehr praktisch. Gerade wenn man neue Teile testet. Man wartet ab bis zum richtigen Moment und sieht dann ob alles glatt ging...
Deshalb lasse ich das xterm in dem das Spiel laeuft auch immer ueber allen anderen Fenstern anzeigen.
Da das Spiel Runden-Basiert ist waere es sonst ein ewiges "Rumgeklicke" oder "Tastengehacke" um zu sehen was Sache ist.
Mein derzeitiger Ablauf ist so:
Ich klicke den >Naechste Runde Button< an, fahre dann mit der Maus ueber das xterm-Fenster und kann direkt mit dem Mausrad nachsehen was "Sache" ist.
Da beide Fenster auf dem selben Desktop liegen, kann ich auch direkt die Ausgabe mit der Anzeige vergleichen.
TRex hat geschrieben: ↑ zum Beitrag ↑
13.07.2020 17:43:22
Wusstest du eigentlich, dass less einen follow-Modus ähnlich wie tail hat? Kannst du mit F aktivieren (shift-f) und mit Ctrl-C kommst du da wieder raus.
Nein, das wusste ich noch nicht. Danke fuer die Info.
Leider funktioniert das bei mir nicht so wie in der manpage beschrieben.
Da steht, es wuerde sich dann so verhalten wie >tail -f<. Das tut es bei mir leider nicht.
Es wird zwar in den Modus geschaltet aber die aktuellen (letzten) Zeilen werden nicht angezeigt. Um die zu sehen muss ich mit ctrl+c erst wieder raus...
Trotzdem Danke fuer den Tipp.
Funktioniert diese Funktion bei Dir korrekt?

Gruss,
heinz

Benutzeravatar
TRex
Moderator
Beiträge: 8335
Registriert: 23.11.2006 12:23:54
Wohnort: KA

Re: Ersatz fuer less

Beitrag von TRex » 13.07.2020 19:39:47

Ich bin verwirrt... hab das eben mal nachgestellt, weil es sonst (bei logfiles) ganz gut funktioniert und jetzt funktionierts nicht (während ich mit echo in ner zweiten shell Zeilen in die offene Datei schreibe).
Jesus saves. Buddha does incremental backups.
Windows ist doof, Linux funktioniert nichtDon't break debian!Wie man widerspricht

rodney
Beiträge: 385
Registriert: 09.12.2016 04:15:59

Re: Ersatz fuer less

Beitrag von rodney » 13.07.2020 19:46:29

Als Ersatz fuer less koennte eventuell Debianmultitail in Frage kommen.

Benutzeravatar
heinz
Beiträge: 535
Registriert: 20.12.2007 01:43:49

Re: Ersatz fuer less

Beitrag von heinz » 14.07.2020 13:49:52

Ich habe nochmal etwas herum experimentiert und folgendes festgestellt:

Die >Follow< Funktion von less scheint nur dann richtig zu Funktionieren wenn die Eingabe eine Datei ist und nicht stdin.
> spiel | less < scheidet also aus.

Mein urspruenglicher Loesungsansatz mit > spiel | tee ausgabedatei < funktioniert ebenfalls nicht, da die Ausgaben des Spiels "irgendwo" gepuffert werden und nur ab und zu in die Datei geschrieben werden.
Man sieht also nicht, was gerade ausgegeben wird.
Da dieses Verhalten auch bei > spiel >ausgabedatei < auftritt, bringt auch ein weiteres Fenster zur Anzeige nichts.

Werde wohl weitere "Schalter" in das Spiel einbauen muessen, um die Ausgaben auf bestimmte Bereiche beschraenken zu koennen.
Ist zwar auch nicht die perfekte Loesung aber was ist schon Perfekt? :)

Vielen Dank an alle, die sich hier Beteiligt haben.

@rodney
Danke fuer den Tipp, werd ich mir anschauen...

Gruss,
heinz

Benutzeravatar
Nekomaro
Beiträge: 15
Registriert: 14.07.2020 11:14:41
Lizenz eigener Beiträge: MIT Lizenz

Re: Ersatz fuer less [Aufgegeben]

Beitrag von Nekomaro » 14.07.2020 14:00:46

Hallo,

ist vielleicht hilfreich. Ich nutze gerne more für lange ausgaben von Dateien oder alternativ cat.

Des Weiteren gibt es noch most als pager. :)
Ergänzung: Du könntest auch die Datei mittels nano ausgeben. nano --view
Emacs hat auch einen view mode um sich Dateiausgaben anzusehen.
I can see everything. All that is, all that was, all that ever could be.

cronoik
Beiträge: 2049
Registriert: 18.03.2012 21:13:42
Lizenz eigener Beiträge: GNU Free Documentation License

Re: Ersatz fuer less [Aufgegeben]

Beitrag von cronoik » 14.07.2020 14:33:37

heinz hat geschrieben: ↑ zum Beitrag ↑
14.07.2020 13:49:52
Mein urspruenglicher Loesungsansatz mit > spiel | tee ausgabedatei < funktioniert ebenfalls nicht, da die Ausgaben des Spiels "irgendwo" gepuffert werden und nur ab und zu in die Datei geschrieben werden.
Man sieht also nicht, was gerade ausgegeben wird.
Da dieses Verhalten auch bei > spiel >ausgabedatei < auftritt, bringt auch ein weiteres Fenster zur Anzeige nichts.

Code: Alles auswählen

stdbuf -oL ./spiel &> ausgabe.txt
mit -L wird nur noch bis \n gebuffert mit -0 kannst du auch das noch komplett umgehen [1].

[1] https://www.gnu.org/software/coreutils/ ... invocation
Hilf mit unser Wiki zu verbessern!

Benutzeravatar
heinz
Beiträge: 535
Registriert: 20.12.2007 01:43:49

Re: Ersatz fuer less [Aufgegeben]

Beitrag von heinz » 14.07.2020 14:57:41

@cronoik

Du bist mein Retter :THX:
Ich dachte mir schon, dass man die Puffergroesse anpassen kann aber ich dachte eher an systemweite Einstellungen in irgendwelchen Konfigdateien.
Aber das es so einfach geht,- Wow, klasse, wieder was gelernt.

Herzlichen Dank!

Gruss,
heinz

Benutzeravatar
heinz
Beiträge: 535
Registriert: 20.12.2007 01:43:49

Re: Ersatz fuer less [anders Geloest]

Beitrag von heinz » 14.07.2020 16:00:01

Nekomaro hat geschrieben: ↑ zum Beitrag ↑
14.07.2020 14:00:46
Ich nutze gerne more für lange ausgaben von Dateien oder alternativ cat.
Es geht mir ja eigentlich nicht um die Ausgabe langer Dateien.
Sondern um die direkte uebergabe von einem Programm ueber stdout an einen Betrachter der sich aehnlich verhalten soll wie tail -f aber mit Suchfunktion.
(So wie less -> Follow)
Nekomaro hat geschrieben: ↑ zum Beitrag ↑
14.07.2020 14:00:46
Du könntest auch die Datei mittels nano ausgeben. nano --view
Auch eine gute Idee!
Habe mal nano, vi und emacs ausprobiert. Die Ergebnisse waren ziemlich gleich.
Alle Ausgaben des Spiels werden in einer einzigen Zeile aufgenommen. (Newlines werden ignoriert. Warum auch immer...)
und es ist sehr, sehr langsam.
Schade, sonst waere es die perfekte Loesung.
Werde noch ein paar andere testen...

Vielen Dank!

Gruss,
heinz

Antworten