Jump to content

Aplikācija attālināti esošajā OS logu sesijā, USB restart un crontab alternatīva


Recommended Posts

Sveicināti,

 

1)

Vai MSW8(7) ir alternatīva šādam nix paņēmienam?

#remote ielogojamies hostā
ssh lietotajs@hosts
#palaižam executablu uz aktīvās sesijas logu nonblocking (screenā vai nohupā) režīmā
DISPLAY=:0.0 screen /path/uz/aplikācijas/kas/ir/openglapps/executablu
# detachojamies no screena
# exitojam hostu

psexec?

kā ar iespēju attālināti nokillot iestallotus nonblockotos procesus? taskkill.exe?

 

Un visos šajos gadījumos nepieciešmas MSW, lai accessotu MSW?

 

2)

MSW alternatīva crontabam (izpildes laiks jāspēj specificēt minūtēs)?

schtasks, at, pycron, nncron?

palaižamajiem skriptiem jāspēj palaist gan komandrindas, gan gui aplikācijas aktīvajā sesijā.

 

3)

MSW alternatīva no komandrindas restartēt visus sistēmā esošos USB kontrolierus (ir gan onboard, gan pci-e kontrolieri), simulējot fizisku devicu unplug un replug?

 

Paldies par padomiem,

kroko

Edited by kroko
Link to post
Share on other sites

  • Tu gribi attālināti palaist OpenGL appu uz fiziskā ekrāna? Tas nebūs triviāli, ņemot vērā, ka neviens tur var arī nebūt ielogojies (un, tātad, nemaz neeksistē aktīvā sesija). Windows iebūvētus līdzekļus nezināšu, bet varbūt sanāk ar TeamViewer vai kādu citu 3rd party rīku.

     

    Attālinātā procesu killošana - jā, tasklist.exe un taskkill.exe der. Vizuālu rīku īsti nezinu nevienu. Vai eksistē alternatīvas uz citām OS - arī nemācēšu teikt. Iespējams, ka ir 3rd party rīki.

  • Task Scheduler. Kurā tieši vietā uz Windows 8 tas atrodas, nepateikšu, bet gan jau ar meklēšanu varēsi atrast. Windows 7 ir zem Control Panel -> Administrative tools. Var laist visu ko visvisādos veidos ar visvisādiem nosacījumiem. Lai arī atkal - vai gribi palaist to savu OpenGL softu uz fiziskā ekrāna? Baidos, ka tas var nesanākt. Ja neviens lietotājs nav ielogojies, tad arī neeksistē desktops, un aplikācijas nevar tā vienkārši palaisties. Drīzāk jādomā kāds risinājums, kur tiek pieņemts, ka lietotājs ir ielogojies. Starp citu, Windows var arī uzstādīt automātisko ielogošanos pie ieslēgšanās.
  • Par plug/unplug simulēšanu nezināšu, bet varbūt der visa USB kontroliera disablēšana? Ātrs googles kverijs atrada šo SuperUser atbildi.
Edited by Vilx-
Link to post
Share on other sites

Man drīzāk izskatās, ka grib attālināti kontrolēt kompi, kurš skatlogā pie projektora pieslēgts.

Link to post
Share on other sites

Jā, tas ir attālināti kontrolēts kompis, kuram paredzams, ka vairākas reizes pa pus gadam ik reizi nonstopā būs jādarbojas. Tas ir "tik attālināts", ka maksimālu kontroli jāiegūst ar šādu pieslēgšanos.

Ja nav erroru, tad pieslēgšanās nemaz nav nepieciešama, viss tiek automatizēts ar signāliem LAN tīklā un taksu shedulingu. Pieslēgšanās vajadzīga troubleshootingam.

Uz debian jau ir uzrakstīts risinājums, kas strādā… ar vienu bet. OS nofreezo randomā pēc pāris stundām. Esmu izskatījis visus syslogus ar visām prioritātēm iespējotām, nav hintu. Šobrīd replicēšu studijā datoru, jo "oriģinālais" jau ir ceļā uz attālināto novietni, un tupināšu testus, reproducēšu freezu (cerams). Ja tas tā notiks, pāriešu uz fedoru (neprasiet, kāpēc jau uzreiz nelietoju :)), bet MSW arī ir opcija, kura jāizskata. Apps ir ar glut līmi un daudziem wrapperiem, tāpēc pārkompilēt uz MSW būs īzī.  Nākamais būtu dzelžu maiņa.

 

