Wikier

Programfarm

Programfarm med Linux

Den enkleste måten å bruke programvarefarmen på fra Linux er å åpne den som eksternt skrivebord.

Men det er også mulig å kjøre enkeltprogrammer fra Farmen uten å åpne hele skrivebordet (punkt 5 nedenfor).

Hvis man er villig til å utsette seg for litt teknisk fikling, er det også mulig å benytte seg av Farmens web-grensesnitt (punkt 7 nedenfor).Dette kan gjøres enten ved å starte programmet på farm.ntnu.no og kjøre det gjennom din forvalgte RPD-løsning eller ved å fjernstyre i nettleseren (punkt 8).

English version - Software Farm for Linux

Temaside om programvare | Sider merket med programfarm

Programfarmen: 6 forskjellige skrivebord

Programvarefarmen har for tiden 6 eksterne skrivebord:

Eksternt skrivebordHvem det skal brukes av
adminfarm.ntnu.no NTNU-ansatte. Ikke ansatte ved randsonebedrifter.
officefarm.ntnu.noStudenter ved NTNU. Ansatte ved randsonebedrifter: Sintef, Uninett, NTNU Samfunnsforskning o.l. Også tilgjengelig for ansatte ved NTNU med studentkonto.
calcfarm.ntnu.noStudenter og ansatte ved NTNU som har bruk for vitenskapelig programvare og programmer som krever stor regnekraft.
legacyfarm.ntnu.noAdministrativt ansatte ved NTNU som har bruk for de foreldede grensesnittene som NTNUs regnskapsprogrammer krever: Eldgammel Internet Explorer og eldgammel java.
kavlifarm.it.ntnu.noKavliinstitutt for nevrovitenskap
devfarm.ntnu.noStudenter og ansatte som har bruk for utviklerprogramvare som f.eks. Visual Studio

adminfarm og officefarm og har vi alle Office-programmene, og et rikholdig utvalg av kontorverktøy,

calcfarm har vi et rikholdig utvalg matematikk-, statistikk- og andre tallbehandlingsprogrammer.

  • Du kan åpne begge skrivebordene på din egen PC, enten i et vindu eller i fullskjerm. Derfra kan du kjøre de programmene som ligger der som om de befant seg på din egen PC.
  • Du vil få en felles utklippstavle for din egen PC og fjernsesjonen, og du kan lagre programmene på nettdisken din (hjemmeområdet M:).
  • På visse betingelser har du også din egen lokale disk og printer tilgjengelig i fjernsesjonen.

Klientprogrammer for eksternt skrivebord

I de forskjellige standarddistribusjonene av Linux finnes det mange programmer for å koble seg til et eksternt skrivebord. I Ubuntu 16.04, som ble brukt for å lage og teste denne guiden, finner vi blant andre:

  1. remmina: et grafisk program. Anbefalt.
  2. xfreerdp: et kommandolinjeprogram.
  3. rdesktop: et kommandolinjeprogram.
  4. vinagre: et grafisk program.

Anbefalt: Remmina er i konstant vedlikehold og utvikling, har et brukervennlig grensesnitt og har flere opsjoner for tilkobling enn alternativene. Remmina (>=1.0) er et grafisk skall rundt xfreerdp, som også er i konstant utvikling.

rdesktop klarer ikke å viderekoble lokal disk mot programfarmen. rdesktop er henlagt og forlatt av utviklerne og må med det anses som utgått.

vinagre ser ut til å være konstant vedlikehold og i utvikling. Men mangler opsjoner for viderekobling av lokale ressurser. Virker helt fint, men er ikke på høyde med remmina.

Remmina - grafisk klient mot eksternt skrivebord

Bruk din favorittmetode til å installere pakkene "remmina" og "remmina-plugin-rdp" fra din linuxdistribusjon, og start opp:

Farm_LInux1

Når remmina er startet, trykker vi på Ny-ikonet på verktøylinen.

Bilde som viser hvor man trykker for å legge til en ny tilkobling

