shell output to textbox

Linuxi tarkvaraliste küsimustega seotud foorum

Moderaator: Moderaatorid

Vasta
ottmaaten20
Pingviini kasutaja
Pingviini kasutaja
Postitusi: 69
Liitunud: 31.10.2008, 15:19

shell output to textbox

Postitus Postitas ottmaaten20 »

Kas keegi targematest oskaks nõu anda kuidas edasi minna:
1. Terminaliaknas töötab deemonina C skript, mis suhtleb kaardilugejaga.
2. Pärast kaardi lugemist kuvab skript rea vajalikke andmeid terminalis
3. Kuidas saada/saata see rida Firefoxi aktiivsesse textbox'i?

Millest alustada - kas C-skripti modimisest või on lihtsamaid viise kuidas terminalist inforeakene saada brauseri textbox'i?
chris
Pingviini aktivist
Pingviini aktivist
Postitusi: 146
Liitunud: 16.02.2009, 17:39

Postitus Postitas chris »

Lühidalt öeldes on sul vaja siduda see programm (C skript) veebilehe, mida brauser näitab, loomisega.
Programmi ennast ei ole vaja muuta, sul on vaja ta käivitada ja väljund salvestada textarea väärtuseks.
ottmaaten20
Pingviini kasutaja
Pingviini kasutaja
Postitusi: 69
Liitunud: 31.10.2008, 15:19

Postitus Postitas ottmaaten20 »

Meie programm suudab lugeda väljundseadmest stringi, mida kuvab terminalis.
Küsimus on stringi suunamises aktiivsesse tekstilahtrisse graafilises keskkonnas (näit Firefoxi)
Kasutaja avatar
estysoft
Pingviini aktivist
Pingviini aktivist
Postitusi: 130
Liitunud: 13.07.2006, 20:25

Postitus Postitas estysoft »

Tavaliselt hoidutakse sellistest lahendustest.
Saan aru, et on soov saata kliendi masinast andmeid serverisse.
http://superuser.com/questions/149329/w ... st-request

Samas kui ikka on soov läbi graafilise liidese teha.
http://www.sikuli.org/index.html

Või vaadata brauseri blugini või addoni võimalustesse.
ottmaaten20
Pingviini kasutaja
Pingviini kasutaja
Postitusi: 69
Liitunud: 31.10.2008, 15:19

Postitus Postitas ottmaaten20 »

Ikkagi ei sobi kumbki lahendus. Mingit addoni ma leidnud ei ole.

Ma ei saa aru, mida tähendab "hoidutakse sellistest lahendustest"
Tegemist on aastaid toiminud ruumide laenutamise veebipõhise süsteemiga, kus töötaja/õpilane esitab kaardi, see loetakse ja töötaja/õpilase andmed kuvatakse turvatöötaja ekraanil. Enne kaardilugejate vahetust töötas see linuxi masinas edukalt, kus enne kasutusel olnud, vanemat tüüpi kaardilugeja väljund oli kui "keyboard simulation"
Kas tõesti peame siis regenereeruma ja leppima hetkel paigaldatud Win masinaga, kus kaardilugejaga suhtleb nö väike ebastabiilne deemontarkvara ja suudab selle koodi väljutada brauseri textboxi (mis annab turvatöötajale hetkelise tagasiside)
Linuxis sama kaardilugeja töötab kuid väljutab kaardi koodi läbi skripti käsureale stringina.

Meil on hädavajalik see string saada brauseri tekstboxi, mitte et see jookseks pikki teid kõigepealt serverisse ja sealtkaudu turvatöötaja ekraanile tagasi. Kui see on Winis võimalik, siis miks on see linuxis vastunäidustatud? Command line string -> GUI aktiivsesse textboxi.
chris
Pingviini aktivist
Pingviini aktivist
Postitusi: 146
Liitunud: 16.02.2009, 17:39

Postitus Postitas chris »

ottmaaten20 kirjutas:Ikkagi ei sobi kumbki lahendus. Mingit addoni ma leidnud ei ole.
Palun valgusta lolli: miks mu pakutud lahendus ei sobi? Kas seetõttu, et ta ei ole piisavalt detailne?

Add-on ei olegi. Selle pead sa ise tegema.
ottmaaten20 kirjutas:Ma ei saa aru, mida tähendab "hoidutakse sellistest lahendustest"
Tegemist on aastaid toiminud ruumide laenutamise veebipõhise süsteemiga, kus töötaja/õpilane esitab kaardi, see loetakse ja töötaja/õpilase andmed kuvatakse turvatöötaja ekraanil. Enne kaardilugejate vahetust töötas see linuxi masinas edukalt, kus enne kasutusel olnud, vanemat tüüpi kaardilugeja väljund oli kui "keyboard simulation"
Kas tõesti peame siis regenereeruma ja leppima hetkel paigaldatud Win masinaga, kus kaardilugejaga suhtleb nö väike ebastabiilne deemontarkvara ja suudab selle koodi väljutada brauseri textboxi (mis annab turvatöötajale hetkelise tagasiside)
Linuxis sama kaardilugeja töötab kuid väljutab kaardi koodi läbi skripti käsureale stringina.