1) Jā, es gribu attālināti palaist OpenGL appu uz fiziskā ekrāna. Sesija tur ir "garantēta" vienmēr. Ir autorestart pie power failure, var iestatīt automātisku loginu. Ekstrēmos gadījumos novietnē uz vietas ir personāls, kas var pārstartēt kompi.

Ar reģistra editu terminal services konekcijām, lietotāju policy utt. + concurrent remote desktop patchu garantēju iespēju pieslēgties sesijai. Problēma ir tieši attālinātībā, tādēļ vēlos komandrindas risinājumu, nevis remote desktop! Tur arī visa sāls.

 

Tā kā šis jautājums joprojām aktuāls, kā ielogoties aktīvajā sesijā no komandrindas (assertojam, ka sesija ir) un palaist no komandrindas aplikāciju.

 

Par taskiem tad skaidrs, ps -aux un kill vietā ir tasklist.exe un taskkill.exe.

 

2) Tad MSW iebūvētais task sheduler it is.

Nezinu kā MSW darbijas (kā jau redzams), bet - tas apps var nebūt uz "fiziskā" ekrāna! Tam ir jāpalaižas uz "ekrāna sesijas", kurai vizuāli, nepieciešamības gadījumā, var piekonektēties un to apskatīt. Un nē, aplikāciju nevarēja veidot komandrindas only, šai iespējai vizuāli redzēt aplikācijas darbību ir jābūt. Variants, protams, eksistē uzrakstīt vēl papildus arī komandrindas variāciju aplikācijai, par šo jāpadomā.

 

3) Paldies, skatīšos. Atradu vēl

http://support.microsoft.com/kb/311272 - pēc dokumentācijas izskatās vienkārši, uzzinam ID, disablojam un rescanojam.

http://stackoverflow.com/a/1055216CfgMgr API

 

Paldies.

Edited by kroko
Link to post
Share on other sites

Windowsam starp citu ir iebuuveets telnet serveris (defaultaa gan tas nav enablots, pasham jaaiesleedz).
Un caur to var darbinaat visus devcon, tasklist, taskkill.
Prieksh eleveetajaam komandaam naaksies UAC atsleegt.
Bet GUI aplikaacijas caur to nevarees palaist.
Tam jaaizmanto remote control risinaajumi - Remote desktop, Dameware MRC.

  • Patīk 1
Link to post
Share on other sites

Okidoki, tikko uzrakstīju konsoles variantu, bez gl kontexta. Komandrindas aplikācija ar runloopu. Tātad to fonā/noblocking MSW varēs palaist ar "start progasnosaukums".

Tikai nav skaidrs par quitošanu, jo aplikācijai jāveic cleanups un jānosūta signāls datoram piejūgtajiem dzelžiem, kurus aplikācija ir piekonektējusi. http://ss64.com/nt/taskkill.html norāda, ka nav passojams signāla tips, kā tas ir nixā ar POSIX signāliem pie kill. Cerams, ka windows sūta tādu signālu, ka apps spēj iziet gracefully.

 

Hmm, šis threads http://stackoverflow.com/questions/283728/running-applications-through-telnet gan joprojām norāda, ka telnet vietā labāk izmantot PsExec ar paskaidrojumu, kāpēc. Iespējams, ka tas attiecas arī uz devcon, tasklist, taskkill.

 

Vai kādam ir bijusi pieredze ar OpenSSH for Windows http://sshwindows.sourceforge.net uz MSW7/8? Sourceforge saka, ka pēdējais release datēts pirms dekādes: 2004-07-09.

Piedodiet ka tā taujāju, nevis testēju - uz rokas šobrīd nav reālas MSW mašīnas, tā tiktu mēģināta, kad būtu skaidrs, ka maz ir vērts sākt.