Da får vi opp dette panelet:

  • Gi forbindelsen et navn, f.eks. officefarm.
  • Velg RDP som Protokoll, og fyll ut adressen. Her har vi valgt officefarm.ntnu.no.
  • Så er det brukernavn og passord. Domain skal være win.ntnu.no.
  • Share folder lar deg velge hvilken mappe fra den lokale disken på din PC du vil viderekoble til det eksterne skrivebordet. Her er Documents valgt. Det er mulig å velge hele filsystemet.
  • Sett Fargedybde til max, det er ingenting å spare på med moderne bredbånd.

Velg fanen Avansert, og få opp dette panelet:

  • Sett Kvalitet til Høyeste kvalitet (treigest). Det er ikke noe problem med moderne bredbånd.
  • Dersom du scroller lengre ned har du noen ekstra valg som kan være aktuelle. For eksempel er gjør den lokale skriveren tilgjengelig i fjernsesjonen allerede haket av for. Dette forutsetter at du på Linux-pcen din har satt opp en foretrukket lokal skriver i CUPS. Det er ikke nødvendig å endre på andre innstillinger enn de som er vist i bildene for å kunne koble til og bruke programfarmen.
  • Sikkerhet settes til Forhandle, da velger serveren sikkerhetsmodus for deg.
  • I feltet for RD Gateway server legger du til rdgateway.it.ntnu.no og pålogginsinfo på lik form som i stad. Det gjelder da ditt NTNU-brukernavn og NTNU-passord og domene skal være win.ntnu.no som tillater deg å logge på programfarmen fra utenfor NTNU.
  • Remmina lagrer oppsettet når du trykker Koble til, men det er selvfølgelig også mulig å bruke Lagre-knappen.

Første gang du kobler deg til Programfarmen, får du et spørsmål om å godta sertifikat. I bildet ser vi at dette også gjelder hvis serveren har endret sertifikat siden sist du koblet deg til.

Ved problemer med sertifikater, kan du gå inn i mappen /home/<ditt_brukernavn>/.config/freerdp på din lokale linuxPC og lete, for å se om det er noen hjelp i.

Bruken av det eksterne skrivebordet

Nå skal det eksterne skrivebordet åpne seg i et vindu på din lokale PCs skrivebord.

Vi ser remminas verktøylinje til venstre. På denne verktøylinjen kan du velge mellom fullskjerm eller vindusmodus (som her), og mellom forskjellige, samtidig åpne fjernsesjoner.

Det er skrivebordet på programfarmen som utgjør bakgrunnen når programmer kjører.

Et tips kan være å velge dynamisk skjermoppløsing som vist i bildet under og å få Remmina til å fange opp alle tastetrykk for å unngå enkelte problemer med tastaturkombinasjoner og lignende.

Startskjermen

Nederst på programfarmens skrivebord ser vi en verktøylinje, og lengst til venstre på den, et hvitt Windows-symbol.

Ved å trykke på dette symbolet får vi opp startmenyen.

Her er det bare å velge og vrake i NTNU programfarms rike tilbud!

Logge ut

Du logger ut ved å høyreklikke på Windows-ikonet nederst i venstre hjørnet og ved å velge "Sign out". Dersom du velger disconnect i Remmina blir du ikke logget ut og sesjonen din kan gjenopptas senere. Merk at det ikke er sikkert at sesjonen din vil bli bevart for alltid grunnet oppdateringer på Farm og lignende. Lagre arbeidet ditt med jevne mellomrom.

Utklippstavlen

Du kan klippe og lime mellom programmer som kjører i fjernsesjonen og de som kjører lokalt på din egen PC.

Tilgjengelige disker

Ved å åpne Filutforsker og så Data­mas­kin, vil du se om viderekob­lingen av din lokale disk eller map­pe har vært vel­lykket. Den lokale disken på din Linux-PC vil vise seg under Annet. (Her ser vi at min lokale mappe /home/olavgun er viderekoblet til fjernsesjonen som olavgun på oglinvirt.)

