Velge programvare arbeide eksternt fra din Linux Dev Station


I forrige artikkel ga jeg en oversikt over hvordan jeg har klart å gå mobil. I denne utgaven, kommer jeg til å snakke om programvaren jeg bruker på mine forskjellige enheter. Så i den tredje og siste avdrag, vil jeg forklare hvordan jeg setter opp mine Linux-servere, hvilken programvare jeg bruker, og hvordan jeg setter opp sikkerheten. Før du begynner, men jeg ønsker å ta opp et viktig poeng: Mens nedetid og familie tid er nødvendig én stor bruk for dette er hvis du har å gjøre mye av virksomheten reiser (som noen av dere klokt påpekte i kommentarfeltet!) , og hvis du er på vakt. Så fortsetter vår historie ...

Det er to aspekter til å jobbe med mine enheter: filbehandling og remoting programvare. Filbehandling, på sin side, har to deler til det: sky lagring og versjonskontroll. Jeg kommer til å beskrive dette kronologisk, så jeg begynte å sette opp programvaren i skyen på på mobil, hvilke problemer jeg traff, og hvordan jeg kom til en løsning som fungerer for nå.

Første oppsett og Cloud

Da jeg kom i gang med dette, hadde jeg bestemt meg for å holde filene mine i en sky-basert server. Jeg prøvde et par forskjellige dem, og kom til en veldig merkelig avgjørelse, som viste seg å være bare midlertidig før settling på Dropbox. På den tiden var jeg gjør mye av å skrive for en klient som var med Windows. De trengte mange dokumenter, og de brukte Microsofts cloud server kalt SkyDrive (som siden har blitt omdøpt til OneDrive). Jeg begynte å bruke det, og selv funnet en tredjepart Linux driver kalt Storage Made Easy. Selv om Storage Made Easy driver fungerte bra, Microsoft servicen var langt fra bra. Viktige filer ville bare forsvinne. Dette var uakseptabelt, selvfølgelig. Så jeg begynte å utforske andre alternativer. Jeg midlertidig byttet til et versjonskontrollsystem for mine skrive filer og generelt arbeid, men som viste seg å være overkill for bare dokumenter. Plus, ønsket jeg å dele noen av dokumentene med min kone og andre ikke-Teknologikyndige, og hun var ikke opp til læring git eller svn

Jeg hadde en viktigste kravet for hva cloud system jeg fant. Det måtte automatisk lagre filer som endret til skyen lagring. Mens han jobbet med kildekode krever en gjennomtenkt prosess med etterbehandling opp og sjekker inn filer, ønsker jeg ikke å huske å laste opp filene til kun daglige dokumenter.

Google Drive hørtes bra ... hvis du ikke bruker Linux plakater (grrrr! Alvorlig, Google?). Det er noen tredjepartsløsninger for bruk av Google Disk på Linux. Men før jeg prøvde ut tredjepartsløsning, kom jeg over UbuntuOne. Dette viste seg å være perfekt. Den hadde en fin mengde lagringsplass for dokumentene mine (5 gigabyte), og det gjorde akkurat som jeg trengte. Og det var gratis! Filer vil automatisk bli lagret på serveren, og da jeg åpnet dem fra en annen datamaskin ville de automatisk bli trukket ned. Jeg kunne også få tilgang til filene mine fra en hyggelig web-grensesnitt, som var en hendig bonus. Og for de gangene jeg måtte bruke Windows, de hadde en klient for Windows.

Bortsett UbuntuOne stengt. Grrr igjen!

Tilbake til tegnebrettet. Jeg hadde tidvis brukt Dropbox da de var fortsatt ny, og ikke huske at det er alt det flott, men jeg bestemte meg for å gi det et forsøk. Det viser seg at det er kraftig forbedret. Du må gjøre noen dumme ting for å få gratis ekstra plass (som laster ned deres Android-postklient), men jeg er spillet hvis det blir meg mer plass uten å betale. Og så nå er jeg bruke Dropbox og så langt det fungerer stort sett bra, bortsett fra én ting å utsette: Mens filer automatisk synkronisere på stasjonære datamaskiner (inkludert Linux og Windows), gjør Android-klienten ikke fungerer på den måten. Jeg forstår begrunnelsen; Android-enheter har ikke nesten plass og hvis du bruker 4 eller 5 GB lagringsplass, du egentlig ikke ønsker eller trenger å ha alle disse filene kopieres til enheten. Men det ville ha å gjøre for nå. Men en leser av den forrige artikkelen påpeke at jeg burde prøve Syncthing. Jeg vil gjøre det. Det finnes mange alternativer som fungerer hvis du ønsker å holde det på din egen server, som er en god idé.

