如果数据库被OSCrypt锁定,VSCode会卡住约30秒,尝试使用libsecret库,但无法初始化,

wgmfuz8q  于 6个月前  发布在  Vscode
关注(0)|答案(3)|浏览(69)

Bug

  • 使用 libsecret(~/.vscode/argv.json x "password-store": "gnome-libsecret","KDE环境,但操作系统钥匙串不可用进行加密",在使用keepassxc #187842时出现问题(评论))
  • 使用keepassxc(或其他?)
  • 在数据库中有vscode的密钥
  • SSI数据库被锁定,尝试启动VSCode
  • 观察vscode锁定约30秒,并出现消息[92965:1211/204454.929093:WARNING:key_storage_linux.cc(183)] OSCrypt tried Libsecret but couldn't initialise.

我认为这与Chrome创建的虚拟条目有关,如果在任何已锁定的数据库中找不到它,它就会锁定(即使它们已经在keepassxc中打开过一次,所以应该是“热”的)。请注意,这不是vscode 1.79版本的keytar的问题,那时它会在80%的情况下要求我先解锁数据库(奇怪的是keytar的实现有时会超时,而且我也不确定为什么)*
编辑:1.79.2版本的keytar和keepassxc有时会要求解锁数据库,但并非总是如此(likely a keepassxc bug if dbus-monitor is anything to go by);但至少keytar没有让vscode长时间无法使用(但它确实阻止/延长了关机时间,如果keytar无法解析/仍在尝试解析)
VS Code版本:Code 1.85.0(af28b32,2023-12-06T22:27:05.695Z)
操作系统版本:Linux x64 6.6.5-1-MANJARO
模式:
系统信息
| 项目 | 值 |
| ------ | ------ |
| CPUs | AMD Ryzen 7 5800X 8核处理器 (16 x 3700) |
| GPU状态 | 2d_canvas:启用canvas_oop_rasterization:禁用_offdirect_rendering_display_compositor:禁用_off_okgpu_compositing:启用multiple_raster_threads:启用_onopengl:启用_onrasterization:启用raw_draw:禁用_off_okvideo_decode:启用video_encode:禁用软件vulkan:禁用_offwebgl:启用webgl2:启用webgpu:禁用_off |
| 平均负载 | 3,2,2 |
| 内存(系统) | 15.53GB (9.39GB可用) |
| 进程参数 | .--verbose --crash-reporter-id 3159ccf7-dead-4761-b348-a6094ef14c0c |
| 屏幕阅读器 | 无 |
| VM | 0% |
| DESKTOP_SESSION | plasmawayland |
| XDG_CURRENT_DESKTOP | KDE |
| XDG_SESSION_DESKTOP | KDE |
| XDG_SESSION_TYPE | wayland |扩展(21)
| 扩展名| 作者(省略)| 版本|
| -------------| ------------| ------------|
| path-intellisense| chr| 2.8.5|
| gitignore| cod| 0.9.0|
| vscode-markdownlint| Dav| 0.53.0|
| vscode-eslint| dba| 2.4.2|
| gitlens| eam| 14.5.2|
| EditorConfig| Edi| 0.16.4|
| prettier-vscode| esb| 10.1.0|
| html-slim-scss-css-class-completion| gen| 1.7.8|
| gc-excelviewer| Gra| 4.2.58|
| vhs| gri| 0.0.4|
| todo-tree| Gru| 0.0.226|
| vscode-test-explorer| hbe| 2.21.1|
| graphql-for-vscode| kum| 1.15.3|
| rainbow-csv | mec | 3.9.0 |
| git-graph | mhu | 1.30.0 |
| test-adapter-converter | ms- | 0.1.8 |
| vscode-xml | red | 0.26.1 |
| bash-beautify | sha | 0.1.1 |
| markdowntable | Tak | 0.11.0 |
| even-better-toml | tam | 0.19.2 |
| markdown-all-in-one | yzh | 3.5.1 |A/B实验

v9tzhpje

v9tzhpje1#

关于原因的轻微更新:
经过进一步测试,无论是keytar还是新接口,都没有提示解锁的原因是因为keepassxc的问题keepassxreboot/keepassxc#10096。但是关于30秒锁定的问题仍然存在,我还注意到在提示激活时,vscode完全被锁定,而keytar则没有这种情况。

xlpyo6sf

xlpyo6sf2#

对我来说,在Fedora 38的Gnome桌面上发生了以下情况:

[1613249:0225/164242.206696:VERBOSE1:key_storage_util_linux.cc(52)] Password storage detected desktop environment: GNOME [1613249:0225/164242.206707:VERBOSE1:key_storage_linux.cc(118)] Selected backend for OSCrypt: GNOME_LIBSECRET [1613249:0225/164307.220735:WARNING:key_storage_linux.cc(168)] OSCrypt tried Libsecret but couldn't initialise. [1613249:0225/164307.220859:VERBOSE1:key_storage_linux.cc(137)] OSCrypt did not initialize a backend.

o0lyfsai

o0lyfsai3#

由于GNOME组织对最新桌面环境的实施过于愚蠢,现在无法运行多个桌面(尽管可以),但如果你这样做,示例管理器会进入一个奇怪的状态,从而导致这个副作用。
https://gitlab.gnome.org/GNOME/gnome-remote-desktop/-/issues/84#login-pane

相关问题