--- disqus: ahb0222 GA : G-VF9ZT413CG --- # 使用Win10自架RStudio Server(Workbench) > [color=#40f1ef][name=LHB阿好伯, 2021/10/31][:earth_africa:](https://www.facebook.com/LHB0222/) ###### tags: `R` `Ubuntu` [TOC] ![](https://hackmd.io/_uploads/rJi2Y8oUF.png) Rstudio 有一個線上伺服器服務rstudio cloud非常的好用 但最近發現它的資源快被我用完了 剛好最近學習到了[Zerotier](/JUE-4pd2Te-TrHK7s42xtg)這個神器 可以讓我用宿舍的桌機組建自己的Rstudio Server 使用Zerotier可以讓我們其他不在同一網路環境的電腦也可以連上Rstudio Server 而不是用遠端操作的方式連線 其中於流暢度跟解析度差了很多 有興趣的可以參考下面步驟 # 安裝 WSL 首先Rstudio Server 目前只支援 Linux系統 好在Win10後面有支援WSL( Windows 子系統 Linux 版) ![](https://hackmd.io/_uploads/Byo6W8iIK.png) :::danger 您必須執行 Windows 10 2004 版和更高版本 (組建19041和更新版本) 或 Windows 11。 ::: 安裝上也非常簡單 開啟CMD(命令提示字元) ![](https://hackmd.io/_uploads/rJLruCqUK.png) 輸入`wsl --install` 安裝WSL ![](https://hackmd.io/_uploads/BkGPGUjIF.png) # 安裝Ubuntu 20 之後可以在微軟的應用商店找到Ubuntu 20的安裝 ![](https://hackmd.io/_uploads/By5WP0cIt.png) 安裝完成後就會是一個可以執行的軟體 ![](https://hackmd.io/_uploads/SkznfLjIY.png) 第一次開啟需要先設定使用者帳戶資訊 輸入密碼過程不會顯示就安心地打出想要的密碼 ![](https://hackmd.io/_uploads/rJWW6AqIY.png) # 安裝Rstudio Server ## R 在指令前加上sudo 就像是電腦的使用系統管理員進行安裝 所以需要輸入密碼 輸入過程不會顯示就安心地打出密碼 ``` sudo apt-get install r-base ``` ![](https://hackmd.io/_uploads/By6pTC9Lt.png) ## 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` 開啟電腦瀏覽器輸入下方網址 :::success localhost:8787 ::: 連線成功後需要輸入Ubuntu的使用名稱與密碼 ![](https://hackmd.io/_uploads/rJsVV8jIt.png) 盡情地享用 ![](https://hackmd.io/_uploads/rJ09E8sUK.png) ### 問題排除 ![](https://hackmd.io/_uploads/H1SEfkj8Y.png) 查看問題 `sudo rstudio-server verify-installation` :::success 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 文件,如果不存在的話,可以使用以下命令: ```bash= 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](/JUE-4pd2Te-TrHK7s42xtg) ![](https://hackmd.io/_uploads/SyHT-A5IY.png) ![](https://hackmd.io/_uploads/r1w7YLiLF.jpg) sudo zerotier-one -d sudo rstudio-server start [設定啟動執行](/bjzBi8IISL-OS7yCpsxt0Q) 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$ ![](https://hackmd.io/_uploads/BkXbp5NdY.png) # 資料控制 ```r= 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://support.rstudio.com/hc/en-us/articles/200532327-Managing-the-Server) >https://docs.microsoft.com/zh-tw/windows/wsl/filesystems 🌟全文可以至下方連結觀看或是補充 全文分享至 https://www.facebook.com/LHB0222/ https://www.instagram.com/ahb0222/ 有疑問想討論的都歡迎於下方留言 喜歡的幫我分享給所有的朋友 \o/ 有所錯誤歡迎指教 # [:page_with_curl: 全部文章列表](https://hackmd.io/@LHB-0222/AllWritings) ![](https://i.imgur.com/nHEcVmm.jpg)