Open3

バグ・つまづき📝

rayfiyorayfiyo

nvimが使えない

$ nvim
dlopen(): error loading libfuse.so.2

AppImages require FUSE to run.
You might still be able to extract the contents of this AppImage
if you run it with the --appimage-extract option.
See https://github.com/AppImage/AppImageKit/wiki/FUSE
for more information

と出るとき

FUSE2のインストール

以下のようにパッケージマネージャーに合わせて(?)インストール

Ubuntu
sudo add-apt-repository universe
sudo apt install libfuse2
ArchLinux
sudo pacman -S fuse2

まあ https://github.com/AppImage/AppImageKit/wiki/FUSE に書いてあるけどね

rayfiyorayfiyo

githubのコミットにPGP署名付ける

手順

powershellでインストール

winget install -e --id GnuPG.Gpg4win

多分なくても(パスが通るので)いらないけど一応

echo pinentry-program /mnt/c/Program\ Files\ \(x86\)/Gpg4win/bin/pinentry.exe > ~/.gnupg/gpg-agent.conf
gpg-connect-agent reloadagent /bye

鍵作成

gpg --full-generate-key

ここで躓いた

(前略)
Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? O
We need to generate a lot of random bytes. It is a good idea to perform
some other action (type on the keyboard, move the mouse, utilize the
disks) during the prime generation; this gives the random number
generator a better chance to gain enough entropy.
gpg: agent_genkey failed: No pinentry
Key generation failed: No pinentry

と出力された.

解決策

WSLのUbuntuをアップデートしたときに色々死んだと思われる.
posh.exe みたいに wsl で exe が実行できない.(正しくない表現?)
https://tech.buty4649.net/entry/2023/04/21/170643
を参考にすれば解決

調べる

ls -lah /proc/sys/fs/binfmt_misc/WSLInterop
出力結果
ls: cannot access '/proc/sys/fs/binfmt_misc/WSLInterop': No such file or directory

解決

echo ":WSLInterop:M::MZ::/init:PF" | sudo tee /usr/lib/binfmt.d/WSLInterop.conf
sudo systemctl restart systemd-binfmt

調べる

ls -lah /proc/sys/fs/binfmt_misc/WSLInterop
出力結果
-rw-r--r-- 1 root wheel 0 1030 11:39 /proc/sys/fs/binfmt_misc/WSLInterop

うまく行った.
手順を最初からやり直すと全部うまく行った.

参考文献

インストールの手順:
https://zenn.dev/mtaku3/articles/07cfa52ab35d2f
インストール以外の手順:
https://simple-minds-think-alike.moritamorie.com/entry/gpg-commit

rayfiyorayfiyo

ArchlinuxのDockerでもmanコマンドを使う

(恐らく,Docker由来である.)

sudo pacman -S  --noconfirm  man-db
yay -S --noconfirm man-pages-ja

を行っても,

$ man man
No manual entry for man

となる.

ls /usr/local/share | grep man

をしてみると,/usr/local/share/manが生成されていなことが分かる.
調べてみると,Dockerコンテナ環境でmanコマンドを使えない問題を解決する方法 がヒットした.
これの Arch Linux 版 すなわち pacman 版を行えば良さそう.

sudo nvim /etc/pacman.conf

を実行し,

NoExtract  = usr/share/man/* usr/share/info/*

#でコメントアウトし,インストールをし直せば解決した.