Try   HackMD

使用Win10自架RStudio Server(Workbench)

LHB阿好伯, 2021/10/31:earth_africa:

tags: R Ubuntu

Rstudio 有一個線上伺服器服務rstudio cloud非常的好用
但最近發現它的資源快被我用完了
剛好最近學習到了Zerotier這個神器
可以讓我用宿舍的桌機組建自己的Rstudio Server
使用Zerotier可以讓我們其他不在同一網路環境的電腦也可以連上Rstudio Server
而不是用遠端操作的方式連線
其中於流暢度跟解析度差了很多

有興趣的可以參考下面步驟

安裝 WSL

首先Rstudio Server 目前只支援 Linux系統
好在Win10後面有支援WSL( Windows 子系統 Linux 版)

您必須執行 Windows 10 2004 版和更高版本 (組建19041和更新版本) 或 Windows 11。

安裝上也非常簡單
開啟CMD(命令提示字元)


輸入wsl --install 安裝WSL

安裝Ubuntu 20

之後可以在微軟的應用商店找到Ubuntu 20的安裝

安裝完成後就會是一個可以執行的軟體

第一次開啟需要先設定使用者帳戶資訊
輸入密碼過程不會顯示就安心地打出想要的密碼

安裝Rstudio Server

R

在指令前加上sudo 就像是電腦的使用系統管理員進行安裝
所以需要輸入密碼
輸入過程不會顯示就安心地打出密碼

sudo apt-get install r-base

Rstudio server

sudo apt-get update
sudo apt-get install gdebi-core
wget https://download2.rstudio.org/server/bionic/amd64/rstudio-server-2022.02.3-492-amd64.deb
sudo gdebi rstudio-server-2022.02.3-492-amd64.deb

啟動

前面安裝完成後我們只需要開啟服務節可享用Rstudio Server
sudo rstudio-server start

開啟電腦瀏覽器輸入下方網址

localhost:8787

連線成功後需要輸入Ubuntu的使用名稱與密碼

盡情地享用

問題排除

查看問題

sudo rstudio-server verify-installation

Path to R not specified, and no module binary specified; Invalid R module ()

重新安裝R即可sudo apt-get install r-base

Zerotier cli command giving error "missing port and zerotier-one.port not found" in ubuntu

問題可能是因為端口9993已被其他服務佔用而導致 ZeroTier One 無法啟動。您可以按照以下步驟來更改 ZeroTier One 的控制界面端口:

創建一個 /var/lib/zerotier-one/local.conf 文件,如果不存在的話,可以使用以下命令:

sudo nano /var/lib/zerotier-one/local.conf

如果您不使用 nano 文本編輯器,可以替換為您喜歡的編輯器,例如 vim 或 gedit。

在打開的文件中,添加以下內容,將主端口更改為9994(或您希望使用的其他可用端口):

{
  "settings": {
    "primaryPort": 9994
  }
}

保存文件並退出編輯器。

現在,嘗試重新啟動 ZeroTier One 服務:

sudo systemctl restart zerotier-one
這應該允許 ZeroTier One 使用新的端口9994

Ubuntu套件安裝

安裝tidyverse套件時,由於缺少某些依賴包和系統庫,安裝失敗了。這通常發生在Linux系統上,特別是當系統中沒有安裝R包所需的一些底層庫文件時。以下是解決這個問題的步驟:

安裝系統依賴:根據錯誤信息,首先需要安裝libxml2-dev。這是一個Linux庫,用於處理XML和HTML內容。您可以使用Linux終端命令來安裝它。對於基於Debian的系統(如Ubuntu),請使用以下命令:

sudo apt-get install libxml2-dev
sudo apt-get install libcurl4-openssl-dev
sudo apt-get install libfontconfig1-dev

Ubuntu安裝 tidyverse

sudo apt install r-cran-tidyverse

添加使用者

使用Rstudio Server的好處還有像是若有其他人想使用
可以設定新的使用者帳戶
每個人的環境都會是獨立的程式碼也不會被看到

sudo adduser <user name>

Zerotier 內網穿透(虛擬內網)

使用Zerotier可以讓我們其他不在同一網路環境的電腦也可以連上Rstudio Server
有興趣可以參考用Zerotier內網穿透(虛擬內網)連線樹梅派Node-Red


sudo zerotier-one -d
sudo rstudio-server start

設定啟動執行
sudo systemctl enable zerotier-one.service
sudo systemctl enable rstudio-server.service

安裝R 4.0.X

安裝必要的依賴性,以便在 HTTPS 上新增儲存庫:
sudo apt install dirmngr gnupg apt-transport-https ca-certificates software-properties-common

將 CRAN 儲存庫新增到系統來源清單中:

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E298A3A825C0D65DFD57CBB651716619E084DAB9
sudo add-apt-repository 'deb https://cloud.r-project.org/bin/linux/ubuntu focal-cran40/'

sudo apt install r-base
R version

https://cran.r-project.org/bin/linux/ubuntu/

如何存取電腦 C: 磁碟機

本機電腦上的硬碟掛接點會自動建立
並可讓您輕鬆存取 Windows 檔案系統

/mnt/<磁碟機號>/

範例用法是使用 cd /mnt/c 來存取 c:****

如何存取WSL資料

\wsl$

資料控制

system("sudo -S mkdir /opt/shiny-server/samples/sample-apps/Wind-Rose/ ", input = rstudioapi::askForPassword("sudo password")) #建立資料夾 system("sudo -S cp ~/Wind-Rose/ui.R /opt/shiny-server/samples/sample-apps/Wind-Rose/", input = rstudioapi::askForPassword("sudo password")) #複製資料夾 system("sudo -S cp ~/Wind-Rose/ui.R /opt/shiny-server/samples/sample-apps/Wind-Rose/", input = rstudioapi::askForPassword("sudo password")) #複製資料夾 system("sudo -S cp /home/gtgrthrst/AHB.ttf /usr/share/fonts/", input = rstudioapi::askForPassword("sudo password")) #複製資料夾

參考資料
Managing RStudio Workbench / RStudio Server
https://docs.microsoft.com/zh-tw/windows/wsl/filesystems

🌟全文可以至下方連結觀看或是補充

全文分享至

https://www.facebook.com/LHB0222/

https://www.instagram.com/ahb0222/

有疑問想討論的都歡迎於下方留言

喜歡的幫我分享給所有的朋友 \o/

有所錯誤歡迎指教

:page_with_curl: 全部文章列表