Hvordan lokalt display ved remote X11

alt om grafiske brukergrensesnitt (GNOME, KDE, osv.), applikasjoner tett knyttet til disse og multimedia.

Hvordan lokalt display ved remote X11

Innleggav KMJ » tor 22.01.2009 21:26

Jeg har en GUI applikasjon som kjører på en annen PC enn den som jeg jobber fra. Denne PCen har sin egen skjerm hvor en bestemt applikasjonen kjøres. Når noe skal gjøres på maskinen bruker jeg ssh med X, og kjører andre applikasjoner på min lokale skjerm. Så langt er alt vel og bra.

Problemet mitt er at av og til må den applikasjonen som kjøres på skjermen koblet til maskinen startes på nytt. Når jeg gjør det så starter applikasjonen med displayet på min skjerm og ikke på remote maskinen. Mister jo li av poenget med fjernstyring når jeg må bort til den andre maskinne for å starte programmet.

Hvordan kan jeg starte en applikasjon slik a display prosessen blir på den lokale skjermen, og ikke i min remote X-session?

Erfaren
medlem i 219 måneder
 

Re: Hvordan lokalt display ved remote X11

Innleggav terjejh » tor 22.01.2009 21:45

alt. 1) Fra ekstern skjerm:
Hvis du tar en ny terminal som root med 'ssh -X' og så 'ps -ef | grep <process>' og 'kill pidnr', burde du få kverket den prosessen som henger. Vil den ikke, så bruk kraftigere lut med 'kill -1 pidnr'. Alternativt til 'ps' fra kommandolinje, kan du eventuelt som vanlig bruker prøve en gui-monitor som '/usr/bin/gnome-system-monitor', noe som være nyttig visuelt for å finne prosessnavnet.

alt. 2) Fra applikasjons host
Gjør du dette fra PCen der applikasjonen kjøres, droppes 'ssh -X', og 'ps' og 'kill' kjøres i vanlig terminal som root.

Applikasjonen burde da kunne startes på nytt.

Erfaren
Brukerens avatar
medlem i 215 måneder
 

Re: Hvordan lokalt display ved remote X11

Innleggav KMJ » tor 22.01.2009 22:23

TYakk for svar, men den biten er ikke noe problem. Drepe prosesser er ikke noe problem, er kjent for å ofte benytte den store hammeren, kill -9 ;)

Problemet mitt er når jeg jobber med 'ssh -X' eller Xming(Hender jeg må bruke undermåls os også), og starer programmet på nytt så popper vinduet opp på min skjerm. Ikke på den andre maskinen der jeg gjerne vil ha det.

Erfaren
medlem i 219 måneder
 

Re: Hvordan lokalt display ved remote X11

Innleggav TO » tor 22.01.2009 22:30

Hva med noe slikt, magien vil ligge i å sette korrekt DISPLAY-verdi:
$ env export DISPLAY=.... programstart
medlem i 212 måneder
 

Re: Hvordan lokalt display ved remote X11

Innleggav terjejh » tor 22.01.2009 23:02

Jeg er ennå ikke helt sikker på hvordan og hvilke os du kjører i hver ende, Linux/Linux eller Linux/Windows, evt. med X11

Med NX kan man få bedre ytelse og hele den eksterne Linux desktoppen displayet, enten man kjører NX klient på Linux eller Windows.

Utover X display variabelen som nevnt av TO, er det kanskje mulig å konfigurere visning av eksternt skrivebord. Eventuelt er det mulig å konfigurere dual X display(?)

Erfaren
Brukerens avatar
medlem i 215 måneder
 

Re: Hvordan lokalt display ved remote X11

Innleggav KMJ » fre 23.01.2009 0:01

Det er alltid Linux i andre enden og alltid X11, men hva jeg kjører lokalt er avhengig hvilket operativsystem jeg tilfeldigvis jobber med til en vær tid.

Jeg er ikke inntereser i og har heller ikke behov for å kjøre hele deskopen på remote. For det meste går det i terminal, og muligens en eller to gui applikasjoner fra som kjøres remote. Dette går kjempefint med å kjøre vanlig X11 på remote, ytelsen er ikke noe problem. Sette opp noe i tilegg til X, som NX, blir bare ekstra arbeid uten noen særlig gevinst. Remote biten er ikke noe problem.

Det jeg trenger er en måte å kunne starte applikasjoner til kun å kjøre på den andre maskinen , uten å måtte gå til den og starte det der.

Jeg hadde en anelse om at det kan gjøres med å bruke X display variabelen. Men hvordan finner man korrekt DISPLAY-verdi og hvordan blir den "magiske " commandoen :-)

Erfaren
medlem i 219 måneder
 

Re: Hvordan lokalt display ved remote X11

Innleggav terjejh » fre 23.01.2009 0:34

Litt forskjellig syntaks i forskjellige shell miljø.
Egentlig har jeg bare brukt csh syntaksen fra Solaris
'setenv DISPLAY alfa:0.0'

Jeg har vært borti tilfeller at gui applikasjoner ikke vil displayes lokalt, og bør derfor lære tilsvarende på Linux..

