平衡点


2024/06/12

_ wsl2 で systemd

CF-SR3 での生活環境構築 +(できてない)+ の続き

時間が取れないけれど, 流石に CF-RZ8 だけだと諸々厳しくなってきたので, ジタバタしていたり.

`systemd status` fails output on Ubuntu · Issue #8879 · microsoft/WSL · GitHub

の最後にある通り「systemd の 255.7 以降なら大丈夫!」を信じて wsl の Debian を trixie/sid に更新するなどしたら, 起動時に dbus に繋がらず, systemd の起動が timeout → WSL2 の init が起動, という状況であった.

wsl2 の DebugConsole を見ると cgroup v1 まわりでエラーを吐いているみたいな…

というわけで

cgroup2 /sys/fs/cgroup  cgroup2 rw,nosuid,nodev,noexec,relatime,nsdelegate      0       0

という内容で /etc/fstab を作成して wsl を再起動すると dbus も起動して, systemctl なども使える様になった.

…これは起動時の kernel のパラメータで指定した方が良いかなぁ.

(追記) ~/.wslconfig

[wsl2]
kernelCommandLine = cgroup_no_v1=all

として, /etc/fstab の内容は削除した. この場合でもちゃんと動いている.

_ wslg の設定

何も設定していない状況だと,

can't open DISPLAY :0

と怒られた.

既知の話かもしれないけれども. /etc/tmpfiles.d/wslg.conf あたりを作成して

L+      /tmp/.X11-unix  -       -       -       -       /mnt/wslg/.X11-unix

としておくと良い.


2024/06/17

_ WSLとWindowsの時刻同期

suspend & resume すると時刻がズレるのはどうにかならんかなぁ, と.

WSL 側で systemd-timesyncd を起動するってのでも良いんだけれど, やりたいことは母艦(?)の Windows 側との同期であって, これがちょっと面倒. つまり, WSL で systemd-timesyncd を動かしていると, WSL側の時刻は正しいのだけれど (Windows の時刻同期のタイミングとズレるのか), Windows と WSL で時刻がズレる.

どうしたモンかと思っていたが WSL では /dev/ptp0 が生えていて, これが母艦との時刻同期に使えるらしい.

残念ながら systemd-timesyncd はまだ ptp support が無い

というわけで chrony を使う.

これでどうなるのか, ちょっと試してみます.


2024/06/18

_ WSL で Windows 側のフォントを利用する

wslg でアプリケーションを起動することはそんなに無いと思うのだけれど, 一応.

/etc/fonts/local.conf

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
    <dir>/mnt/c/Windows/Fonts</dir>
    <dir>/mnt/c/Users/uwabami/AppData/Local/Microsoft/Windows/Fonts</dir>
</fontconfig>

と書いて fc-cache -fv を走らせておく.


2024/06/19

_ WSL2 での gpg-agent, ssh-agent

まあ Gpg4win - Secure email and file encryption with GnuPG for Windows を使えば良い, という話ではあるものの. 今の所 Windows 側の VSCode で作業する気も無いので.

WSLで閉じて, gpg-agent (と ssh-agent)を使うには(gnupg の準備は済んでいるモノとする).

  1. pinentry-curses を入れておく 最初は gnome-keyring + pinentry-gnome3 で, とか思っていたけれど 面倒な事にキー配列が US 配列になる(なったりならなかったりする)ので, パスワード入力が面倒.
  2. keychain も入れておく
  3. ~/.zshrc あたりで
    if [[ -d /mnt/wslg ]]; then
        if [[ -z $GPG_AGENT_INFO ]]; then
            eval $(keychain -q --eval --agents ssh,gpg $GPG_KEY_ID)
        fi
        typeset -gx SSH_AUTH_SOCK=$(gpgconf --list-dirs agent-ssh-socket)
        typeset -gx GPG_TTY=$(tty)
        gpg-connect-agent updatestartuptty /bye > /dev/null
    fi
    

    とでもしておくことに.

    初回に端末を開いた際に GPG の認証が走る (あと, 初回の ssh の接続の際にも認証が走る)が, 許容範囲.

とはいえ, secret-toolskeyring 触るし, 正直な所 WSLg のキー配列が US になる(なったりならなかったりする)のが解決してくれるのが一番良いんだけれど.

うーん.


連絡先など
最近の日記
  • 2024/10/09
    • 1. Mastodon でのメール通知, というか Exim4 と Apparmor
  • 2024/06/19
    • 1. WSL2 での gpg-agent, ssh-agent
  • 2024/06/18
    • 1. WSL で Windows 側のフォントを利用する
  • 2024/06/17
    • 1. WSLとWindowsの時刻同期
  • 2024/06/12
    • 1. wsl2 で systemd
    • 2. wslg の設定
一覧
2006|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|02|03|04|08|09|10|11|12|
2013|01|02|03|04|05|06|08|09|10|11|12|
2014|01|02|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|09|10|
2016|02|03|
2017|01|02|03|05|06|07|09|11|12|
2018|03|06|07|10|11|12|
2019|01|02|03|04|05|07|10|12|
2020|01|02|03|04|05|08|09|10|11|12|
2021|01|02|03|05|06|07|08|09|11|12|
2022|01|02|03|04|05|06|08|10|11|12|
2023|02|03|04|06|08|09|11|12|
2024|01|02|03|04|05|06|10|
Back to Top ▲