Bruker­pro­filen din på win.ntnu.no vil ha sør­get for at nettverksdisken din (Hjemmeområdet (M:) på figuren) og andre ressur­ser er koblet opp. Hjemmeområdet (M:) er identisk med: hjemmeområdet\brukernavn

Farm_LInux4

Her er Filutforsker - Datamaskin åpnet, og ser at profilen vår i win.ntnu.no har koblet opp nettverksdiskene mine K: og M:, og at Remmina har koblet opp mappen /home/olavgun på lokal PC.

Legg til en skriver i windows-profilen din

  • Det er mulig å sette opp en skriver nær deg i den eksterne desktopen, noe som vil bli lagret i profilen din til neste gang du logger deg inn på dette fjernskivebordet. Skrivere som er lagt til i ett skrivebord er ikke tilgjengelig i et annet: skrivere lagt til i officefarm er ikke tilgjengelige i adminfarm og omvendt.
  • Trykk på Windows-ikonet nede i venstre hjørne og søk etter Run. Du får ikke opp et søkefelt, men om du starter å skrive starter søket automagisk. Dersom det ikke gjør det, åpne startmenyen på nytt og forsøk igjen. Start Run og skriv
    followprint.win.ntnu.no\ og velg deretter OK. Du får nå opp et vindu med allment tilgjengelige skrivere på NTNU-campus. Den skriveren som du finner flest av er ntnuprint-ricoh. Defor burde du koble til denne og bruke den for å skrive ut det du ønsker. Høyreklikk på NTNU-Print og velg Connect... du skal da ha skriveren ntnuprint-ricoh tilgjengelig når du ønsker å skrive ut noe. Når du skriver ut til ntnuprint-ricoh kan du hente det på hvilken som helst skriver på NTNU-campus og den skrives ikke ut før du går fysisk bort til skriveren og scanner kortet ditt. For mer informasjon, se veiledningen vi har laget for utskrift på Windows. Legg merke til at skrivere du legger til på dette desktopet ikke blir med til andre desktop. Eksempelvis vil ikke en skriver lagt til på officefarm.ntnu.no kunne bli brukt på calcfarm.ntnu.no før du legger den til på nytt.

Endre språk på det eksterne skrivebordet

Fra startskjermen åpne kontrollpanelet.

I kontrollpanelet velg "Språk", og du kommer hit. Språkvalgene får ikke effekt før du har logget ut, og så logget inn på nytt.

Hvis språket du ønsker ikke vises her, trykk på "Legg til et språk" og du får en pletora av babelsk forvirring å velge i:

Kjøring i sømløs modus med Remmina

Hvis du vet navnet på programmet du ønsker å starte i fjernsesjonen, kan du starte programmet direkte på ditt lokale Ubuntu-skrivebord, som om det kjørte helt lokalt. Det vil si: det kjører i et Remmina-vindu, men uten at resten av det eksterne skrive­bordet er tilgjengelig. Ved å tilpasse størrelsen på Remmina-vinduet ser det nesten ut som en lokal kjøring av programmet. Ved å skrive WINWORD i Startup program starter word direkte, uten bruk av eksternt skrivebord

For andre programmer viste det seg at det var nødvendig å ta med hele filbanen til programmet. F.eks. for Clue:

"C:\Program Files (x86)\Clue10\Clue.exe"

Bruk av kommandolinjeprogrammet XFreeRDP

For den teknisk klåfingrede

Alt herfra til slutten av dette dokumentet gjelder for den teknisk klåfingrede. Du får ikke hjelp eller støtte fra Orakel eller NTNU til dette.

Koble til Programfarmens skrivebord

Remmina bruker programbibliotekene til FreeRDP. Men det er også mulig å bruke FreeRDP direkte, som kommandolinjeprogram.

Pakken heter freerdp-x11. Velg den i din favoritt blant pakkeinstallatørprogrammene, eller fra kommandolinjen med f.eks apt install freerdp-x11. Selve programmet heter da xfreerdp.