Link to post
Share on other sites

Silti iesaku izmantot TeamViewer vai kādu citu grafisko attālinātās kontroles rīku, kurš pārsūta redzamo ekrānu. Daudz galvassāpju ietaupīsi. Windows nav kā *nix, kur komandrinda ir primārā, un grafiskā - sekundārā. Windows ir otrādi - primāri viss strādā grafiskajā vidē, un komandrinda ir otršķirīga.

 

Par signāliem - Windows tāda jēdziena nav, tāpēc ja killo no komandrindas, tad killo pavisam (linuxā laikam sanāk kill -9). Vēl viens iemesls izmantot vizuālo rīku. Vai arī tad pašam jāimplementē kaut kāda signalizēšana.

  • Patīk 1
Link to post
Share on other sites

Šaubos, ka TeamViewer (jebkāds VNC paveids) strādās 2k km attālumā, kur otrā galā klients ir aiz nedefinētas konekcijas kvalitātes un U/L trubas, kas uz papīra ir teikta esot 5mbit max.

Link to post
Share on other sites
Ronalds

Strādās, esmu ar ultravnc strādājis caur pārslogotu 3g pings ap 300ms, ātrums zem 1mbit/s

  • Patīk 1
Link to post
Share on other sites

Pagaidām tas ir strādājis pārsteidzoši labi, arī ar draņķīgiem interneta pieslēgumiem. Man arī šķiet, ka tas neizmanto VNC, bet gan pats savu risinājumu. Nu, vismaz pamēģini. :)

  • Patīk 2
Link to post
Share on other sites
maize

Nāvīgi lēniem pieslēgumiem RD būs piemērotāks par VNC, jo protokols ir atšķirīgs. RD ir kustināts laikos, kad 128kbps down bija laime pilnīga.

Link to post
Share on other sites
ķeblis

Teamviewer uz Debian/Ubuntu darbojas caur Wine, par Fedora nemācēšu teikt, bet pieņemšu, ka ir tas pats variants.

Liels pluss ir tāds, ka šams pats pārbauda un atrod kādu brīvu, neizmantotu portu (UDP, vai TCP) un ļauj pieslēgties izmantojot sava veida PIN un paroli (neskatoties uz to uz kādas IP, vai porta šī konekcija ir)... protams, ja netiek bloķēti pārsvarā visi porti (šādā gadījumā Tieamviewer pietiek ar 80 portu).

Link to post
Share on other sites

Šī pasākuma jēga man ir nesaprotama bet pieslēdzoties pie PC uz kura rullē videonovērošana RD galīgi norauj roceni kamēr Teamviever šo to paskatīt var.

TeamViewer vienkārši "filmē ekrānu" (taisa nepārtrauktus skrīnšotus) un emulē klaviatūras/peles eventus. Tāpēc vienlaicīgi var strādāt gan lokālais lietotājs, gan attālinātais.

 

RD strādā zemākā līmenī - tas pārķer visu zīmēšanu uz ekrāna un redirektē uz otru datoru. Tāpat arī tiek redirektēta klaviatūra/pele jau draiveru līmenī. Rezultātā lokālais lietotājs un attālinātais nevar pastrādāt vienlaicīgi. Taču priekšrocība ir tāda, ka var taisīt terminālserveri - t.i. uz viena datora vienlaicīgi strādāt daudzi attālinātie lietotāji. TeamViewer to nevar.

Link to post
Share on other sites
Inspektors Caps

Par CLI programmu aizvēršanu uz Windows:

http://stackoverflow.com/questions/1216788/win32-api-analog-of-sending-catching-sigterm

Augšējā atbilde ir absolūti nepareiza, bet pārējās divas gan ir labas. Tas, uz ko vēršu uzmanību: SetConsoleCtrlHandler un Unix Code Migration Guide.

 

No SSH uz Windows varu ieteikt Bitvise SSH Server. Labi izskatās arī PowerShell Server, bet to neesmu izmēģinājis.

 

 

 

Jā, es gribu attālināti palaist OpenGL appu uz fiziskā ekrāna.