Min kildekoden er en annen historie. At man er enkelt: Jeg bruker git. Noen av mine klienter bruke SVN, og som fungerer godt også. Sakte jeg fikk et sted. Min data skulle med meg. (Men noe av det som ble lagret i tredjeparts servere eid av Dropbox, som jeg måtte akseptere.) Nå på enhets apps.

Mobile Apps

I utgangspunktet ønsket jeg virkelig å finne innfødte Android-programmer. Alt dette kommer ned til én grunn: På den tiden hadde jeg bare en tablett, en 7-tommers Nexus 7 2013, og skjermen er ikke stor. Prøver å fjern til en server ved hjelp av VNC eller RDP er tungvint på en så liten skjerm. Men verre, prøver å peke og klikke bruker VNC ble raskt bli et mareritt. Mange av VNC apps som kreves jeg trykker i akkurat riktig posisjon til å klikke en bitte liten knapp på skjermen. Det fungerte bare ikke. Jeg fant til slutt en god remoting løsning, men ved første jeg virkelig ønsket å bruke native apps, fordi de rett og slett fungerte bedre på tavle i form av samspill gjennom å tappe og gester.

Men samtidig som brukervennligheten var bra, var det andre problemer. Først fikk de tekstbehandling apps ikke støtte for Open Office-formater, bare Microsoft-formatene, selv om mange av dem er faktisk ganske gode apps generelt. For mye arbeid, det er ikke et problem som mange av mine klienter brukte Microsoft-formater.

Jeg klarte å finne en app som heter Andropen Office. Dette programmet hadde nylig blitt sluppet, og på den tiden var det slags clunky. Siden den gang har utvikleren gjort store fremskritt, og det er ganske imponerende. Det er en full port av Openoffice til Android. Det kjører på en virtuell maskin portet til ARM-prosessor, og konseptet fungerer veldig fint. Men uansett hvor bra det er, bruker den på min lille 7-tommers tablet var vanskelig for samme grunn bruker VNC var: Appen bruker de tradisjonelle rulle stasjonære menyer og det er ekstremt vanskelig på en liten tablett. Men på et større tablett med et tastatur og mus, det er ikke et problem i det hele tatt. Og nå som jeg har oppgradert til nettopp en slik tablett, kan jeg begynne å bruke det igjen, forutsatt at jeg kan få Dropbox til å samarbeide.

Husk hva jeg sa tidligere om Dropbox ikke automatisk synkronisering på Android? Det viser seg å være en kongelig smerte når du bruker en Android-enhet hele dagen. Du må først laste ned filene og deretter lagre dem til et lokalt, og deretter åpne dem. Så når du er ferdig med å redigere dem, må du gå tilbake til Dropbox, og re-laste dem opp. Som kan fungere for noen mennesker, men med min nye livsstil spretter mellom enheter, som bare ikke klippe det. Som sådan, som stort sett ruinene mine anstrengelser for å bruke forskjellige innfødte kontor programvare på min tablet.

På dette punktet, ble jeg sittende fast. Ved hjelp av VNC gjorde egentlig ikke jobbe på grunn av den lille skjermen. Men kombinasjonen av innfødte tekstbehandlere og Dropbox klienten på tabletten ikke fungerte heller. Jeg innså da at den eneste måten å gjøre dette arbeidet vil være å gå VNC rute uansett, og gjøre to ting: Først sette opp en Linux server som jeg kan VNC inn fra hvor som helst. Og andre, finne en god Android VNC klient selv om det dreper meg.

Prøver å trykke på en liten skjerm og plassere en mus ble for vanskelig for meg. (Kanskje det fungerer for deg, men som jeg komme nærmere min 50 årsdag, jeg synes det er bare ikke så lett for meg lenger.) I stedet, trengte jeg en annen måte å være i stand til å styre musen fra min tablett. Det viser seg, etter at jeg så hardere, det var andre alternativer. Flere Android VNC-klienter bruker en styreflate stil for musefunksjonen, som jeg kort nevnt i forrige avdrag. Her er mer om det.

