Forum: PC Hard- und Software [Linux] Terminal-Programm mit Dateilesefunktion gesucht


von Uhu U. (uhu)


Lesenswert?

Gibt es sowas ähnliches, wie gtkterm, das während der Sitzung Text aus 
einer Datei als Tastatureingabe einlesen kann?

(gtkterm kann das leider nur auf der Kommandozeile.)

von Georg (Gast)


Lesenswert?

Uhu U. schrieb:
> das während der Sitzung Text aus
> einer Datei als Tastatureingabe einlesen kann?

Ist das nicht das Gleiche wie eine Textdatei zu senden? Das kann wohl 
jedes Terminal.

Georg

von Uhu U. (uhu)


Lesenswert?

Georg schrieb:
> Ist das nicht das Gleiche wie eine Textdatei zu senden?

Nein, das ist nicht das Gleiche. Die Kommandozeile wird zu Beginn 
abgearebitet und eine mit -f übergebene Datei wird sofort übermittelt.

Was ich suche, ist ein Terminal, dem ich mitten in der Sitzung sagen 
kann: "lies jetzt die Datei xy.z und blas deren Inhalt über die 
Leitung".

gtkterm kann das nicht.

von M. V. (-_-)


Lesenswert?

minicom kann das

von Bernd K. (prof7bit)


Lesenswert?

CuteCom http://cutecom.sourceforge.net/ kann das glaub ich (zumindest 
hat es unten einen "Send File" Button, selbst benutzt habe ich den aber 
noch nie).

von Gerd E. (robberknight)


Lesenswert?

Dateiinhalt in die Zwischenablage übernehmen (z.B. in nem Editor) und 
dann einfach in das Terminalprogramm einfügen.

von Marc (gierig) Benutzerseite


Lesenswert?

Coolterm ist closed source aber gratis fur Linux Mac und win

von Uhu U. (uhu)


Lesenswert?

Danke für die Tipps.

minicom funktioniert leider unter Linux Mint nicht, weil es darauf 
besteht, ganu bestimmte tty-Devices serviert zu bekommen. /dev/ttyUSB0 
zählt leider nicht dazu.

Dafür funktioniert es mit CuteCom prima.

Gerd E. schrieb:
> Dateiinhalt in die Zwischenablage übernehmen (z.B. in nem Editor) und
> dann einfach in das Terminalprogramm einfügen.

Der Trick ist natürlich noch besser...

von Caeser (Gast)


Lesenswert?

> minicom funktioniert leider unter Linux Mint nicht, weil es darauf
> besteht, ganu bestimmte tty-Devices serviert zu bekommen. /dev/ttyUSB0
> zählt leider nicht dazu.

Ohne gerade am Linuxrechner zu sitzen behaupte ich, dass das gehen 
müsste.
Mit der Option -D (oder -d ?) sollte man das Device angeben können, 
welches von minicom genutzt werden soll. Alternativ dazu lässt sich auch 
eine eigenen Konfigurationsdatei für das jeweilige Device anlegen, in 
dem auch Dinge wie Baudrate, Handshake etc. eingestellt werden können.

von Uhu U. (uhu)


Lesenswert?

Caeser schrieb:
> Mit der Option -D

Damit geht es.

von nicht"Gast" (Gast)


Lesenswert?

hi,

hast du eigentlich dieß Anforderung, das es automatisch passieren soll?

Wenn nicht, kannst du ja einfach deine Datei mit cat auf den Port 
schreiben. Dazu must du nicht mal dein Terminal zu machen.

wenn du das allerdings automatisieren willst, würde ich erst gar kein 
Terminal Programm nutzen, sondern direckt mit cat, echo und co arbeiten.


Grüße

von Uhu U. (uhu)


Lesenswert?

nicht"Gast" schrieb:
> hast du eigentlich dieß Anforderung, das es automatisch passieren soll?

Nein - das könnte man ja auch mit gtkterm -f machen...

Ich habe auf einem Arduino Nano einen kleinen I/O-Monitor laufen, mit 
dem man die Peripherie [im Moment nur die Ports, die Timer und den ADC] 
manipulieren und einlesen kann. Mit dem Teil teste ich eine kleine 
Schaltung auf dem Steckbrett.

Das Problem beim Nano ist der Boot-Lader, der wird beim Reset immer 
automatisch gestartet und das dauert etwas. Wenn man das Terminal 
startet, gibts auch einen Reset und der Bootlader lauscht auf der 
Leitung. Wenn das Terminal dann sofort los kotzt, dann geht zumindest 
ein Teil des Textes verloren - deswegen geht das mit gtkterm -f nicht.

Mit der Zwischenablage kann man es aber zu Fuß machen und miniterm ist 
richtig komfortabel mit seiner Dateilesefunktion...

von Gerd E. (robberknight)


Lesenswert?

nicht"Gast" schrieb:
> Wenn nicht, kannst du ja einfach deine Datei mit cat auf den Port
> schreiben. Dazu must du nicht mal dein Terminal zu machen.

Bei Deinem 2. Satz habe ich starke Zweifel: Es werden keine 2 Programme 
gleichzeitig das Device der seriellen Schnittstelle öffnen können. Wenn 
das Terminalprogramm läuft und die Verbindung zur Schnittstelle offen 
hat, kann das cat da nicht gleichzeitig auch noch was hinschicken. Würde 
ja sonst auch in nem ziemlichen Kuddelmuddel enden.

: Bearbeitet durch User
von nicht"Gast" (Gast)


