Minisforum UM790-Pro セットアップ
Powershellを管理者権限で実行して以下必要そうなパッケージを導入
winget install Microsoft.VisualStudioCode SlackTechnologies.Slack Discord.Discord AgileBits.1Password Microsoft.PowerShell Microsoft.WindowsTerminal
以下を実行して、WSLを実行できる環境を作りたかったが、何かが足りないようだ
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
PS C:\Users\takaf> wsl --list --online
インストールできる有効なディストリビューションの一覧を次に示します。
'wsl.exe --install <Distro>' を使用してインストールします。
NAME FRIENDLY NAME
Ubuntu Ubuntu
Debian Debian GNU/Linux
kali-linux Kali Linux Rolling
Ubuntu-18.04 Ubuntu 18.04 LTS
Ubuntu-20.04 Ubuntu 20.04 LTS
Ubuntu-22.04 Ubuntu 22.04 LTS
OracleLinux_7_9 Oracle Linux 7.9
OracleLinux_8_7 Oracle Linux 8.7
OracleLinux_9_1 Oracle Linux 9.1
openSUSE-Leap-15.5 openSUSE Leap 15.5
SUSE-Linux-Enterprise-Server-15-SP4 SUSE Linux Enterprise Server 15 SP4
SUSE-Linux-Enterprise-15-SP5 SUSE Linux Enterprise 15 SP5
openSUSE-Tumbleweed openSUSE Tumbleweed
PS C:\Users\takaf>
PS C:\Users\takaf> wsl --install Debian
インストール中: Debian GNU/Linux
Debian GNU/Linux がインストールされました。
Debian GNU/Linux を起動しています...
Installing, this may take a few minutes...
WslRegisterDistribution failed with error: 0x80370114
Error: 0x80370114 ???????????????????????????????????
Press any key to continue...
Windows Terminalでwsl --install Debian
を改めて試したところ、BIOSで仮想化有効にしてねと怒られた。
PS > wsl --install Debian
Debian GNU/Linux は既にインストールされています。
Debian GNU/Linux を起動しています...
Installing, this may take a few minutes...
WslRegisterDistribution failed with error: 0x80370102
Please enable the Virtual Machine Platform Windows feature and ensure virtualization is enabled in the BIOS.
For information please visit https://aka.ms/enablevirtualization
Press any key to continue...
タスクマネージャー > パフォーマンス > CPU を確認したら、確かに、仮想化が無効になっていた。
BIOSの起動方法は以下。以下の方法で再起動したら再起動後に「オプションの選択」の画面が出てきて、設定にたどり着けた。
仮想化が有効になった。
ちゃんと起動することができた。
PS > wsl --install Debian
Debian GNU/Linux は既にインストールされています。
Debian GNU/Linux を起動しています...
Installing, this may take a few minutes...
Please create a default UNIX user account. The username does not need to match your Windows username.
For more information visit: https://aka.ms/wslusers
Enter new UNIX username:
いろいろあって、上記でインストールしたDebianを消す羽目になり、UbuntuとDebianをインストールしたが、Ubuntuがデフォルトとなってしまった。
Debianをデフォルトとするために、以下を行った。
PS C:\Users\nmemoto> wsl --list
Linux 用 Windows サブシステム ディストリビューション:
Ubuntu (既定)
Debian
PS C:\Users\nmemoto> wsl --set-default Debian
この操作を正しく終了しました。
PS C:\Users\nmemoto> wsl --list
Linux 用 Windows サブシステム ディストリビューション:
Debian (既定)
Ubuntu
PS C:\Users\nmemoto>
一旦、インストールしたパッケージのアップグレード
まずは対象の有無を確認
PS > winget upgrade
名前 ID バージョン 利用可能 ソース
-----------------------------------------------------------------------------------------------------------------------
Microsoft Edge Microsoft.Edge 114.0.1823.82 114.0.1823.86 winget
Microsoft Visual C++ 2015-2019 Redistributable (x64) -… Microsoft.VCRedist.2015+.x64 14.29.30133.0 14.36.32532.0 winget
PowerShell 7-x64 Microsoft.PowerShell 7.3.5.0 7.3.6.0 winget
4 アップグレードを利用できます。
次のパッケージにはアップグレードを適用可能ですが、アップグレードには明示的対象化が必要です:
名前 ID バージョン 利用可能 ソース
--------------------------------------------------
Discord Discord.Discord 1.0.9013 1.0.9015 winget
全部アップグレード
PS > winget upgrade --all
名前 ID バージョン 利用可能 ソース
-----------------------------------------------------------------------------------------------------------------------
Microsoft Edge Microsoft.Edge 114.0.1823.82 114.0.1823.86 winget
Microsoft Visual C++ 2015-2019 Redistributable (x64) -… Microsoft.VCRedist.2015+.x64 14.29.30133.0 14.36.32532.0 winget
PowerShell 7-x64 Microsoft.PowerShell 7.3.5.0 7.3.6.0 winget
4 アップグレードを利用できます。
次のパッケージにはアップグレードを適用可能ですが、アップグレードには明示的対象化が必要です:
名前 ID バージョン 利用可能 ソース
--------------------------------------------------
Discord Discord.Discord 1.0.9013 1.0.9015 winget
(1/2) 見つかりました・・・・・
winget でのuninstallができなくなっていた。
PS C:\Users\nmemoto> winget uninstall Microsoft.VisualStudioCode
見つかりました Microsoft Visual Studio Code [Microsoft.VisualStudioCode]
パッケージのアンインストールを開始しています...
コマンドの実行中に予期しないエラーが発生しました:
0x800401f5 : �A�v���P�[�V������������܂��
そんなときは、直接アンインストーラーを実行すればよかった。
VSCodeは以下の場所にあった。
C:\Users\??????\AppData\Local\Programs\Microsoft VS Code
デフォルトで設定されたローカルのユーザー名が気に入らなくて変更したらすこぶる面倒なことになったので、何より一番最初にこれをやるべきだった。
WSLのDebianのセットアップ
Docker
Dockerのインストール
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
echo \
"deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \
"$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Docker インストール後のユーザ権限とsystemdの自動起動設定
sudo groupadd docker
sudo usermod -aG docker $USER
newgrp docker
sudo systemctl enable docker.service
sudo systemctl enable containerd.service
sudo service docker stop
sudo service docker start
fish
sudo apt-add-repository ppa:fish-shell/release-3
sudo apt update
sudo apt install fish
デフォルトシェル変更
chsh -s /usr/bin/fish
Go
バージョンを気にしないので、aptインストール
sudo apt install golang
nmemoto@um790pro ~> go version
go version go1.19.8 linux/amd64
ghq
go install github.com/x-motemen/ghq@latest
$HOME/go/bin/ghq
に実行ファイルができるが、パスが通っていないため、以下を追記した。
set PATH ~/go/bin $PATH
peco
sudo apt install peco
fish + ghq + peco
以下をほぼコピペ
バインドするキーだけ変更した
# peco
function fish_user_key_bindings
bind \ch peco_select_history # Bind for peco select history to Ctrl+H
bind \cd peco_change_directory # Bind for peco change directory to Ctrl+D
end
ssh key settings
GitHubにpushしたりするのに必要。
基本以下で問題ないが、
eval "$(ssh-agent -s)"
でこける。
eval (ssh-agent -c)
gh
Github CLIの導入
curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | sudo dd of=/usr/share/keyrings/githubcli-archive-keyring.gpg \
&& sudo chmod go+r /usr/share/keyrings/githubcli-archive-keyring.gpg \
&& echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null \
&& sudo apt update \
&& sudo apt install gh -y
リポジトリへのアクセスのためのエイリアス設定
r
でリポジトリ一覧を確認できるようにした。
alias r='cd $(ghq root)/$(ghq list | peco)'
WSLでブラウザを開くときに、WindowsのEdgeを開く設定
https://akimon658.github.io/en/p/2021/wsl-default-browser/ を参照
nmemoto@um790pro ~ [1]> sudo update-alternatives --install /usr/bin/x-www-browser x-www-browser /mnt/c/Program\ Files\ \
(x86\)/Microsoft/Edge/Application/msedge.exe 1
[sudo] password for nmemoto:
update-alternatives: using /mnt/c/Program Files (x86)/Microsoft/Edge/Application/msedge.exe to provide /usr/bin/x-www-browser (x-www-browser) in auto mode
上記を一度したが、一般的には環境変数BROWSER
に設定することを思い出し、以下としようとした。
# ブラウザ設定
set BROWSER "/mnt/c/Program\ Files\ \(x86\)/Microsoft/Edge/Application/msedge.exe"
さらに調べると、pwsh.exe /c start
を設定するとよさそうなことがわかった
# ブラウザ設定
set BROWSER "pwsh.exe /c start"
リポジトリのブラウザ画面を開くのに便利なエイリアス設定
alias open="pwsh.exe /c start" # https://secon.dev/entry/2020/09/03/073846/
alias rb='open https://$(ghq list | peco)' # Repository Browser
systemd
https://zenn.dev/link/comments/c0a91f8905b01c でDockerの自動起動の設定をしたが、デフォルトだとsystemdが有効でないことを知った。(service
コマンドを使っていたのはそれが理由だったのか。)
以下を参考にsystemd
を有効にした
(Debianの)wsl内の/etc/wsl.conf
を以下のようにする
[boot]
systemd=true
WindowsのPowershellで以下を実行して、WSLインスタンスを再起動する。
wsl --shutdown
確認したら確かに起動していた
sudo systemctl status docker
● docker.service - Docker Application Container Engine
Loaded: loaded (/lib/systemd/system/docker.service; enabled; preset: enabled)
Active: active (running) since Sun 2023-07-23 22:36:10 JST; 33min ago
TriggeredBy: ● docker.socket
Docs: https://docs.docker.com
Main PID: 134 (dockerd)
Tasks: 23
Memory: 127.3M
CGroup: /system.slice/docker.service
└─134 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
Jul 23 22:36:10 um790pro dockerd[134]: time="2023-07-23T22:36:10.497269509+09:00" level=info msg="Default bridge (docker0) is assigned with an IP address 172.17.0.0/16. Daemon >
Jul 23 22:36:10 um790pro dockerd[134]: time="2023-07-23T22:36:10.570896510+09:00" level=info msg="Loading containers: done."
Jul 23 22:36:10 um790pro dockerd[134]: time="2023-07-23T22:36:10.607051724+09:00" level=warning msg="WARNING: No blkio throttle.read_bps_device support"
Jul 23 22:36:10 um790pro dockerd[134]: time="2023-07-23T22:36:10.607080377+09:00" level=warning msg="WARNING: No blkio throttle.write_bps_device support"
Jul 23 22:36:10 um790pro dockerd[134]: time="2023-07-23T22:36:10.607083683+09:00" level=warning msg="WARNING: No blkio throttle.read_iops_device support"
Jul 23 22:36:10 um790pro dockerd[134]: time="2023-07-23T22:36:10.607086428+09:00" level=warning msg="WARNING: No blkio throttle.write_iops_device support"
Jul 23 22:36:10 um790pro dockerd[134]: time="2023-07-23T22:36:10.607097229+09:00" level=info msg="Docker daemon" commit=4ffc614 graphdriver=overlay2 version=24.0.4
Jul 23 22:36:10 um790pro dockerd[134]: time="2023-07-23T22:36:10.607284018+09:00" level=info msg="Daemon has completed initialization"
Jul 23 22:36:10 um790pro dockerd[134]: time="2023-07-23T22:36:10.761280209+09:00" level=info msg="API listen on /run/docker.sock"
Jul 23 22:36:10 um790pro systemd[1]: Started docker.service - Docker Application Container Engine.
wsl内のgit設定ができていなかったので、以下を実施
git config --global user.name "Takafumi Umemoto"
git config --global user.email "takafumi.umemoto@gmail.com"
IntelliJでdevcontainerでプロジェクトを開けるか試してみる