LoginSignup
2
4

Ubuntu on WSL2をインストールしたらやっておくこと (2024年1月)

Last updated at Posted at 2021-12-16

はじめに

個人的なメモです.

2023/02/07

WSL2のUbuntuを再インストールしたのでそれに合わせて修正しました.

2024/01/11

WSLで名前解決ができない問題を解決できたので,あらためて再インストールし,systemdgenieに関する項を削除しました.

インストール

スマートアプリコントロールがオンになっている場合,wsl.exeの実行が拒否されるためあらかじめオフにしておく.

WSL設定のベストプラクティスにしたがってインストール.

環境によってはWSLから名前解決ができないので,WSLを停止してからDNSトンネリングを設定する.%UserProfile%.wslconfigファイルを作成して以下を記述する.

.wslconfig
[wsl2]
dnsTunneling=true

WSLを再起動し,ログインシェルを/bin/tcshに変更する.

> sudo apt install tcsh
> sudo chsh hogehoge

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 update-locale LANG=ja_JP.UTF-8

パッケージのインストール

Emacs

> sudo add-apt-repository ppa:kelleyk/emacs
> sudo apt update
> sudo apt install emacs28
> sudo apt install migemo-el

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

フォントの追加インストール

プログラミングフォント 白源 (はくげん/HackGen)PlemolJP (プレモル ジェイピー)をダウンロードして展開したフォルダを/usr/share/fonts/truetype/以下に移動.

> sudo mv /path/to/HackGen/ /usr/share/fonts/truetype/
> sudo mv /path/to/PlemolJP/ /usr/share/fonts/truetype/
> sudo fc-cache -vf

RとRStudio Serverのインストール

Download RStudio Server for Debian & Ubuntuにしたがってインストール.

Rのパッケージのインストール

RStudioにログインして以下を実行.

install.packages(c("devtools", "extrafont", "haven", 
                   "readxl", "remotes", "styler", "tidyverse"))
install.packages(c("bookdown", "commonmark", "formatR",
                   "kableExtra", "knitr", "quarto",
                   "rmarkdown", "roxygen2md"))
install.packages(c("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", "orcutt", "slider",
                   "tsibble"))
install.packages(c("Ryacas"))
install.packages(c( "GGally", "ggdag", "ggforce", "gghighlight",
                    "ggmosaic", "ggpmisc", "ggrepel",
                    "latex2exp", "patchwork", "plotly", 
                    "RColorBrewer"))
install.packages(c("tidymodels"))
install.packages(c("AER", "causaldata", "dslabs",
                   "Ecdat", "fivethirtyeight", "fivethirtyeightdata",
                   "gapminder", "HistData", "mosaicData",
                   "nycflights13", "tsibbledata", "wooldridge"))

Rへのフォントのインポート

extrafontパッケージを使ってシステムのフォントを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
  1. localhostでログインできるから実は不要.

2
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
4