I sin enkleste form starter du det ved å skrive på kommandolinjen:

dittlinuxprompt:> xfreerdp /u:<ditt_brukernavn> /d:win.ntnu.no /v:officefarm.ntnu.no

Du får opp det eksterne skrivebordet i et relativt lite vindu, og med så-som-så grafikk.

Et mer omfattende eksempel:

olavgun@oglnxprivat:# xfreerdp +clipboard /size:1570x1165 +fonts +decorations +window-drag +menu-anims /sound:sys:alsa /printer:PDF  /drive:MyPCDocuments,//home/olavgun  /d:win.ntnu.no  /u:olavgun /v:adminfarm.ntnu.no
  • Størrelsen på vinduet setter du med /size:wxh
  • Antialiasede fonter får du med +fonts
  • Andre forskjønnende Windows-elementer med +decorations +window-drag +menu-anims.
  • Lyd fra det eksterne skrivebordet blir sendt tilbake til din linux-pc med /sound:sys:alsa, hvis det er ren alsa som er lydsystemet ditt.
  • Din lokale CUPS-oppsatte printer blir viderekoblet til farmen med /printer:<printernavn i CUPS>.
  • /drive:<synlig_navn_i_Farmen>,<diskområde på linux-PCen din>, gjør mapper eller disker på din lokale PC tilgjengelige i Farmen.

Se "xfreerdp --help" for alle muligheter med denne kommandoen.

Kjøring av programmer i sømløs modus

Med "sømløst" menes at programmet oppfører seg nøyaktig som om du kjører det på din egen PC. Altså intet eksternt skrivebord, kun programmet på Programfarmen som kjører som om det var et lokalt program på din linux-PC. Dokumenter du lagrer blir lagret på hjemmeområdet ditt med mindre du har valgt å dele en mappe på din vertsPC som ved en remote desktop-tilkobling.

Det gjøres ved å skrive /app:"||<programalias>" som kommandolinjeopsjon til xfreerdp. Med programalias menes en snarvei til programmet som drifterne av Programfarmen har satt. Teknisk betyr dette at programmet er lagt inn i windows-registeret på serveren som et program som det er tillatt å fjernkjøre. Eksempelvis WINWORD - Microsoft Word.

dittlinuxprompt:> xfreerdp +clipboard /size:1570x1165  +fonts +decorations /d:win.ntnu.no  /u:olavgun /v:adminfarm.ntnu.no /app:"||WINWORD"

Denne kommandolinjen resulterer i at Word på Programfarmen kjører på min linux mate-desktop, slik:

Her kan man prøve seg fram med andre programaliaser, f.eks. "||OUTLOOK", "||NOTEPAD". Ifølge dokumentasjonen for xfreerdp skal det også være mulig å skrive programnavnet direkte, men da uten de to loddrette strekene, og med hele programnavnet, f.eks. /app:"WINWORD.EXE". Men det har jeg ikke fått til å virke.

Dessverre viser erfaringen at xfreerdp i den versjonen som er pakket for Ubuntu 16.02, som ble brukt for å lage og teste denne veiledningen, er for umodent til at sømløs kjøring fungerer stabilt. Artig å prøve, ikke noe å bruke. Dette burde være problemfritt i nyere utgaver av distribusjonen og pakkene.

Men den dristige kan laste ned master-branch av kildekoden og kompilere den selv, og da virker også sømløs modus helt fint: https://github.com/FreeRDP/FreeRDP

Skript for enklere bruk av xfreerdp

officefarm.zip

Noen har laget et skript som sjekker noen standardinnstillinger på PCen det kjører på, setter visse andre standardinnstillinger til xfreerdp, spør brukeren om brukernavn og passord, lager en lang kommandolinje til xfreerdp av dette og setter det hele i gang: åpner det eksterne skrivebordet i et vindu på linuxskrivebordet ditt.

Skriptet heter officefarm, og tar én parameter, som kan være enten "-office", -"admin" eller "-calc", alt ettersom hvilken av disse tre farmene du ønsker å koble deg til.

