From da4c1e4ccbf01e95cc816134747d962746f131c1 Mon Sep 17 00:00:00 2001 From: wccsnow Date: Mon, 17 Jul 2017 23:19:33 -0400 Subject: [PATCH] More on virtual X11 client --- NAMESPACE | 2 ++ R/111_control.r | 22 ++++++++++++++-------- R/rpc_rr_example.r | 31 +++++++++++++++++++++++++++++++ man/rpc_rr_example.Rd | 9 +++++++++ man/zz_rpc_control.Rd | 16 ++++++++++------ 5 files changed, 66 insertions(+), 14 deletions(-) diff --git a/NAMESPACE b/NAMESPACE index 1d4d98a..6671f6b 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -8,9 +8,11 @@ export(RPC.RR) export(check_cs) export(check_exec) export(check_rr) +export(checkx_rr) export(find_plink) export(kill_cs) export(kill_rr) +export(killx_rr) export(machine) export(plink) export(rpc) diff --git a/R/111_control.r b/R/111_control.r index 33f2bf9..437d9c0 100644 --- a/R/111_control.r +++ b/R/111_control.r @@ -13,9 +13,11 @@ #' # #' @param unix,macos,windows #' -#' @param check,kill,start,startx,preload +#' @param check,kill,start,preload,checkx,killx,startx #' RPC remoter commands used by \code{\link{check_rr}()}, -#' \code{\link{kill_rr}()}, or \code{\link{start_rr}()}. +#' \code{\link{kill_rr}()}, or \code{\link{start_rr}()} and +#' virtual X11 related versions \code{\link{checkx_rr}()}, +#' \code{\link{killx_rr}()}, or \code{\link{startx_rr}()}.. #' RPC pbdCS commands used by \code{\link{check_cs}()}, #' \code{\link{kill_cs}()}, or \code{\link{start_cs}()}. #' @@ -103,18 +105,22 @@ RPC.LI <- function( #' @export #' @rdname zz_rpc_control RPC.RR <- function( - check = "ps ax|grep '[r]emoter::server'", - kill = "kill -9 $(ps ax|grep '[r]emoter::server'|awk '{print $1}')", + check = "ps axww|grep '[r]emoter::server'", + kill = "kill -9 $(ps axww|grep '[r]emoter::server'|awk '{print $1}')", start = "nohup Rscript -e 'remoter::server()' > .rrlog 2>&1 < /dev/null &", - startx = "nohup xvfb-run Rscript -e 'remoter::server()' > .rrlog 2>&1 < /dev/null &", - preload = "source ~/work-my/00_set_devel_R; " + preload = "source ~/work-my/00_set_devel_R; ", + checkx = "ps axww|grep '[r]emoter::server\\|[x]vfb-run'", + killx = "kill -9 $(ps axww|grep '[r]emoter::server\\|[x]vfb-run'|awk '{print $1}')", + startx = "nohup xvfb-run Rscript -e 'remoter::server()' > .rrlog 2>&1 < /dev/null &" ){ list( check = check, kill = kill, start = start, - startx = startx, - preload = preload + preload = preload, + checkx = checkx, + killx = killx, + startx = startx ) } diff --git a/R/rpc_rr_example.r b/R/rpc_rr_example.r index 7b78f8d..286163a 100644 --- a/R/rpc_rr_example.r +++ b/R/rpc_rr_example.r @@ -32,6 +32,9 @@ #' Lunix/unix commands \code{ps}, \code{grep}, \code{awk}, and \code{kill} #' are used. #' +#' \code{checkx_rr()}, \code{killx_rr()}, and \code{startx_rr()} are functions +#' with virtual X11 windows. +#' #' @param machine #' A machine configuration. See \code{?machine}. #' @param preload @@ -88,6 +91,20 @@ check_rr <- function(machine, cmd = .pbd_env$RPC.RR$check) } +#' @rdname rpc_rr_example +#' @export +checkx_rr <- function(machine, cmd = .pbd_env$RPC.RR$checkx) +{ + check.is.machine(machine) + + ret <- suppressWarnings( + rpc(cmd = cmd, machine = machine) + ) + + invisible(ret) +} + + #' @rdname rpc_rr_example #' @export kill_rr <- function(machine, cmd = .pbd_env$RPC.RR$kill) @@ -102,6 +119,20 @@ kill_rr <- function(machine, cmd = .pbd_env$RPC.RR$kill) } +#' @rdname rpc_rr_example +#' @export +killx_rr <- function(machine, cmd = .pbd_env$RPC.RR$killx) +{ + check.is.machine(machine) + + ret <- suppressWarnings( + rpc(cmd = cmd, machine = machine) + ) + + invisible(ret) +} + + #' @rdname rpc_rr_example #' @export start_rr <- function(machine, cmd = .pbd_env$RPC.RR$start, diff --git a/man/rpc_rr_example.Rd b/man/rpc_rr_example.Rd index 9e4ca98..a409a44 100644 --- a/man/rpc_rr_example.Rd +++ b/man/rpc_rr_example.Rd @@ -3,15 +3,21 @@ \name{rpc_rr_example} \alias{rpc_rr_example} \alias{check_rr} +\alias{checkx_rr} \alias{kill_rr} +\alias{killx_rr} \alias{start_rr} \alias{startx_rr} \title{Example Functions of RPC Related to Remote R Server} \usage{ check_rr(machine, cmd = .pbd_env$RPC.RR$check) +checkx_rr(machine, cmd = .pbd_env$RPC.RR$checkx) + kill_rr(machine, cmd = .pbd_env$RPC.RR$kill) +killx_rr(machine, cmd = .pbd_env$RPC.RR$killx) + start_rr(machine, cmd = .pbd_env$RPC.RR$start, preload = .pbd_env$RPC.RR$preload) @@ -61,6 +67,9 @@ server. Lunix/unix commands \code{ps} and \code{grep} are used. \code{kill_rr()} kills remote R servers if found. Lunix/unix commands \code{ps}, \code{grep}, \code{awk}, and \code{kill} are used. + +\code{checkx_rr()}, \code{killx_rr()}, and \code{startx_rr()} are functions +with virtual X11 windows. } \examples{ \dontrun{ diff --git a/man/zz_rpc_control.Rd b/man/zz_rpc_control.Rd index 40792e7..89bbd87 100644 --- a/man/zz_rpc_control.Rd +++ b/man/zz_rpc_control.Rd @@ -14,11 +14,13 @@ RPC.LI(exec.type = "ssh", args = "", pport = 22, user = "snoweye", hostname = "192.168.56.101", priv.key = "~/.ssh/id_rsa", priv.key.ppk = "./id_rsa.ppk") -RPC.RR(check = "ps ax|grep '[r]emoter::server'", - kill = "kill -9 $(ps ax|grep '[r]emoter::server'|awk '{print $1}')", +RPC.RR(check = "ps axww|grep '[r]emoter::server'", + kill = "kill -9 $(ps axww|grep '[r]emoter::server'|awk '{print $1}')", start = "nohup Rscript -e 'remoter::server()' > .rrlog 2>&1 < /dev/null &", - startx = "nohup xvfb-run Rscript -e 'remoter::server()' > .rrlog 2>&1 < /dev/null &", - preload = "source ~/work-my/00_set_devel_R; ") + preload = "source ~/work-my/00_set_devel_R; ", + checkx = "ps axww|grep '[r]emoter::server\\\\|[x]vfb-run'", + killx = "kill -9 $(ps axww|grep '[r]emoter::server\\\\|[x]vfb-run'|awk '{print $1}')", + startx = "nohup xvfb-run Rscript -e 'remoter::server()' > .rrlog 2>&1 < /dev/null &") } \arguments{ \item{verbose, intern, wait, check.exec, use.shell.exec, pause}{RPC control for \code{system}, \code{shell.exec}, and so on. @@ -28,8 +30,10 @@ e.g. continuously port forwarding without sending commands to background.} \item{exec.type, args, pport, user, hostname, priv.key, priv.key.ppk}{RPC login information used by \code{\link{srpc}()}, \code{\link{ssh}()}, or \code{\link{plink}()}.} -\item{check, kill, start, startx, preload}{RPC remoter commands used by \code{\link{check_rr}()}, -\code{\link{kill_rr}()}, or \code{\link{start_rr}()}. +\item{check, kill, start, preload, checkx, killx, startx}{RPC remoter commands used by \code{\link{check_rr}()}, +\code{\link{kill_rr}()}, or \code{\link{start_rr}()} and +virtual X11 related versions \code{\link{checkx_rr}()}, +\code{\link{killx_rr}()}, or \code{\link{startx_rr}()}.. RPC pbdCS commands used by \code{\link{check_cs}()}, \code{\link{kill_cs}()}, or \code{\link{start_cs}()}.} }