Meil on hädavajalik see string saada brauseri tekstboxi, mitte et see jookseks pikki teid kõigepealt serverisse ja sealtkaudu turvatöötaja ekraanile tagasi. Kui see on Winis võimalik, siis miks on see linuxis vastunäidustatud?
Linuxis ei ole see samuti vastunäidustatud. Su küsimus on lihtsalt nii segane, et sellest ei ole võimalik aru saada, mida sa tegelikult soovid.
ottmaaten20 kirjutas:Command line string -> GUI aktiivsesse textboxi.
Nüüd hakkab välja kooruma, mida sa tegelikult soovid.

Sinu tahtmine on:
* kasutada ära olemasolev programm, mis suhtleb kohalikus masinas SmartCardi lugejaga
* saata selle väljund kohalikus masinas mingile teisele programmile, mis suudaks seda graafiliselt näidata

Kahjuks ei ole see veel piisav, et lõplik lahendus sulle ette sööta, sest
* ma ei tea kuidas see C skript käitub (kas teda on vaja pidevalt käivitada)
* kas väljund peab ilmtingimata minema brauserisse?
* kas eelmiste ridade (kaardilehvitajate) näitamine on vajalik?

Aga eeldades, et see skript (programm) töötab igavesti, kuni kasutaja või elektrikatkestus teda ei tapa, siis näiteks

Kood: Vali kõik

xterm -e /tee/sinu/programmini
võiks olla ehk piisav. Selle koodijupi paned tööle ja ongi kõik.

xterm on vanemat sorti graafiline terminaliprogramm ja sul ei pruugi teda masinas olla. Mina kirjutan tema asemel konsole (kasutan KDE-d); Gnome kasutajad toksivad gnome-terminal. Terminali programme on palju ja mul ei ole mitte mingit ettekujutust, mida sa kasutada saad.
Kasutaja avatar
Valdur55
Vana Pingviin
Vana Pingviin
Postitusi: 640
Liitunud: 02.06.2007, 23:22

Postitus Postitas Valdur55 »

Esimese ideena võiks kasutsada CGI skripti, mis käivitab selle programmi.
Kaks wiki linki: https://et.wikipedia.org/wiki/CGI ja https://en.wikipedia.org/wiki/Common_Gateway_Interface
chris
Pingviini aktivist
Pingviini aktivist
Postitusi: 146
Liitunud: 16.02.2009, 17:39

Postitus Postitas chris »

Jah, CGI on ka üks võimalus, kuid ei toida kõige paremini.
Veebiserveri abil asja lahendades tekib üks ebameeldiv probleem: väljund on vaja saata brauserisse tekkimise hetkel, mitte siis kui valvur suvatseb brauserit uuendada. Tänapäeva veebitehnika võimaldab vist ka asünkroonset uuendamist, kuid mul on suur kahtlus küsija võimekuses seda realiseerida.

Mu silmis on veebiserveri kasutamine antud juhul ülepingutamine. Aga teisalt, probleemi kirjeldus on ka segane.
Kasutaja avatar
imre
Vana Pingviin
Vana Pingviin
Postitusi: 2653
Liitunud: 16.08.2005, 03:00

Postitus Postitas imre »

Ajax'it võiks siis kasutada. Ei pea refreshi pressima.
Enne teema püstitamist kasutage OTSINGUT
Küsi targalt: Infot siit!
Kui aru ei saa, siis küsi.
Kasutaja avatar
itra
Uus kasutaja
Uus kasutaja
Postitusi: 10
Liitunud: 20.12.2010, 13:22

Postitus Postitas itra »

viskan ka oma 2 senti siia

no linuxi all võiks kasutada näiteks uinput'i et tekst sinna veebi lehe teksti kasti saada

pms siis kirjutad virtuaalse keyboardi mis võtaks teksti vastu ja suruks selle siis läbi linuxi input süsteemi xorgile mis siis omakorda paneb need virtuaalsed klaviatuuri vajutused sinna firefoxi teksti kasti

näidis kuidas virtuaalset hiirt teha: http://thiemonge.org/getting-started-with-uinput (peaks olema suht kerge muuta seda koodi seal et klaviatuuri emuleerida)

E: võib kasulik olla http://unix.stackexchange.com/questions ... ell-script

alati võib ka kirjutada mingi plugina aga see ei oleks siis nii universaalne
Kasutaja avatar
innar
Uus kasutaja
Uus kasutaja
Postitusi: 1
Liitunud: 03.10.2013, 10:03

Postitus Postitas innar »

Lahendus oli lühike ja selleks kasutati xdotool-nimelist rakendust, mis oskab käsurealt saata info aktiivsesse tekstilahtrisse. Tõsi, käsurea-aken peab jooksma taustal ja samas X-sessioonis, kuhu väljundit kuvada soovitakse. 3 sekundit magab skript seepärast, et muidu loeks ta rfid-kaarti ühe kaardiviibutuse korral mitu korda. Kaardilugemise õnnestumisel mängitakse frontend-is maha ka helifail, et kasutajani jõuaks tagasiside lugemise õnnestumisest.

skript ise:

while [ 1 = 1 ]
do
tryki=`./loekaarti`
xdotool type $tryki
xdotool key KP_Enter
sleep 3
done
Vasta