Pakk ut skriptene til /usr/local/bin

Pakken inneholder tre filer:

  • officefarm
  • rconnect
  • rdpwrap

Sett chmod 755 på alle tre, selv om det bare er officefarm vi skal bruke nå. rdpwrap og rconnect er skript som muliggjør bruken av programfarmens webgrensesnitt (se nedenfor).

Ved å skrive "officefarm -admin" på kommandolinjen, vil det komme opp noen spørsmål om brukernavn og passord, samt om viderekobling av lokal disk til fjernsesjonen. I tillegg sjekker skriptet om du har definert en standardskriver i CUPS, og vil i såfall viderekoble den til fjernsesjonen. Ønsket vindusstørrelse på fjernsesjonen er satt i skriptet og kan redigeres der. Til slutt vil skriptet åpne den valgte Farmens skrivebord i et vindu på linuxdesktopen din:

Her har vi åpnet filbehandleren på Windows-skrivebordet, trykket på "This PC", slik at vi ser at "MyPCDocuments" fra linux-PCen min er viderekoblet til fjernsesjonen.

Bruk av xfreerdp mot Programfarmens webgrensesnitt

Den enkleste måten å bruke programfarmen på fra Windows, er å åpne programfarmens webgrensesnitt i Firefox eller MS-Edge (se Programfarm med Windows).

Som en religiøs tilbeder av linux-guden Ubuntu, er noen fornærmet over at dette ikke funker i linux, og som teknisk klåfingret, men likevel ikke så veldig dyktig, ønsker noen å gjøre noe med det.

Ved å skrive "farm.ntnu.no" i Firefox adressefelt, og deretter oppgi brukernavn og passord for win.ntnu.no, vil man bli servert denne siden:

Det som skjer når man trykker på et programikon, f.eks. "Word 2013 [A]", er at ei fil med ekstensjonen *.RDP blir lastet ned til /tmp/.mozilla. Første gang man gjør dette med Firefox, vil Firefox spørre hvilket program som skal brukes til å åpne RDP-fila.

Nå viser det seg at Remmina ikke klarer det.

xfreerdp klarer å åpne fila.

Men:

a) Den vil ta for gitt at brukernavnet som du ønsker å logge deg på med, er det brukernavnet du er logget på din lokale linuxPC med.

Og:

b) Den vil spørre etter passord og domene på stdout og håper å lese dem fra stdin. Og du har ikke noe skall åpent når du kaller xfreerdp fra Firefox, hverken til å se spørsmålene eller for å gi inn dataene.

Hvis man oppretter en bruker med samme navn som brukeren din på win.ntnu.no og forsøker å åpne den nedlastede rdp-fila med xfreerdp i et terminalvindu, går det bra.

xfreerdp tar brukernavnet for gitt og spør etter domene og passord. Deretter åpner programmet, i dette tilfellet Word, seg sømløst på linuxdesktopen.

Noen muligheter blir nå tenkbare://

Alternativ 1 (urealisert)

Å la Firefox åpne et kommandolinjeskall, som starter xfreerdp, lar xfreerdp ta inn dataene fra RDP-fila, og til slutt lar brukeren oppgi domene og passord, som i eksemplet over. Ulempen er at xfreerdp sjekker brukernavnet du er logget inn på klienten med, slik at du er nødt til å ha likelydende brukernavn på PCen og på win.ntnu.no. Dessuten lå dette utenfor en eller annens tekniske kyndighet.

Alternativ 2 (foreldet)

Å la Firefox åpne et skall som kjører et skript som oversetter innholdet i rdp-fila til kommandolinjeopsjoner til xfreerdp. Blant disse opsjonene er også brukernavn, domene og passord. Skriptet kaller så opp xfreerdp med disse kommandolinjeopsjonene, og det eksterne skrivebordet kommer opp å kjøre.

Fordel: a) lar seg realisere selv med noens tekniske ukyndighetsnivå, og b) brukernavnet på win.ntnu.no oppgis til skriptet.

