# remoter v0.4-0

0

0th

Percentile

## Remote R: Control a Remote R Session from a Local One

A set of utilities for client/server computing with R, controlling a remote R session (the server) from a local one (the client). Simply set up a server (see package vignette for more details) and connect to it from your local R session ('RStudio', terminal, etc). The client/server framework is a custom 'REPL' and runs entirely in your R session without the need for installing a custom environment on your system. Network communication is handled by the 'ZeroMQ' library by way of the 'pbdZMQ' package.

# remoter

Control a remote R session from your local R session. The package uses pbdZMQ to handle the communication and networking. Encryption is supported if the sodium package is (optionally) installed. Details below.

## Installation

You can install the stable version from CRAN using the usual install.packages():

install.packages("remoter")


In order to be able to create and connect to secure servers, you need to also install the sodium package. The use of sodium is optional because it is a non-trivial systems dependency, but it is highly recommended. You can install it manually with a call to install.packages("sodium") or by installing remoter via:

install.packages("remoter", dependencies=TRUE)


The development version is maintained on GitHub, and can easily be installed by any of the packages that offer installations from GitHub:

### Pick your preference
devtools::install_github("RBigData/remoter")
ghit::install_github("RBigData/remoter")
remotes::install_github("RBigData/remoter")


To simplify installations on cloud systems, we also have a Docker container available.

## Usage

For setting up a local server, you can do:

remoter::server()


And connect to it interactively via:

remoter::client()


There is also the option to pipe commands to the server in batch using the batch() function:

### Passing an R script file
remoter::batch(file="my_rscript_file.r")
### Passing in a script manually
remoter::batch(script="1+1")


For more details, including working with remote machines, see the package vignette.

## Acknowledgements

Work for the remoter package was supported in part by the project Harnessing Scalable Libraries for Statistical Computing on Modern Architectures and Bringing Statistics to Large Scale Computing funded by the National Science Foundation Division of Mathematical Sciences under Grant No. 1418195.

Any opinions, findings, and conclusions or recommendations expressed in this material are those of the authors and do not necessarily reflect the views of the National Science Foundation.

## Functions in remoter

 Name Description client Client Launcher exit exit is.secure is.secure lsc ls on Client c2s Client-to-Server Object Transfer rpng rpng internals Remoter Internals has.sodium has.sodium batch Batch Execution evalc evalc relay Relay Launcher rDevices Local Graphic Devices showlog showlog server Server Launcher s2c Server-to-Client Object Transfer rmc rmc remoter-package remoter rhelp rhelp No Results!

## Vignettes of remoter

 Name cover/build_hex.r cover/remote_machines.pdf cover/remoter.pdf include/00-acknowledgement.tex include/remoter.bib include/settings.tex include/uch_small.png pics/remoter.png pics/remoter_relay.png build_pdf.sh remote_machines.Rnw remoter.Rnw No Results!