はじめに
個人的なメモです.
2023/02/07
WSL2のUbuntuを再インストールしたのでそれに合わせて修正しました.
2024/01/11
WSLで名前解決ができない問題を解決できたので,あらためて再インストールし,systemdとgenieに関する項を削除しました.
インストール
スマートアプリコントロールがオンになっている場合,wsl.exeの実行が拒否されるためあらかじめオフにしておく.
WSL設定のベストプラクティスにしたがってインストール.
環境によってはWSLから名前解決ができないので,WSLを停止してからDNSトンネリングを設定する.%UserProfile%に.wslconfigファイルを作成して以下を記述する.
[wsl2]
dnsTunneling=true
WSLを再起動する.
ログインシェルを/bin/tcshに変更したいのだけど,chshするとAntigravityがWSLに接続できなくなるので.bashrcに追記する.
echo "exec tcsh" >> ~/.bashrc
SSH鍵を作成する.
ssh-keygen
eval `ssh-agent`
ssh-add ~/.ssh/private_key_file
SSHサーバの設定
Windows TerminalだとKeyhackがうまく動かないのでTera Termでログインしたい.
セキュリティ向上のため本来ならば公開鍵認証を行うべきかもしれないが,ローカルでログインするだけなのでキーボードインタラクティブ認証で済ませる.あとで時間ができたときに修正したい.
まずはSSHサーバをインストールする.
sudo apt install openssh-server
/etc/ssh/sshd_configで以下の2行をnoからyesに変更する.以前はChallengeResponseAuthenticationだったものがKbdInteractiveAuthenticationになったらしい.
PasswordAuthentication yes
KbdInteractiveAuthentication yes
ホスト認証鍵を作成する.
sudo ssh-keygen -A
SSHサーバを起動する.
sudo service ssh start
IPアドレスを確認する1.
ip a
ロケールを変更する
sudo apt install language-pack-ja
sudo apt locale-gen ja_JP.UTF-8
sudo update-locale LANG=ja_JP.UTF-8
パッケージのインストール
Emacs
sudo apt install emacs
sudo apt install elpa-migemo
tmux
sudo apt install tmux
フォント
sudo apt install fonts-noto fonts-ipaexfont fonts-ipafont
Rで使うライブラリ等
sudo apt install make cmake gcc g++ gfortran libharfbuzz-dev libfribidi-dev libxml2-dev libcurl4-openssl-dev zlib1g-dev libfontconfig1-dev liblapack-dev libblas-dev libpng-dev libtiff5-dev libjpeg-dev libssl-dev libgdal-dev libudunits2-dev
フォントの追加インストール
フォントを追加するためには,フォントファイルが含まれるディレクトリを/usr/share/fonts/trutype以下にコピーし,フォントキャッシュを更新する.私の場合はUDEV Gothicを追加する.
sudo mv /path/to/fontdir/ /usr/share/fonts/truetype/
sudo fc-cache -vf
RとRStudio Serverのインストール
Download RStudio Server for Debian & Ubuntuにしたがってインストール.
Rのパッケージのインストール
RStudioにログインして以下を実行.CRANから消えてしまっているパッケージはGitHubからインストール.
install.packages(c("devtools", "GWalkR", "haven",
"readxl", "remotes", "styler", "tidyverse", "tictoc"))
remotes::install_github("nx10/httpgd", force = TRUE)
remotes::install_github("wch/Rttf2pt1")
remotes::install_github("wch/extrafont")
remotes::install_version("orcutt", version = "2.3", repos = "http://cran.us.r-project.org")
remotes::install_github("haleyjeppson/ggmosaic")
remotes::install_github("fivethirtyeightdata/fivethirtyeightdata")
install.packages("languageserver")
install.packages(c("bookdown", "commonmark", "formatR", "kableExtra", "knitr", "quarto",
"rmarkdown", "roxygen2md"))
install.packages(c("gt", "gtools", "huxtable", "modeest", "stargazer"))
install.packages(c("evd", "mvtnorm", "PearsonDS", "statip", "stats4"))
install.packages(c("ivreg", "lmtest", "MatchIt", "plm", "sandwich"))
install.packages(c("CausalImpact", "fable", "feasts", "forecast",
"lubridate", "slider",
"tsibble"))
install.packages(c("Ryacas"))
install.packages(c( "GGally", "ggdag", "ggforce", "gghighlight",
"ggpmisc", "ggrepel", "ggvenn",
"hexbin", "latex2exp", "patchwork", "plotly",
"RColorBrewer"))
install.packages(c("tidymodels", "glmnet", "xgboost", "stacks", "finetune",
"ranger", "doFuture", "bonsai", "lightgbm", "vip", "yardstick",
"kernlab"))
install.packages(c("sf", "NipponMap"))
install.packages(c("AER", "causaldata", "dslabs",
"Ecdat", "fivethirtyeight",
"gapminder", "HistData", "mosaicData",
"nycflights13", "tsibbledata", "wooldridge"))
きちんとインストールされたかどうか確認.
# 確認対象のパッケージリストを定義
target_packages <- c(
# CRAN Packages (Main)
"devtools", "GWalkR", "haven", "readxl", "remotes", "styler", "tidyverse", "tictoc",
"languageserver", "bookdown", "commonmark", "formatR", "kableExtra", "knitr",
"quarto", "rmarkdown", "roxygen2md", "gt", "gtools", "huxtable", "modeest",
"stargazer", "evd", "mvtnorm", "PearsonDS", "statip", "stats4", "ivreg",
"lmtest", "MatchIt", "plm", "sandwich", "CausalImpact", "fable", "feasts",
"forecast", "lubridate", "slider", "tsibble", "Ryacas", "GGally", "ggdag",
"ggforce", "gghighlight", "ggpmisc", "ggrepel", "ggvenn", "hexbin", "latex2exp",
"patchwork", "plotly", "RColorBrewer", "tidymodels", "glmnet", "xgboost",
"stacks", "finetune", "ranger", "doFuture", "bonsai", "lightgbm", "vip",
"yardstick", "kernlab", "sf", "NipponMap", "AER", "causaldata", "dslabs",
"Ecdat", "fivethirtyeight", "gapminder", "HistData", "mosaicData",
"nycflights13", "tsibbledata", "wooldridge", "orcutt",
# GitHub Packages
"httpgd", "Rttf2pt1", "extrafont", "ggmosaic", "fivethirtyeightdata"
)
# 重複を排除してソート
target_packages <- sort(unique(target_packages))
# インストール済みのパッケージを取得
installed_packages <- installed.packages()[, "Package"]
# 未インストールのパッケージを特定
missing_packages <- setdiff(target_packages, installed_packages)
# 結果の表示
cat("\n--- インストール状況の確認結果 ---\n")
if (length(missing_packages) == 0) {
cat("素晴らしい!すべてのパッケージ(", length(target_packages), "個)が正しくインストールされています.\n", sep = "")
} else {
cat("警告:以下の", length(missing_packages), "個のパッケージが見つかりませんでした:\n\n")
print(missing_packages)
cat("\nこれらを再インストールするには,元のスクリプトを再度実行するか,個別に install.packages() を試みてください.\n")
}
cat("----------------------------------\n")
Rへのフォントのインポート
extrafontパッケージを使ってシステムのフォントをRで使えるようにする.font_import()は一度実行すればよいが,Rの更新をした場合も再度行う必要がある.
library(extrafont)
font_import()
読み込んだフォントを実際に使うためにはloadfonts()関数をセッション毎に実行する.
TinyTeXのインストール
最近は複数のLaTeXを共存させるのが面倒なので,すべてTinyTeXで済ませている.
install.packages("tinytex")
tinytex::install_tinytex()
tinytex::tlmgr_install(c("haranoaji", "jlreq", "luatexja", "uptex",
"tex-gyre", "tex-gyre-math", "euler-math",
"ascmac", "pgf", "mathtools", "latexmk",
"colortbl", "pdflscape",
"collection-latexextra"))
TinyTeXのプログラムはすべて~/.TinyTeX/bin/x86_64-linux/にインストールされ,そこから必要なもののシンボリックリンクが~/binに作成される.個人的には標準で作成されるもの以外にupbibtexが必要なので,これは手動でリンクを作成する.
ln -s ~/.TinyTeX/bin/x86_64-linux/upbibtex ~/bin
VSCode関連
Windows側のVSCodeから接続するための設定を行う.
VSCodeのインストール
Windows側のPowerShellからwingetでインストールする.
winget install -q vscode
radian
VSCodeからRを使う場合,radianが便利と聞くので,Ubuntuにインストールする.
sudo apt install pipx
pipx install radian
radianのエイリアスを追加する.
alias r radian
lintr
~/.lintrファイルを作成.インデントは空白4つにしたい.
linters: linters_with_defaults(
indentation_linter(indent = 4L)
)
-
localhostでログインできるから実は不要. ↩