Если вы используете плазму5, я полагаю, что это уже включено.
Вы можете использовать опцию security.pam.services.
.
Добавьте в конфигурацию:
pam.services = [
{ name = "kwallet";
enableKwallet = true;
}
];
Это добавит необходимую запись pam в /etc/pam.d
$ cat /etc/static/pam.d/kwallet
# Account management.
account sufficient pam_unix.so
# Authentication management.
auth required pam_unix.so likeauth
auth optional /nix/store/llds2sy99zg92lrk9gsfzhpz7f6wnxdy-kwallet-pam-5.8.6/lib/security/pam_kwallet5.so kwalletd=/nix/store/x9q0g102hlxx60jb332xmdpq76ia1bja-kwallet-5.31.0/bin/kwalletd5
auth sufficient pam_unix.so likeauth try_first_pass
auth required pam_deny.so
# Password management.
password requisite pam_unix.so nullok sha512
# Session management.
session required pam_env.so envfile=/nix/store/5ninxpd3cmysfzlhij1afymd0gyg7x0p-pam-environment
session required pam_unix.so
session optional /nix/store/llds2sy99zg92lrk9gsfzhpz7f6wnxdy-kwallet-pam-5.8.6/lib/security/pam_kwallet5.so kwalletd=/nix/store/x9q0g102hlxx60jb332xmdpq76ia1bja-kwallet-5.31.0/bin/kwalletd5
Мое решение заключалось в том, чтобы поместить их в /etc/dhclient.conf
например:
prepend domain-name-servers 210.232.10.246;
prepend ...;
Таким образом, сначала проверяются эти серверы имен, а не когда они помещаются в / etc /resolv.conf.tail
, и подключение к VPN работает (частично) автоматически, по желанию.
Чтобы узнать больше о том, как пришло это решение и почему я не на 100% удовлетворен им, см. Мой обновленный вопрос.