cs50 appliance 2014

12
CS50 Appliance 2014 CS50 Manual (/) Table of Contents NOTICE Cheatsheet Notice Instructions How to Install Appliance How to Update Appliance How to Use Appliance How to Change Password How to Open a Terminal How to SSH to Appliance How to Change Resolution How to Enable Dropbox How to Prevent Dropbox from Synching Personal Files into the Appliance How to Transfer Files between Appliance and Your Computer Windows Mac OS How to Take a Screenshot How to Share Control of Your Screen Changelog Known Issues Future Work Acknowledgements NOTICE The documentation on this page is for version 2014 of the CS50 Appliance. You should use version 2014 of the appliance if you are:

Upload: snadmin

Post on 10-Nov-2015

55 views

Category:

Documents


0 download

TRANSCRIPT

  • CS50Appliance2014CS50Manual(/)

    TableofContentsNOTICECheatsheetNoticeInstructions

    HowtoInstallApplianceHowtoUpdateApplianceHowtoUseAppliance

    HowtoChangePasswordHowtoOpenaTerminalHowtoSSHtoApplianceHowtoChangeResolutionHowtoEnableDropbox

    HowtoPreventDropboxfromSynchingPersonalFilesintotheApplianceHowtoTransferFilesbetweenApplianceandYourComputer

    WindowsMacOS

    HowtoTakeaScreenshotHowtoShareControlofYourScreen

    ChangelogKnownIssuesFutureWorkAcknowledgements

    NOTICEThedocumentationonthispageisforversion2014oftheCS50Appliance.

    Youshoulduseversion2014oftheapplianceifyouare:

  • takingCS50x2015throughedX,

    takingCSCIE50inSpring2015throughHarvardExtensionSchool,

    pursuingaCS50Certificatein2015throughHarvardDivisionofContinuingEducation,or

    followingthefall2014offeringofCS50online.

    Inanyoftheabovecases,followtheinstructionslateronthispage.

    IffollowingFall2013ofCS50(orCSCIE50),youshoulduseversion19(../19)oftheappliance.

    IffollowingFall2012ofCS50(orCSCIE52),youshoulduseversion17(../17)oftheappliance.

    IffollowingSummer2012ofCSCIS75,youshouldalsouseversion17(../17)oftheappliance.

    IffollowingSpring2012ofCS1,CS51,orCS164,youshoulduseversion3(../3)oftheappliance.

    IffollowingFall2011(https://www.cs50.net/)ofCS50,youshoulduseversion2.3(../2.3)oftheappliance.

    IffollowingFall2010(http://cs50.tv/2010/fall/)ofCS50,youshoulduseversion2.1(../2.1)oftheappliance.

    IffollowingFall2009(http://cs50.tv/2009/fall/)ofCS50,youshoulduseversion1.4(../1.4)oftheappliance.

    TheCS50Applianceisavirtualmachine(http://en.wikipedia.org/wiki/Virtual_machine)(VM)thatletsyou"take"CS50(andothercourses!),evenifyourenotastudentatHarvard.ItsbasedonUbuntu(http://en.wikipedia.org/wiki/Ubuntu_(operating_system)),aLinux(http://en.wikipedia.org/wiki/Linux)basedoperatingsystem(http://en.wikipedia.org/wiki/Operating_system).Itsanappliance(http://en.wikipedia.org/wiki/Computer_appliance)inthesensethatwevepreconfiguredthisVMforaspecificpurpose:CS50!

    Inotherwords,evenifyourenotastudentinCS50,youcanstillplayalongathome.TheCS50Appliancewillletyoucompilesourcecodefromlecturesandimplementproblemsetswithouthavingtofigureouthowtoconfigureclang(http://en.wikipedia.org/wiki/Clang),etc.yourself.Moreover,theCS50ApplianceletsyourunLinuxinsideofawindowonyourowncomputer,evenifyourealreadyrunning(someotherversionof)Linux,MacOS,Solaris,orWindows!

    Incidentally,theapplianceisalwaysworkinprogress,sopleaseforgiveanybugs!

  • Incaseyourcomputerisunabletosupportavirtualmachine,oryousimplyprefernottouseone,andyouknowhowtoinstallLinuxfromanISO9660image,weprovideanISOimage(http://mirror.cs50.net/appliance50/2014/releases/29/appliance502014.iso)thatyoucanusetoinstallanUbuntusystemequivalenttotheCS50Applianceon"baremetal".

    CheatsheetSeeinstructionsformuchmoredetail.

    YourName JohnHarvard

    YourUsername

    jharvard

    YourPassword

    crimson

    AppliancesIPAddress

    anumberoftheformw.x.y.z,whichcanbefoundintheappliancesbottomrightcorner

    AppliancesVersion

    anumberoftheform 2014 ,(where isaminorversionnumber)whichcanbefoundintheappliancesbottomrightcorner

    YourMySQLUsername

    jharvard

    YourMySQLPassword

    crimson

    phpMyAdmin http://localhost/phpmyadmin/ fromwithintheappliance

    http://*w.x.y.z*/phpmyadmin/ fromyourowncomputer(where*w.x.y.z* istheIPaddressintheappliancesbottomrightcorner)

    NoticeForresearchpurposes,theCS50Applianceisdesignedtolog:

  • commandlinecommands(e.g., ls , makehello ,etc.)

    theoutputofprogramslike check50 , clang , gdb , style50 ,etc.

    gdb commandsand

    sourcecodethatyoucreateand/orsaveinsideoftheappliance.ThoselogsarethenperiodicallyuploadedtoCS50sservers.

    AmongCS50soverarchingresearchgoalsaretounderstandbetterhowstudentscode,howstudentsrespondtoerrormessages,andhowstudentsprogressfromnonworkingtoworkingcode.Noneofthedatathatsloggedisusedtocomputegrades.

    TheCS50Appliancedoesnot(andcannot)loganyactivitiesorfilesonyourownMacorPC(outsideoftheCS50Appliance).ItcanonlylogactivityinsideoftheCS50Appliance(i.e.,insideofitsownwindow).Evenso,youmaydisabletheuploadingoflogstoCS50sserversifyouwouldliketooptoutofthisresearch.Simplyrun no50 inaterminalwindowtooptout.

    Instructions

    HowtoInstallApplianceInordertoinstalltheCS50Appliance,youfirstneedtoinstallahypervisor(http://en.wikipedia.org/wiki/Hypervisor),whichisaprogramthatwillletyourunvirtualmachines(http://en.wikipedia.org/wiki/Virtual_machine)onyourowncomputer,whetheryourunMacOS,Windows,orLinux.

    IfyouhaveaMac,youcancheckwhichversionofOSXitsrunningbyselectingAboutthisMacfromtheApplelogomenuatthetopleftcornerofyourscreen.IfyourversionofOSXis10.8.x("MountainLion")orlater,werecommendthatyoufollowtheseinstructionsfor

    VMwareFusion7(fusion/).[1]

    IfyouhaveaPCrunninga64biteditionofWindowsorLinux,werecommendthatyou

    followtheseinstructionsforVMwareWorkstation11(workstation/).[2]

    Alternatively(ifyourcomputerdoesntmeettherequirementsabove,oryourunintotroublewiththeapplicationsdonatedbyVMware),youmightfollowtheseinstructionsforVirtualBox(virtualbox/).

    Oncetheapplianceinstalled,itsnotuncommonforittotakeaminuteorsotoboot.Butif,onceatJohnHarvardsdesktop,theappliancestillfeelsunbearablyslowonaPCrunningWindowsorLinux,youmightneedtoenablehardwarevirtualization(/virtualization).(Hardware

  • virtualizationshouldbeenabledbydefaultonanyIntelbasedMacmanufacturedinthepastfewyears.)Evenwithhardwarevirtualizationenabled,though,virtualmachinesmightstillfeelslowifyourcomputerisafewyearsold,hasaCPUthatsrunningatlessthan2GHz,orhasonly1GBorsoofRAM.

    HowtoUpdateApplianceTodeterminewhichversionoftheapplianceyouhave,simplylookintheappliancesbottomrightcorner,whereyoushouldsee 2014 inboldface,where isanumber.Alternatively,youcanopenaterminalandexecute

    whichshouldreport 2014# aswell.

    Toensureyouhavethelatestversionoftheappliance,youcanupdateyoursbyopeningaterminalandexecuting:

    Anupdatemaytakeseveralminutes.

    Notethatyoucannotupdatefromversion1.4,2.1,2.3,3,17a,17,or19oftheappliancetoversion2014.Youmustinsteaddownload2014,pertheinstructionsabove.

    HowtoUseApplianceThefirstthingyoushouldseewhentheappliancebootsupisJohnHarvardsdesktop.(Oh,henceforth,youareJohnHarvard(http://en.wikipedia.org/wiki/John_Harvard_(clergyman)).Yourinitialpasswordiscrimson.Andhereswhatyoulooklike(http://en.wikipedia.org/wiki/File:BostonTrip91.jpg).)EventhoughyoumightthinkofLinuxashavingonlyacommandlineinterface(http://en.wikipedia.org/wiki/Commandline_interface),graphicaluserinterfaces(http://en.wikipedia.org/wiki/Graphical_user_interface)doexist.WeveinstalledXfce(http://en.wikipedia.org/wiki/Xfce),oneofthemostpopular,foryou.However,weinstalledasfewprogramsaspossibletokeeptheappliancesmall.Yourewelcometoinstalladditionalprogramsvia aptget .

    HowtoChangePasswordYoucanchangeyourpasswordinanyoftheseways:

    SelectMenu>SettingsManager>UsersandGroupsandfollowtheonscreenprompts.

    appliance50v

    update50

  • Openaterminalandexecute:

    Withthatsaid,allowustosuggestthatyounotchangeJohnHarvardspasswordifyourowncomputerisalreadypasswordprotected.(Lifewillbesimplerwithcrimson.)Theappliancehasbeenconfiguredinsuchawaythatonlysomeonewithaccesstoyourcomputer(e.g.,you)canaccesstheappliance.EventhoughtheappliancecanconnecttotheInternet,theInternetcannotconnecttotheappliance.

    HowtoOpenaTerminalYoucanopenaterminalinanyoftheseways:

    SelectMenu>Accessories>TerminalEmulator.Youllfindyourselfinyourhomedirectory( ~ ).

    ClickTerminalsicon(ablacksquare)intheappliancesbottomleftcorner.Youllfindyourselfinyourhomedirectory( ~ ).

    RightclickanywhereonyourdesktopandselectOpenTerminalHere.Youllfindyourselfin~/Desktop/ .

    SelectMenu>Accessories>gedit.Youllfindyourselfinyourhomedirectory( ~ )ingeditsbottompanel.

    Nomattertheapproachyoutake,itsintheterminalwindowthatyoullbeabletotypecommandslike cd , clang , ls ,etc.

    HowtoSSHtoApplianceIfyoudliketoSSHtotheappliancefromyourowncomputer(aswithTerminalonMacOSorwithPuTTYonWindows),youcanSSHfromyourcomputertotheappliancesIPaddress(whichisdisplayedintheappliancesbottomrightcorner).

    HowtoChangeResolutionYoucanchangetheappliancesresolution(i.e.,widthandheight)ineitheroftheseways:

    SelectMenu>SettingsManager>Displaywithintheappliance,selectanewvaluetotherightofResolution,thenclickClose.

    Clickanddragtheappliancesbottomrightcorner.

    HowtoEnableDropboxThisfeaturerequiresInternetaccess.

    passwd

  • Tomakeiteasiertobackupfileswithintheapplianceautomaticallyaswellassharethemwithyourowncomputer(s),youcansynchronizeadirectoryinJohnHarvardsaccountwithDropbox(http://www.dropbox.com/features).

    HereshowtoconfiguretheapplianceforDropbox.

    1. SelectMenu>Dropbox.

    2. Youshouldbepromptedto"downloadtheproprietarydaemon"(i.e.,software)clickOK.Thesoftwareshouldproceedtodownloadandunpack.

    3. YoushouldthenbepromptedtosetupDropbox.

    IfyoudontalreadyhaveaDropboxaccount,leaveIdonthaveaDropboxaccountchecked,thenclickNext.CreateyourDropboxasprompted.

    IfyoualreadyhaveanDropboxaccount,checkIalreadyhaveaDropboxaccount,thenclickOK.Loginasprompted.

    4. IfpromptedtoupgradeyourDropbox,simplyleave2GBchecked(whichisfree)thenclickNext,unlessyouwanttoupgradetoapaidaccount.

    5. IfpromptedtoChoosesetuptype,leaveTypicalchecked,thenclickInstall.Ifpromptedto"merge",clickMerge.

    6. Ifpromptedtotakea5steptour,clickSkipTouritsscreenshotswontmatchwhatyoullseeintheappliance.

    7. WheninformedThatsit!,uncheckOpenmyDropboxfoldernow,thenclickFinish.ADropboxiconshouldthenappearintheappliancesbottomrightcorner.

    Onlythosefilesandfoldersthatyousavein ~/Dropbox/ willbesynchronizedwithyourDropboxaccount.

    HowtoPreventDropboxfromSynchingPersonalFilesintotheAppliance1. CtrlclickontheDropboxiconintheappliancesbottomrightcornerandselect

    Preferences.

    2. ClickAdvanced.

    3. ClickSelectiveSync.

    4. Uncheckthefoldersthatyoudontwantsynchedintotheappliance.

    5. ClickUpdate.

    HowtoTransferFilesbetweenApplianceandYourComputer

  • IfyoudliketoSFTP(http://en.wikipedia.org/wiki/SSH_file_transfer_protocol)totheappliancefromyourowncomputer(aswithCyberduck(http://cyberduck.ch/)onMacOSorwithWinSCP(http://winscp.net/eng/download.php)onWindows),youcanSFTPfromyourcomputertow.x.y.z(wherew.x.y.zistheappliancesIPaddress,whichcanbefoundintheappliancesbottomrightcorner).

    Alternatively,youcan"mount"JohnHarvardshomedirectory(viaaprotocolcalledSMB(http://en.wikipedia.org/wiki/Server_Message_Block),otherwiseknownasCIFS(http://en.wikipedia.org/wiki/CIFS))inawindowonyourowndesktop,toandfromwhichyoucandraganddropfiles.Hereshow,whetheryourunLinux,MacOS,orWindows.

    Windows1. Openanyfolderonyourharddrive.

    2. Clicktheaddressbaratopthefolderswindowandinput\\w.x.y.z\jharvard(wherew.x.y.zistheappliancesIPaddress,whichcanbefoundintheappliancesbottomrightcorner),thenclickEnter.

    3. Ifpromptedforyournameandpassword:

    1. InputjharvardforUsername.

    2. InputcrimsonforPassword.

    3. CheckRemembermycredentialsifyoudlike.

    4. ClickConnect.

    JohnHarvardshomedirectoryshouldthenopeninanewwindow.

    MacOS1. SelectConnecttoServerfromtheFindersGomenu.

    2. UnderServerAddress:,inputsmb://w.x.y.z(wherew.x.y.zistheappliancesIPaddress,whichcanbefoundintheappliancesbottomrightcorner).(Clickthe+iconifyoudliketoaddtheappliancetoyourFavoriteServers.)ThenclickConnect.

    3. Ifpromptedforyournameandpassword:

    1. SelectRegisteredUser.

    2. InputjharvardforName.

    3. InputcrimsonforPassword.

    4. ClickConnect.

    JohnHarvardshomedirectoryshouldthenopeninanewwindow.

  • HowtoTakeaScreenshotItssometimeshelpfultotakeascreenshotoftheappliancesothatyoucanrememberorsharesomethingyouseeonyourscreen.

    Totakeascreenshotinsideoftheappliance:

    1. SelectMenu>Accessories>Screenshot.

    2. CheckaRegiontocapture.

    3. LeaveCapturethemousepointercheckedunlessyoudliketohideit.

    4. LeaveDelaybeforecapturingat1,unlessyouneedmoretime.

    5. ClickOK.

    6. YoushouldthenbepromptedtodecideonanAction.LeaveSavecheckedandthenclickOKifyoudliketosavethescreenshotasafiledecideonadestinationasprompted.Youcanthensharethatscreenshotwithsomeoneifnecessary,asbyopeningGmailinFirefoxandsendingitasanattachment.

    Youcanalsosharecontrolofyourscreenifyouneedsomeoneelsetoseemorethanascreenshot.

    HowtoShareControlofYourScreenThisfeaturerequiresInternetaccess.

    Sothatyoucanhelp(andbehelpedby!)fellowlearnersontheInternet,theappliancecomeswithTeamViewer(http://www.teamviewer.com/),whichletsyoushare(controlof)yourscreenwithsomeoneelse(a"partner")ontheInternet(andviceversa).

    Toshareyourscreenwithsomeelse:

    1. SelectMenu>TeamViewer.(ClickAcceptifprompted.)Awindowshouldappear.

    2. TellyourpartnerYourIDandPasswordthatyousee.Onceyourpartnerinputsthosevalues,yourscreenshouldbeshared.Thoughifyourowncomputerhasafirewall,youmightfirstbepromptedto"allowincomingconnections"orthelike.

    Toseesomeoneelsesscreen:

    1. AskyourpartnerforaPartnerIDandPassword.

    2. SelectMenu>TeamViewer.(ClickAcceptLicenseAgreementifprompted.)Awindowshouldappear.

  • 3. InputthePartnerIDintothatwindow,thenclickConnecttopartner.

    4. Whenprompted,inputthePassword,atwhichpointyoushouldseeyourpartnersscreen.

    Ifyouwouldliketoconnecttosomeoneelsesappliancefromyourowncomputer(ratherthanfromyourownappliance)orfromamobiledevice,youcandownloadTeamViewerforfreeforAndroid,iOS,Linux,MacOS,orWindowsfromhttp://www.teamviewer.com/en/download/(http://www.teamviewer.com/en/download/).

    Changelog1.4(../1.4#Changelog)

    2.0(../2.0#Changelog)

    2.1(../2.1#Changelog)

    2.2

    2.3(../2.3#Changelog)

    3(../3#Changelog)

    19(../19#Changelog)

    20140

    TransitionedtoUbuntu

    201424

    201426

    201429

    KnownIssuesNoneatthistime.

    FutureWorkBelowarefeaturesthatmaybeincludedinsomefutureversionoftheappliance.

  • AddSelenium.

    Add dnsmasq andresolve*.localdomainto127.0.0.1.

    AddsupportforstaticIPs.

    AcknowledgementsManythankstoeveryonewhoshelpedusimprovetheCS50Appliance,including,butnotlimitedto:

    AaronOehlschlaeger

    Amir

    ChengGong

    ChrisGerber

    DanArmendariz

    DarrinRagsdale

    Dotty

    FedericoLerner

    GabrielGuimaraes

    GlennHolloway

    JamesLankford

    KartikeyaSrivastava

    MatthewPolega

    MatthewRoknich

    MauroBraunstein

    NobuKikuchi

    PhilipDurbin

    R.J.Aquino

    RobBowden

    RodRuggiero

    RolandoCruz

  • RoryOReilly

    SergioPrado

    ShaunGibson

    1.IfyoureusingOSXversion10.7.x("Lion"),[email protected](mailto:[email protected]).

    2.IfyourWindowsorLinuxcomputerrunsa32bitOS,[email protected](mailto:[email protected]).

    Copyright2015,CS50