For displaying på local (X server) host er det nok å sette 'DISPLAY=:0'
For å eksportere til ekstern display (Xserver), tilføyes enten 'ip-adr:0' eller 'maskinnavn:0'

http://support.objectplanet.com/esuppor ... ticleid=17

EDIT 1
Dvs. kommandoen for displaying på samme maskin som applikasjonen (og Xserveren) kjører, bør bli den samme enten man sitter lokalt på den maskinen eller er innlogget eksternt fra en annen maskin med kun 'ssh' (da uten -X)
Kode: Merk alt
DISPLAY=:0 applikasjonsstart

(Men jeg er ennå usikker - hvis jeg har forstått deg riktig, hvorfor du skal restarte applikasjonen fra ekstern innlogging og displaye på en annen maskin enn der du sitter)

TILLEGG

Du vet best hva ditt eget behov er. Men jeg kan nevne at jeg bruker både 'ssh -X' og 'NX' for ekstern oppkopling. 'ssh -X' går an på lokalnettet og for helt enkle gui ting over Internett/ADSL (enkelttilfeller). Når man har behov for respons mht oppstarttid og interaktiv bruk i noe tyngre, grafiske applikasjoner over ADSL, blir NX et langt triveligere miljø å jobbe i, og er absolutt på høyde med rdp eller Citrix mot Windows.

NoMachine's frie NX server som jeg har installert, tillater to samtidige sesjoner, og de har NX klienter for Linux, Windows, OSX og Solaris. Normalt tar det en halvtimes tid å installere og sette opp. Inntil jeg fant ut hvordan det skulle gjøres, virket det noe uklart på serversiden, men egentlig er det enkelt. Community versjonen FreeNX (source fra NoMachine) følger som vel kjent fritt med eller er tilgjengelig for de fleste distroer. Den tillater flere (ubegrensede) antall sesjoner. Uten at jeg har prøvd den selv, har jeg likevel fått et inntrykk av den kan være noe vanskeligere å sette opp.

Og så det ikke ble misforstått; med NX er det like enkelt å starte og displaye enkeltapplikasjoner, om man ikke har behov for å jobbe på hele det eksterne skrivebordet.
Som eksempel viser jeg her hvordan jeg på min hjemmePC med NX Connection Wizard lager et oppstartikon på skrivebordet. Lokalt kjører NX klienten her på openSUSE 11.1, mens NX serveren og applikasjonen kjøres eksternt på virtualisert openSUSE 10.3 på kontoret.

NX oppstartikonet (her kalt 'suse-gimp') ved oppstart, spør kun om innloggingspassord til kontorserveren, logger inn der og starter automatisk Gimp, som så displayes lokalt på min PC. Over Internett bruker jeg OpenVPN som basis forbindelse under NX som alt annet. For NX kan man da praktisk bruke kontorets interne IP-adresser, og får en oppkopling som fungerer på en bærbar både internt på kontorets lokalnett (uten OpenVPN) og utenfra over Internett (med OpenVPN).

Bilde

Bilde

Bilde

En kort forklaring til det siste bildet over. Her vises to kjørende versjoner av Gimp: øverst/til høyre den tidligere versjonen som her kjøres eksternt på kontorets openSUSE 10.3, og nederst den nye Gimp versjonen kjørende lokalt på openSUSE 11.1

Her ellers en how-to hos NoMachine med en lokal Windows maskin som display eksempel
http://www.nomachine.com/step-by-step/p ... cation.pdf
Og her en link som forklarer virkemåte og forskjell mellom NX og standard X:
http://www.nomachine.com/documents/getting-started.php

Erfaren
Brukerens avatar
medlem i 215 måneder
 

Re: Hvordan lokalt display ved remote X11

Innleggav omaha » fre 23.01.2009 7:16

Fant en lenke som kanskje kan være av interesse:

http://www.novell.com/communities/node/ ... s-remotely
medlem i 204 måneder
 

Re: Hvordan lokalt display ved remote X11

Innleggav terjejh » fre 23.01.2009 13:48

Ja, nyttig link med flere interessante linker derfra igjen.

Oppkommende NOMAD fra Novell/Suse kan også være et interessant alternativ (X over RDP) med deres nye tsclient. Selv har jeg ikke hatt tid å teste Nomad, men har planer om ved første anledning
http://linux1.no/blogg/terjejh/3551/nom ... ebordsnytt

Erfaren
Brukerens avatar
medlem i 215 måneder
 

Re: Hvordan lokalt display ved remote X11

Innleggav KMJ » fre 23.01.2009 18:00

terjejh skrev:(Men jeg er ennå usikker - hvis jeg har forstått deg riktig, hvorfor du skal restarte applikasjonen fra ekstern innlogging og displaye på en annen maskin enn der du sitter)


Det er riktig.

I prinsippet kan du tenke deg at den andre maskinen er en informasjonsterminal, som brukes til å gi forskjellige beskjeder og ikke krever brukerinteraksjon.

Men takk for hjelpen, det fungerte utmerket når jeg over ssh -X kjørte
DIPSLAY=:0 nohup applikasjonsnavn &

Erfaren
medlem i 219 måneder
 


Returner til Skrivebord / Multimedia



Hvem er i Forumene

Registrerte brukere: Google [Bot]