Når du drar fingeren til venstre på skjermen, musen beveger seg igjen. Bevege fingeren rundt bestemmer retningen musen beveger seg, ikke plasseringen, akkurat som en trackpad på en laptop. Og en ekstra bonus: Du kan knipe-og-zoom på VNC skjermen. Men en irriterende ting jeg fant var at noen VNC apps ville gjøre merkelige ting med irriterende popups for tilgang til kontroller, eller de ikke gi deg kontroll over komprimering og skjermen ville se rotete. Og med noen, den eneste gangen du kan skrive var da du åpnet opp litt popup-vinduet for å legge inn tastetrykk; du ville skrive tastetrykket og klikk på en knapp, og da ville det sende tastetrykk til VNC-server. For å skrive kode og dokumenter, som var et klart nei.

Men jeg fant noen som fungerte bra. Min favoritt er Remotix. Det er en gratis versjon og flere betalte versjoner, avhengig av hvilken type servere du logger inn. Jeg endte opp med å få en for å logge inn i både Linux via VNC og Windows via RDP.

Hvis du bruker iOS, er en veldig fin en JumpDesktop. Jeg faktisk likte at man bedre på iOS, bortsett fra Linux-versjonen ikke har styreflaten stil musekontroll, selv om iOS-versjonen gjør. Sørg for å prøve ut forskjellige dem basert på dine behov. Kanskje du er ok å peke i stedet for "trackpadding" som jeg gjør. Men vil du sannsynligvis vil ha en som gjør SSH tunneling. (Det er en vei rundt det, men: JuiceSSH, som jeg nevner senere, kan du sette opp en SSH tunnel rett på enheten Men Remotix, som jeg bruker, kan gjøre SSH tunneling selv..)

Så på dette punktet jeg innså at jeg trengte å bruke mine Linux-servere fra min tablett. For å teste ut dette, brukte jeg hele dagen jobber, bøyd over min 7-tommers tablet og en liten bluetooth-tastatur laget spesielt for nettbrettet. Det var en katastrofe. Jeg hadde en fryktelig hodepine på slutten av dagen fra øyet-stamme (se min kommentar tidligere om min alder) og tastaturet var så liten at jeg kunne knapt skrive på den.

Så jeg kjøpte en nyere tastatur , en bluetooth en fra Logitech laget spesielt for Android-enheter. Tastaturet fungerte bra, men skjermen var fortsatt for liten. Min idé var at hvis jeg må gå ut av byen for et par dager, vil jeg gjerne være i stand til å forlate min laptop hjemme og bare ta en tablett og tastatur, og denne skjermen bare ikke ville klippe det. Så jeg oppgradert til en 10-tommers tablet, og som har fungert for meg. Tabletten jeg fikk kom med et chiclet-tastatur, som jeg har blitt vant til, selv om min bluetooth tastatur fungerer også. Jeg kan også bruke en bluetooth mus (sørg VNC klient du velger inneholder det), eller bruke styreflaten er bygget inn i chiclet-tastatur, eller jeg kan ta på skjermen som jeg beskrev tidligere. Og dette oppsettet er lett og enkelt å reise med, og noe jeg kan stirre på hele dagen. Og jeg får 10 timer ut av batteriet. Ganske bra. Og hvis jeg ikke ønsker å ta dette oppsettet med meg (gjerne ut til middag hvis det er noe haster fra en klient), kan jeg bare ta mitt mindre Nexus 7, og bruker tastaturet og VNC på skjermen i. Det er ikke stor , men det lar meg gjøre noe arbeid hvis jeg må.

Ser ut og føles som en kraftig Linux-maskin

Så VNC det er, med Dropbox for mine dokumenter, og git for min kildekode . I neste avdrag, skal jeg vise deg hvordan jeg satt mine Linux-servere for enkelt å logge inn fra hvor som helst, selv fra min stasjonære arbeidsstasjon. Jeg vil også nevne hvor jeg utforsket en uvanlig mulighet til å installere Ubuntu rett på min tablet (som ikke fungerte - for tregt). Og jeg vil dele hvordan jeg enkelt håndtere ulike enheter og skjermstørrelser. Alt går fort, selv på min 4G MiFi enhet.

