Schrift
[thread]6252[/thread]

Konsole verbiegen? (/dev/tty1 -> /dev/tty2) (Seite 2)



<< |< 1 2 3 >| >> 21 Einträge, 3 Seiten
Crian
 2004-05-12 19:03
#82321 #82321
User since
2003-08-04
5873 Artikel
ModeratorIn
[Homepage]
user image
Ich hab es so verstanden, dass das Skript irgendwo sehr weit vorn im Bootablauf ausgeführt werden soll...
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
quetzalcoatl
 2004-05-12 19:15
#82322 #82322
User since
2004-04-01
51 Artikel
BenutzerIn
[default_avatar]
[quote=Crian,12.May.2004, 17:03]Ich hab es so verstanden, dass das Skript irgendwo sehr weit vorn im Bootablauf ausgeführt werden soll...[/quote]
wie ist das gemeint? bzw. auf was bezogen?

Ist aber richtig - ich möchte es relativ (soweit wie möglich) am Anfang des Bootvorgangs starten.

Gruss,
quetzal

PS: puhh -Termios ist viel zu lesen und verstehen (für leute die nicht ihre eigenen Modem o.ä. bauen :D)
Crian
 2004-05-12 19:27
#82323 #82323
User since
2003-08-04
5873 Artikel
ModeratorIn
[Homepage]
user image
Naja, ich hab Dich so verstanden, dass Du die Ausgabe auf tty1 so umbiegen willst, dass Du selbst eine Kopie davon in eine Datei schreiben kannst, bevor Du sie auf die Konsole ausgibst (denk dran, den Kram dann ev. von Ansi-Codes für die Farben befreien zu müssen, oder auch nicht, je nach Verwendungszweck). Und damit er das kann, mus er vor den Ausgaben dorthin aufgerufen werden. (Weiß gar nicht, ob das geht, Zumindestens LILO.... (oder entsprechendes wirst Du nicht mit capturen können).

@Termios: Hab ich nur gerade in einem Perlbuch gelesen auf der Suche nach Hilfreichem für Dein Problem und es klang vielversprechend, ohne dass ich sagen kann, das Du damit wirklich zum Erfolg kommst.

Aber ich kann heute Abend mal einen Blick in Stevens's Advanced Programming in the Unix Environment (oder ähnlich, das Standardwerk halt) werfen, wenn ich nach dem Tanzen daran denke ;-).


Frage am Rande: Kannst Du / kann man eigentlich "zu Fuß" auf die erste Konsole wechseln, alles markieren und kopieren?\n\n

<!--EDIT|Crian|1084375785-->
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
quetzalcoatl
 2004-05-12 20:30
#82324 #82324
User since
2004-04-01
51 Artikel
BenutzerIn
[default_avatar]
Quote
Frage am Rande: Kannst Du / kann man eigentlich "zu Fuß" auf die erste Konsole wechseln, alles markieren und kopieren?

naja, mit "setterm -dump X > bla.txt" (X ist die Konsole) oder mit "cat /dev/tty1 > bla.txt"

Ok, anscheinend war die vermutung von "ptk" nicht so verkehrt wie ich dachte - jemand anders hat mir auch den tipp mit dem Konsolen buffer gegeben.

Nun hab ich gesehen das man mit "stty -a" sich die momentanen Einstellungen ansehen kann. Dort ist auch ein "^O" für "flush" dabei.

Nun meine Frage: wie kann ich ein STRG+O an eine Konsole schicken? Ein einfaches "echo ^O >> /dev/tty1" funktioniert nicht - ich brauch die ESC Sequentz?

quetzal
Crian
 2004-05-12 23:41
#82325 #82325
User since
2003-08-04
5873 Artikel
ModeratorIn
[Homepage]
user image
Hab eben das Kapitel zu Terminals quergelesen, aber leider nichts passendes gefunden.

Das mit dem Buffer klappt aber nur, wenn da noch alle Ausgaben drin stehen, oder?

Jedenfalls ein interessantes Problem. Wenn Du so oder so eine Lösung hast, bitte hier posten *g
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
quetzalcoatl
 2004-05-13 01:47
#82326 #82326
User since
2004-04-01
51 Artikel
BenutzerIn
[default_avatar]
Quote
Hab eben das Kapitel zu Terminals quergelesen, aber leider nichts passendes gefunden.

schade :(
Quote
Das mit dem Buffer klappt aber nur, wenn da noch alle Ausgaben drin stehen, oder?

naja, weiß nicht - steig da nicht so durch - manchmal funktioniert es mit senden von strg+o (echo "\x0F" >> /dev/tty1) und dann eben wieder nicht.
Quote
Jedenfalls ein interessantes Problem. Wenn Du so oder so eine Lösung hast, bitte hier posten *g

Aufgrund der zahlreichen Probleme und kuriosen Ergebnissen - bin ich dazu übergegangen das Projekt einzustampfen (tut nach drei Tagen schwerer Arbeit weh :( ) und anstatt ein eigenes Projekt zu machen - den bootlogd vom sysvinit Projekt zu verwenden und den output danach zu bearbeiten.

Er erledigt seine Arbeit schon recht vernünftig - nur kommt er leider nicht mit Farbigen shell sequenzen ( \033[1;34m...text...) nicht zurecht - d.h. ich muss im nachhinein diese Sachen rausschneiden - was schon genug arbeit ist.

Daher wird leider, in diese Sache, keine Lösung von meiner Seite kommen (was ich wirklich bedauere - aber nach drei Tagen muss man der Lösung schon auf der Spur sein - sonst sollte man es lassen).

Gruss,
quetzal\n\n

<!--EDIT|quetzalcoatl|1084398535-->
betterworld
 2004-05-14 01:34
#82327 #82327
User since
2003-08-21
2614 Artikel
ModeratorIn

user image
Code: (dl )
cat /dev/tty1 > irgendwohin

wird nicht funktionieren, denn cat wird nicht den Bildschirminhalt sondern die Tastatureingaben lesen.

^O bedeutet wahrscheinlich chr(15). Berechnet wie folgt:
Code: (dl )
print ((ord("O") - 64)&127)

Diese Schreibweise hat sich fuer Steuerzeichen irgendwann einmal eingebuergert.

Kennst Du den Befehl dmesg?
quetzalcoatl
 2004-05-14 20:12
#82328 #82328
User since
2004-04-01
51 Artikel
BenutzerIn
[default_avatar]
Quote
Kennst Du den Befehl dmesg?

lol - klar, nach ein paar Jahren linux-only sollte man das schon kennen.
Aber (wie gesagt?), will ich ja mehr haben - dmesg kann ja nur den Kernel buffer anzeigen, aber nicht die Information welcher dienst beim start versagt hat.

zu cat:
Code: (dl )
1
2
~ # cat /dev/vcsa1
P                                                                                Sylpheed-CRITICAL **: file msgcache.c: line 348 (msgcache_read_cache): assertion `cache_file != NULL' failed.                                                                                                                                   Sylpheed-CRITICAL **: file msgcache.c: line 249 (msgcache_open_data_file): assertion `file != NULL' failed.                                                                                                                                     Sylpheed-CRITICAL **: file folder.c: line 2585 (folder_item_get_cache_file): assertion `item->path != NULL' failed.                                                                                                                             Sylpheed-CRITICAL **: file folder.c: line 2603 (folder_item_get_mark_file): assertion `item->path != NULL' failed.                                                                                                                              Sylpheed-CRITICAL **: file msgcache.c: line 348 (msgcache_read_cache): assertion `cache_file != NULL' failed.                                                                                                                                   Sylpheed-CRITICAL **: file msgcache.c: line 249 (msgcache_open_data_file): assertion `file != NULL' failed.                                                     opera: spellcheck.so: cannot open shared object file: Datei oder Verzeichnis nicht gefunden                                                                     opera: Could not initialize spell checker interface. Generic failure (-1)                                                                                       Sylpheed-CRITICAL **: file messageview.c: line 829 (messageview_update): assertion `msginfo != NULL' failed.                                                                                                                                    ~ #

wenn tty1 nicht geht - nehmen wir eben vcsa1 :D

Danke für "^O" :)

Gruss,
quetzal\n\n

<!--EDIT|quetzalcoatl|1084551223-->
betterworld
 2004-05-14 20:29
#82329 #82329
User since
2003-08-21
2614 Artikel
ModeratorIn

user image
Cooool das kannte ich noch gar nicht. Ich hab mich schon immer gefragt, wie sowas geht, und wollte schon immer mal im Quellcode von GPM nachgucken, wie der das macht
betterworld
 2004-05-14 20:34
#82330 #82330
User since
2003-08-21
2614 Artikel
ModeratorIn

user image
Aber zu dem Problem: Bei mir in /etc/inittab steht:
Code: (dl )
l2:2:wait:/etc/init.d/rc 2

Wenn man da schreiben koennte:
Code: (dl )
l2:2:wait:/etc/init.d/rc 2 | tee /var/log/blah

Dann waere das Problem ja geloest. Ich denke zwar nicht, dass init diese Shell-Syntax und Pipes unterstuetzt, aber man kann ja in C einen Wrapper schreiben, der so etwas wie diese Pipeline ausfuehrt. Hilft Dir das weiter?

P. S.:
Vielleicht waere besser:
Code: (dl )
script -c 'rc 2' /var/log/blah

falls irgendwelche initskripte unbedingt ein Terminal als stdout haben wollen\n\n

<!--EDIT|betterworld|1084552596-->
<< |< 1 2 3 >| >> 21 Einträge, 3 Seiten



View all threads created 2004-05-12 17:10.