Vari apsvērt variantu uztaisīt servisu, kas visu menedžē. :)

Ar šādu kodu (ir pārbaudīts) no servisa var palaist GUI programmu aktīvajā fiziskajā sesijā (monitors, klaviatūra, pele):

http://stackoverflow.com/questions/564829/launching-a-net-winforms-application-interactively-from-a-service

Link to post
Share on other sites

windows sheduled tasks var ieplānot programmas palaišanu, norādot, ka tai jādarbojas konkrētā kontā X un ka lietotājam jābūt ielogojušamies.

Tad programma palaidīsies tajā kontā, kas tiek rādīts uz ekrāna.

 

windows mašīnu var lieliski kontrolēt ar remote desktop. Ja 200kpbs drāts ir, tad lietas notiksies.

  • Patīk 1
Link to post
Share on other sites
Jau augstāk minēju, ka aplikācijai uzrakstīju arī CLI versiju, bez GL konteksta un zīmēšanas loģikas, kalkulācijas tad uz CPU. Tā arī griezīsies 100% no laika.

 

GUI versija ir "kalibrācijai", settingu salikšanai un tad pats būšu novietnē. Tomēr, kaut kas var noiet greizi vēlāk, tāpēc attālinātai vizuālai debugošanai, lai nav jālido 2k km, tā GUI palaišana tāpat būs vajadzīga. Tad tam iekš MSW lai iet RD/TeamViewer.

 

Shedulēšanu iznesīšu ārā no datora, šis dators tikai klausīsies signālus un attiecīgi reaģēs.

 

Visa automatizācija jau ir uzrakstīta un nekas no šī nebūtu aktuāls, ja Debian+dzelži neviltu. Tagad kārti lieku uz diviem variantiem - ssd trim gļukiem vai viiisdrīzāk pcie USB kontrolieru kartēm, kas datorā saspraustas līdz ūkai. Vai vienkārši heisenbugs, kas ir sāpīgi. Nu, ja varēšu replicēt uz Debian tagad problēmu un neatradīšu risinājumu un arī pēc pārnešanas uz Fedoras arī gļuki nepazudīs, tad, lai kā nepatiktu ;), būs jāiet ar MSW. Tad varbūt parādīsies vēl kādi jautājumi.

 

Pagaidām paldies!

Link to post
Share on other sites

RD ir viena īpatnība, kas atkarībā no Tavām vajadzībām var arī būt problēma. Ja Tu esi ielogojies lokāli ar lietotāju X, un tad pieslēdzies caur RD ar to pašu lietotāju X, Tu dabon uzreiz jau atvērto sesiju. Kas ir jauki, bet uz lokālā ekrāna rādās "Computer locked, enter password". Un pēc tam, pat, ja atslēgsies no RD, tad uz lokālā ekrāna joprojām būs aizslēgts. Tāpēc, ja vajag, lai lokālais ekrāns vienmēr rādītu sakarīgu bildi, tad labāk TeamViewer.

Link to post
Share on other sites

tfu.

 

bet jā, 5Mbps ir pilnīgi pietiekoši priekš remotiem. Kādreiz tika lietots pat ar DSL upload. Lēni, bet pāris peles vēzieniem pilnīgi pietiek.

Edited by Admins
Link to post
Share on other sites
Grossmeister

 

 

lai nav jālido 2k km,

 

 

Ja tev tur tajā 2km attālumā ir tik slikts nets,

Liekas vienu "k" burtu nepamanīji - attālums tur līdz tam gala PC ir 2000 km. 

Link to post
Share on other sites
Zux

kroko

Atrodos:rīga / vīne /

Ja par šo runa, tad ~1300 km, bet kāda tur šķirba.

 

 

 

TeamViewer .. vienlaicīgi var strādāt gan lokālais lietotājs, gan attālinātais.

Paga, pa peli un klavu vienlaicīgi katrs savu sist jau nevar un bildi redzēt?

Link to post
Share on other sites
Inspektors Caps

 

 

Paga, pa peli un klavu vienlaicīgi katrs savu sist jau nevar un bildi redzēt?

VNC, DameWare MRC un citiem točno var.

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...