Når jeg logget inn på min Linux server på tabletten med vedlagte tastaturet, det ser ut og føles som jeg kjører en kraftig Linux-maskin, ikke en enkel Android tablett! En fyr som var å prate med meg et sted, og han sa at han er en IT-guru, og spurte hva maskinen min var. Jeg fortalte ham at det var en Android tablett. Han kikket på skjermen og gikk bort, mumler at jeg var åpenbart forvirret og at det var en Chrome netbook. Jeg bare lo. Lite vet han at jeg har en klient som trenger litt heavy-duty parallell flerkjerneprogrammering og for at jeg kjører en 32-core Intel Xeon-server alt fra min 10-tommers Android-skjermen, og det føles som om det er akkurat det, lokale, når faktisk er det som kjører på Amazon Web Services.

Og jeg har ikke gitt opp helt på native apps. Jeg tidvis bruker dem for å redigere filer. Det er noen ganske gode kildekoden redaktører tilgjengelig. I forrige artikkel nevnte jeg DroidEdit. Jeg har brukt det i et par år nå, men med ett frustrasjon: Det trenger ikke gjøre det bra med store filer, for eksempel de over 10.000 linjer. Det tar evigheter å laste filene, og deretter bla gjennom dem er treg. Min Nexus 7 har en ganske god prosessor og grafikkmuligheter, men det gjorde ikke saken. Disse store filer bare tok for alltid, selv når jeg slått av syntaks fargelegging. Men siden min forrige artikkel kom ut for et par uker siden, oppdaget jeg en annen Android-editor som fungerer bra. Den er skrevet av en fyr som også merke til at redaktørene der ute tendens til å være treg og besluttet å skrive sin egen, bedre editor. Han gjorde det, og det heter QuickEdit. Det er både en gratis versjon med annonser, og en betalt versjon uten annonser. Jeg gikk videre og kjøpte betalt en vurderer det koster mindre enn milkshake fra McD.

Hvis du kommer til å gå den opprinnelige tekst editor rute, skjønt, vil du ønsker å vurdere om det passer inn med din kildekodekontroll. Det finnes flere ulike alternativer her, og du må søke gjennom app butikker og prøve forskjellige dem avhengig av dine behov. Noen har SSH tilgang der de kan fjern inn i en server, lese filene, kan du redigere dem, og deretter lagre dem tilbake til serveren via SSH. DroidEdit har dette, samt git evner. (Men jeg kunne ikke få det til å fungere med en git server som kjører på en av mine servere, selv om jeg får tilgang til den fra andre datamaskiner. Jeg er ikke sikker på hvorfor, men folk har rapportert det fungerer godt med github.)

En annen innfødt mobile app jeg bruker regelmessig er JuiceSSH. Virkelig, det er mange muligheter for innfødte SSH verktøy; Dette er bare ett av mange. Uansett hvilken du går med, gjør at den håndterer SSH nøkler. (Hvis du er ny til alt dette, inkludert Linux-servere, du virkelig bør konfigurere serverne til å kreve SSH nøkkelbasert autentisering. Denne artikkelen fra DigitalOcean blogg er en god intro på å sette den opp.) SSH-programmet er praktisk når jeg har en treg tilkobling. Så jeg bare koble over SSH og bruke min elskede vi redaktøren. All kommandolinje, ingen GUI, som i gamle dager da jeg var ung.

Endelig Det

Det er det for nå. Jeg har endelig fått et oppsett som fungerer. Og den fantastiske delen er at nesten alt jeg bruker ikke krever en rotfestet enhet. Jeg fikk heie enheten min fordi jeg bruker andre programmer som krever root, men dette oppsettet ikke. I den tredje og siste avdrag, vil jeg forklare nøyaktig hvordan jeg konfigurert mine servere. Jeg bruker to forskjellige cloud verter: Amazon og DigitalOcean, og av og til en tredje, Rackspace. . Inntil da, dele med oss ​​dine ideer her

Jeg ønsker fortsatt å kunne bruke en innfødt tekstbehandling app; min båndbredde på min 4G er ikke ubegrenset, og når jeg reiser, bruker VNC mye. Min løsning er fortsatt langt fra perfekt, og jeg vil gjerne høre dine ideer om hvordan vi kan forbedre dette sammen. Og for de som tilbys bekymring, legger jeg ned-tid og familie tid. (Min kone og jeg kommer til å sove før middag hver dag, og jeg jogge tre miles tre ganger i uken.) Det er et spørsmål om balanse. Med stor makt følger stort ansvar

Fortsett til del 3:. Hvordan du konfigurerer Dev Machine til å jobbe hvor som helst

Gå tilbake til Del 1: Hvordan sette opp ditt Linux Dev Station to Work fra hvor som helst