Üdv,
Egy olyat szeretnék csinálni, hogy amikor elindult a rendszer, akkor ugye kapok egy shell-t miután beléptem,
na én azt szeretném, hogy ugyanez a shell legyen egy soros portra is "forwardolva".
Azaz ugyanazt lássam a sorosport-on mint a képernyőn.
Már gogliztam egy csomót, de csak azt sikerült megoldani, hogy induláskor a kernelnek átadom, hogy:
console=tty0 console=ttyS0
na most ez mindaddig jó amíg nem kapom meg a login promptot, mert ott már csak az egyikre küldi az információkat.
Előre is köszönök minden hozzászólást.
- 1844 megtekintés
Hozzászólások
Elsőnek a screen jut eszembe, de soros porttal ez nem biztos, hogy megfelel neked.
- A hozzászóláshoz be kell jelentkezni
cu-t keresed?
ha nem csak soros porton keresztül kellene, akkor screen + screen -x.
- A hozzászóláshoz be kell jelentkezni
amit én szeretnék az az valójában, hogy van egy saját kis beágyazott rendszerem, ezen van egy rs232 port amire
ráaggattam az első soros terminált(ttyS0), valamint van a framebuffer eszközöm, amire ráaggattam az első terminált
(tty0), és azt szeretném, hogy a tty0-n is azt lássam mint a ttyS0-n.
ami megy is a kernel bootolása alatt, de mikor az befejeződik, akkor vége.
- A hozzászóláshoz be kell jelentkezni
tail -f /dev/ttyS0 >> /dev/tty0 et próbáltad már ?
- A hozzászóláshoz be kell jelentkezni
megnéztem a screen-t. én úgy látom, hogy a screen több terminál elérését segíti egy megjelenítőn. nekem a fordítottja kellene
azaz egy terminál jelenjen meg több megjelenítőn.
ha jól értelmezem amit a screen csinál.
- A hozzászóláshoz be kell jelentkezni
a screen-nel mindkettő megy, tehát 1 terminálba sok shell, vagy több terminálban látni 1 shell-t.
egyik term-ben screen parancs, másikban screen -x, és így mindkettő ugyanazt a képet mutatja mindig.
- A hozzászóláshoz be kell jelentkezni
kipróbálom.
csak egy kis problémám van, hogy az egyik terminál felett nincs inputom.
mert ezt úgy kell elképzelni, hogy van egy pc meg van egy mondjuk hogy pda.
a pc csatlakozik a pda soros portjára.
és én azt szeretném elérni, hogy a pda-n is lássam azt amit a pc soros portján keresztül egy terminálba.
ezért gondolom, ha a pda-n, ahol nincs billentyűzetem bele teszem megfelelő paraméterekkel a screen-t egy
scriptbe, akkor azt érem el, mint ha begépelném.
- A hozzászóláshoz be kell jelentkezni
akkor szerintem neked kellene a PC-re egy autologin, aminek a végén elindul a screen, a PDA-n meg le kellene futtatni a screen -x parancsot.
nem írtad milyen disztró, de Debian-on /etc/inittab -ba mehetne az egyik getty sor
1:2345:respawn:/sbin/getty 38400 tty1
helyett pl. ez:
1:2345:respawn:/sbin/getty -n -l /root/mylogin 38400 tty1
ahol a mylogin egy script:
#!/bin/sh
/bin/login -f username
.bash_profile-ba meg mehetne a screen parancs:
if [ -z "$DISPLAY" ] && [ $(tty) == /dev/tty1 ]; then
screen
fi
nem próbáltam a screen-nel, lehet hülyeség, én ezt más futtatására használtam.
szerk.: ha viszont jó root joggal is, akkor mehetne persze szerintem az /etc/rc.local-ba is a screen parancs.
- A hozzászóláshoz be kell jelentkezni
itt nincs distro, mert ezt én lapátoltam össze buildroot módosításával egy AVR32-re.
a screen dolog működik félig. azaz a terminálban a pc-n ami a (gtkterm) kiadom az ottani shellben (/dev/ttyS0), hogy `screen /dev/tty0` akkor minden bill leütés látszik a 'pda'-n.
csak az a baj, hogy ha lenyomom az enter-t, akkor nem történik az amit vártam. azaz hajtódik végre parancs.
az inittabomban most ez van :
# Run a shell on the first serial port. Comment out if you want a getty instead.
ttyS0::respawn:-/bin/sh
# terminál a framebufferen
tty0::respawn:-/bin/sh
*szerk*
itt nincsenek runlevel-ek mert a busybox nem támogatja a runlevel-ek használatát
- A hozzászóláshoz be kell jelentkezni
mind a két shell-ben futtatni kellene screen parancsot, csak az egyikben -x paraméterrel (ha jól értem).
screen /dev/... szerintem nem jó.
szerk.: vagy ahogy a man-ban nézem, lehet kellene a -r is talán?
screen -r /dev/tty0
- A hozzászóláshoz be kell jelentkezni
igen, de kell egy kis trükk, mert kell tudni a másik screen pid-jét. asszem.
- A hozzászóláshoz be kell jelentkezni
elvileg ha nincs másik screen session, akkor a -x azt az egyetlent veszi, amelyik élő.
- A hozzászóláshoz be kell jelentkezni
exec script -a /dev/ttyS0
vagy fordítva, nem igazán tudom; amelyik terminálra akarod küldeni, annak a neve a paraméter
- A hozzászóláshoz be kell jelentkezni
ez csak egy script kimenetét tolja át egy adott terminálra ?! jól gondolom ? nekem az kell, hogy online legyen a két terminál.
- A hozzászóláshoz be kell jelentkezni
Nem, itt a "script" nevű parancsot kell használnod. De tény, *input* csak az eredeti (ahol az "exec .." sort futtatod) terminálon lesz.
- A hozzászóláshoz be kell jelentkezni
Ezzel itt fenn mi a gond? Pont azt csinálja, amit kérsz :-)
man script
- A hozzászóláshoz be kell jelentkezni
holnap kipróbálom. köszi
- A hozzászóláshoz be kell jelentkezni
A 'kibitz'-et nezd meg, ami tkp. egy expect-ben irott script.
- A hozzászóláshoz be kell jelentkezni
ezt sajna nem találtam meg AVR32 arch-ra. pedig jónak néz ki.
- A hozzászóláshoz be kell jelentkezni
Ugye az expect-et kerested? Ha expect van, van kibitz is.
Az expect-hez meg ugye tcl kell...
- A hozzászóláshoz be kell jelentkezni
hát az jó volna ha 2MB alatt maradna az egész, ezért a tcl...kicsit necces.gondolom.
- A hozzászóláshoz be kell jelentkezni
Siman beleferhet, ne add fel. A tclsh nem egy nagy allat, es az expect se egy goliat. Talan ~1MB-bol is meguszhatod, bar az AVR32-t nem ismerem. Nem mellesleg kapsz egy tok jo interpretert es egy 'izet' (az expect szamomra bekategorizalatlan), ami sok esetben jol johet.
- A hozzászóláshoz be kell jelentkezni
Hello,
Jó a kérdés:) A tuti megoldást ugyan nem tudom, de pár dolog, ami eszembe jut:
telnet localhost | tee -a /dev/ttyS0
vagy
ssh localhost | tee -a /dev/ttyS0
Auth után ez szépen átvisz mindent a soros portra is.
bash | tee -a /dev/ttyS0
Itt nincs auth, de csak a shellből indított parancsok kimeneteit "klónozza" a soros portra.
http://vicerveza.homeunix.net/~viric/soft/tcpscript/tcpscript-0.2.tar.gz
Ezt a tcpscript programot elindítva kiül egy portra és forkol egy shellt. Egy másik terminálról a portra telnetelve monitorozhatjuk a forkolt shell stdio-ját. A forrása adhat további ötletet!
http://ace-host.stuart.id.au/russell/files/conspy/
Ez pedig, mint egy VNC, távolról belépünk a tty0-ba. Sajnos itt is be kell avatkozni a ttyS0-ról az indítás erejéig.
- A hozzászóláshoz be kell jelentkezni
kipróbálom őket. köszi.
- A hozzászóláshoz be kell jelentkezni