Disse skriptene ligger i //officefarm.zip //(se ovenfor). Pakk ut skriptene f.eks. i /usr/local/bin og sett chmod 755 på dem. Det vi trenger fra zip-fila er rdpwrap og rconnect.

I Firefox, velg rdpwrap som hjelpeprogram for RDP-filer:

Rdpwrap åpner et terminalvindu og kjører skriptet rconnect. Rconnect spør deg om brukernavn og passord på win.ntnu.no, oversetter rdp-fila til kommandolinjeopsjoner for xfreerdp, sammen med opsjoner for viderekobling av lokal disk og standard skriver satt i CUPS.

Når rconnect starter xfreerdp på denne måten, kjører programmet du har valgt på Farmen i sømløs modus på linux-desktopen din, altså som om det var et lokalt program.

Bruken av skriptene har den fordel at du kan bruke en anerkjent og testet versjon av xfreerdp, nemlig den som er tilgjengelig gjennom din Ubuntu-distribusjon.

Alternativ 3 (best?)

Det tredje tenkbare alternativet er å utstyre xfreerdp med et grafisk sprettoppvindu som lar deg skrive inn brukernavn, domene og passord. Firefox starter xfreerdp direkte og xfreerdp behandler selv rdp-fila. Vi kan nå velge xfreerdp som programhjelper for RDP-filer i Firefox. Dette vågestykket har vår halvtamme programmør utført, som svart arbeid nattestid, i skinnet fra en blå måne, og laget en deb-pakke av det, som du får her:

freerdp-2.0.0-dev-gtklogin-1_amd64.deb

Vi gjør oppmerksom på at dette er hjemmekompilert fra en utviklingsversjon av xfreerdp, og at den dermed ikke har gjennomgått den grundige testing som er gjort på de pakkene som følger med Ubuntu. NTNU-IT tar intet ansvar for bruken av denne pakken! Det gjør heller ikke den svært anonyme pakkeprodusenten.

Du må ikke installere denne på maskiner som kjører 32-bits Linux! Ligg unna hvis du ikke er rede til selv ene og alene å ta ansvar for eventuelt datatap og andre ulykker som kan følge av å installere og bruke denne pakken!

Du kan laste ned pakken og installere den, f.eks. ved å skrive dpkg -i xfreerdp-2.0.0-dev*.deb på kommandolinjen.

Programmet installerer seg under /usr/local, og kommer slik sett ikke i konflikt med offisielle freerdp-installasjoner. Men vær oppmerksom på at filbanen din vanligvis er satt opp slik at /usr/local/bin blir søkt før /usr/bin, slik at andre programmer, f.eks. Remmina, som bruker xfreerdp og dets biblioteker, nå vil finne den tvilsomme installasjonen først, og benytte seg av den.

I Firefox, set /usr/local/bin/xfreerdp som hjelpeprogram for RDP-filer. Dvs. naviger deg fram til programmet i nettopp denne mappa, slik at du er sikker på at det er den mekka utgaven som startes.

Åpne farmens webside farm.ntnu.no i Firefox og logg deg inn. Klikk på et programikon, eks. Word. Det hjemmesnekrede sprettoppvinduet for å skrive inn brukernavn, domene og passord spretter opp.

Fyll ut, trykk på OK, og Word skal i prinsippet kjøre i sømløs modus på ditt Ubuntu-skrivebord.

Programfarm i nettleseren

Man kan også kjøre programfarmen i nettleseren, uten noe programvare installert. Det kreves en nettleser som støtter HTML5, men det gjør de aller fleste nettlesere. Merk at dette ikke fungerer like sømløst som å koble til et eksternt skrivebord som vist i de første punktene. Likevel er det en installasjonsfri måte å kjøre programmer ellers kun tilgjengelig på Windows/Mac eller programmer som krever mer regnekraft enn man selv har tilgjengelig.

Kontakt

Orakeltjenesten kan hjelpe deg om du har spørsmål eller opplever problemer.

6546 Visninger