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 (avsnitt 5 nedenfor).

Hvis man er villig til å utsette seg for litt teknisk fikling, er det også mulig å benytte seg av Farmens web-grensesnitt (avsnitt 7 nedenfor).

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 finner vi blant andre:

  1. remmina: et grafisk program. Anbefalt.
  2. xfreerdp: et kommandolinjeprogram.
  3. rdesktop: et kommandolinjeprogram.
  4. grdesktop: et grafisk skall for rdesktop.
  5. 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. Det gjelder dermed også for grdesktop. rdesktop er henlagt og forlatt av utviklerne.

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.

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 valgt /home/olavgun. 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.
  • Se på bildet hvor du krysser av for å gjøre den lokale skriveren tilgjengelig i fjernsesjonen. Dette forutsetter at du på Linux-pcen din har satt opp en foretrukket lokal skriver i CUPS.
  • Sikkerhet settes til Forhandle, da velger serveren sikkerhetsmodus for deg.
  • 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 klå, 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 øverst. 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.

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 startskjermen.

Startskjermen erstatter den startmenyen vi kjenner fra Windows 7. Vi ser at det ligger noen få fliser vi kan trykke på for å starte programmer.

Ved å trykke på det feltet som er merket "Desktop" kommer vi tilbake til skrivebordet. I figuren vises dette feltet som sort, men vanligvis skal det ha en oransje farge.

Nederst til venstre på startskjermen ser vi en hvit ned-pil i en hvit sirkel. Ved å trykke på den får vi opp en skjerm som viser alle tilgjengelige programmer på Farmen. Det tilsvarer "Vis alle programmer" i startmenyen i Windows 7.

Her er det bare å velge og vrake i Farmens rikholdige utbud!

Vi ser at pila i den hvite sirkelen nå peker oppover. Trykker vi på den nå, kommer vi tilbake til den mer begrensede startskjermen.

Logge ut #

startskjermen vil du se navnet ditt øverst til høyre, ved siden av en "Av"-bryter. 

Du logger ut ved å trykke på navnet ditt øverst i høyre hjørne og velger logg ut/Sign out.

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.)

I Ubuntu 16.04 har jeg ikke fått viderekobling av lokal disk til å virke. Ved nedlasting av kildekoden til xfreerdp og kompilering av en nyere utgave enn den freerdp-x11 som følger med Ubuntu 16.04, fungerte alt greit. Remmina var det ikke noe å endre på.

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.

Finne og legge til egne programmer på startskjermen #

Når du har logget deg inn og den flislagte startskjermen har åpnet seg, kan du søke etter programmer ved å skrive programnavnet på tastaturet. Det kommer nå opp et felt hvor du ser hva du har skrevet. Det foretas et såkalt inkrementelt søk, det vil si at for hver bokstav du skriver inn, listes de programmene opp som begynner med disse bokstavene. F.eks. så vil w lage en liste med alle programmer som begynner på w, og wo alle som begynner på wo osv. 

  • Skjermbildet under: slik ser det ut etter å ha skrevet Clue. Trykk på Clue for å starte programmet.

Når denne skjermen er slik, kan du også høyreklikke på ikonet/navnet. Du får da opp en meny som spør om du vil feste dette programmet til oppgavelinjen eller til start­skjermen. Dette vil bli lagret i profilen din på den farmen du er inne på, slik at Clue viser seg som en flis i startmenyen, eller et ikon på oppgavelinjen i skrivebordet også neste gang du logger deg på dette farm-skrivebordet.

Dette gjelder også når du er inne på skjermen "Alle applikasjoner":

Her ser vi at jeg har lagt til Clue på startskjermen:

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.
  • startskjermen finner du flisa for kontrollpanelet:

Klikk på det. I kontrollpanelet velg Enheter og skrivere.Evt. Maskinvare->Enheter og skrivere, hvis ikke kontrollpanelet viser Enheter og skrivere direkte.

Dette panelet blir da tilgjengelig:


Trykk på tekstfeltet "Legg til en skriver". Du får da opp et dialogvindu (ikke vist her), som sier "Finner ingen skrivere". Nederst i vinduet trykkere du på "-> Skriveren jeg vil ha er ikke listet".  Og så på "Neste". Du kommer hit:

 

Skriv inn

\\followprint.win.ntnu.no\

Det er viktig med den avsluttende bakoverskråstreken. Da får du opp ei lang liste med NTNU-skrivere. Velg en som befinner seg nær deg.

 Ved å trykke "Neste" i "Legg til skriver" får du opp et dialogvindu som sier at skriveren er lagt til. Du får tilbud om å krysse av for "Angi som standardskriver".  Hvis du gjør det, blir dette standardskriveren din på dette farm-skrivebordet. Dvs. skrivervalg foretatt på officefarm gjelder på officefarm og ikke på adminfarm.

Bilde under: Kontrollpanel - Maskinvare - Enheter og skrivere: Her er ntnuprint-ricoh valgt som standardskriver i windowsprofilen min på adminfarm.

 

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 fra Orakel eller noen annen 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  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 medioker 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 opsjoner.

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 linuxPC.

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.

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 er for umodent til at sømløs kjøring fungerer stabilt. Artig å prøve, ikke noe å bruke.

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 chown 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 editeres 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.

Kontakt #

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

50 Vedlegg
22090 Visninger
Gjennomsnitt (3 Stemmer)