Lesenswert?

Gerd E. schrieb:
> Bei Deinem 2. Satz habe ich starke Zweifel: Es werden keine 2 Programme
> gleichzeitig das Device der seriellen Schnittstelle öffnen können. Wenn
> das Terminalprogramm läuft und die Verbindung zur Schnittstelle offen
> hat, kann das cat da nicht gleichzeitig auch noch was hinschicken. Würde
> ja sonst auch in nem ziemlichen Kuddelmuddel enden.

Huch, dann mach ich das ja die ganze Zeit falsch :)

von Uhu U. (uhu)


Lesenswert?

nicht"Gast" schrieb:
> Huch, dann mach ich das ja die ganze Zeit falsch :)

Unter Linux geht das definitiv nicht.

von nicht"Gast" (Gast)


Lesenswert?

Uhu U. schrieb:
> Unter Linux geht das definitiv nicht.

Wie gesagt, dann mach ich das falsch.... ich benutz picocom und dumpe 
regelmäßig Dateien drauf, wären es geöffnet ist. Und es geht.

von Bernd K. (prof7bit)


Lesenswert?

Uhu U. schrieb:
> nicht"Gast" schrieb:
>> Huch, dann mach ich das ja die ganze Zeit falsch :)
>
> Unter Linux geht das definitiv nicht.

Doch das geht.

von Thomas Z. (thomas_z41)


Lesenswert?

Bernd K. schrieb:
> Uhu U. schrieb:
>> nicht"Gast" schrieb:
>>> Huch, dann mach ich das ja die ganze Zeit falsch :)
>>
>> Unter Linux geht das definitiv nicht.
>
> Doch das geht.

Ja das geht definitiv, nur kommt dabei nicht unbedingt das raus was man 
denkt. So lange nicht beide Programme gleichzeitig senden funktioniert 
das senden problemlos. Das Problem ist eher das empfangen, bei mir ist 
das zumindest so, dass nur eines der beiden Programme die Daten empfängt 
und das andere nicht. Welches Programm die Daten empfängt hängt davon ab 
wer zuerst pollt...

von Kaj (Gast)


Lesenswert?

Thomas Z. schrieb:
> Das Problem ist eher das empfangen, bei mir ist
> das zumindest so, dass nur eines der beiden Programme die Daten empfängt
> und das andere nicht. Welches Programm die Daten empfängt hängt davon ab
> wer zuerst pollt...
Einfach über udev zwei device-dateien anlegen lassen (z.B. 
/dev/myDevice_1.1 und /dev/myDevice_1.2). Device 1.1 an Programm 1 und 
Device 1.2 an Programm 2 übergeben und dann sollte sich dein Leseproblem 
erledigt haben.

Für schreiben hab ich das noch nie ausprobiert.

von Uhu U. (uhu)


Lesenswert?

Wenn ich ein Terminal auf ttyUSB0 offen habe und mit avrdude 
gleichzeitig probiere, den µC (mit Bootlader) zu flashen, dann geht das 
mit absoluter Sicherheit in die Hose...

: Bearbeitet durch User
von cat (Gast)


Lesenswert?

Der Unterschied dürfte wohl sein, dass "cat >/dev/tty..." nichts von der 
seriellen Schnittstelle liest, im Gegensatz zu avrdude.

von Josef D. (jogedua)


Lesenswert?

Uhu U. schrieb:
> Wenn man das Terminal
> startet, gibts auch einen Reset und der Bootlader lauscht auf der
> Leitung.

Den Reset kann man leicht verhindern, z.B. so:
http://playground.arduino.cc/Main/DisablingAutoResetOnSerialConnection

oder einen Kondensator von RST nach GND (bei mir reichen 100n). Da die 
benötigten Leitungen alle auch auf dem Programmier-Stecker liegen, kann 
man sich dafür einen Adapter bauen, den man bei Bedarf (wenn man den 
Bootloader wirklich benötigt), einfach so lange abzieht.

von Uhu U. (uhu)


Lesenswert?

Josef D. schrieb:
> Den Reset kann man leicht verhindern

Natürlich kann man das - fragt sich nur, welchen Sinn das hat.

Mein ursprüngliches Problem lässt sich auch ohne Lötkolben lösen...

von Josef D. (jogedua)


Lesenswert?

Uhu U. schrieb:
> fragt sich nur, welchen Sinn das hat

Bei mir läuft der µC wochenlang durch.
Gelegentlich möchte ich per PC Daten auslesen oder Parameter ändern, 
ohne dass ein Reset ausgelöst wird (und die Daten dann futsch sind), 
wenn ich den PC neu boote oder das Terminal-Programm neu verbinde.
Während der Entwicklung kann ich bei Bedarf (automatischer Start des 
Bootloaders) auf dem Steckbrett einfach den Kondensator rausziehen.

von Bernd K. (prof7bit)


Lesenswert?

Unter Windows kann man die serielle Schnittstelle so öffnen daß die 
DTR-Leitung nicht zappelt und somit kein Reset ausgelöst wird (bin ich 
versehentlich drübergestolpert beim Implementieren meiner eigenen 
Serial-Komponente für FPC/Lazarus, ich hab mich gewundert warum der 
Arduino plötzlich nicht mehr resettet wenn ich den Port öffne).

Unter Linux (zumindest mit dem CDC Treiber für den UNO (kein FTDI) ist 
mir dieses nützliche Feature leider bislang noch nicht gelungen.

: Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.