Вопрос или проблема
У меня есть Ubuntu 20.04 с Gnome. Несколько месяцев назад я переключился на i3, и мне это нравится!
Единственная проблема, с которой я сталкиваюсь, заключается в том, что когда я запускаю программное обеспечение, которому нужен Gnome Keyring, оно ведет себя неправильно, например, Google Chrome больше не предлагает мне мои сохраненные пароли..
Когда я вхожу в i3 (после GDM), я запускаю Seahorse и вижу, что основной ключ заблокирован. Как можно разблокировать этот ключ при запуске i3? Пожалуйста, помогите.
Я предполагаю,
- ваш пароль для входа совпадает с паролем для keyring
- установлен libpam-gnome-keyring, который предоставляет pam_gnome_keyring.so.
Тогда вы запускаете gnome-keyring-daemon в ~/.config/i3/config,
exec --no-startup-id /usr/bin/gnome-keyring-daemon --start --components=ssh,secrets,pkcs11
Я публикую это решение, потому что это заняло у меня несколько часов для настройки. Ответ Coiby выше не сработал для меня.
-
Создайте новый скрипт для запуска gnome-keyring-daemon:
mkdir -p ~/.config/autostart echo -e '#!/bin/bash\n\n# Start gnome-keyring-daemon\nexport $(gnome-keyring-daemon --replace --foreground --components=secrets,ssh,pcks11)\n' > ~/.config/autostart/gnome-keyring.sh chmod +x ~/.config/autostart/gnome-keyring.sh
-
Добавьте запись .desktop в ~/.config/autostart, чтобы убедиться, что скрипт запускается при входе в систему.
cat <<EOL > ~/.config/autostart/gnome-keyring.desktop [Desktop Entry] Type=Application Exec=/home/$USER/.config/autostart/gnome-keyring.sh Hidden=false NoDisplay=false X-GNOME-Autostart-enabled=true Name[en_US]=GNOME Keyring Name=GNOME Keyring Comment[en_US]=Start GNOME Keyring Daemon at login Comment=Start GNOME Keyring Daemon at login EOL
-
Добавьте следующее в ваш .bashrc или .zshrc:
if [ -n "$GNOME_KEYRING_PID" ]; then export SSH_AUTH_SOCK=$(find /run/user/$UID -type s -name 'ssh*') fi
-
Выйдите и снова войдите в систему
Основано на этом вопросе: How to troubleshoot xdg-desktop-portal in i3 wm?
Мне пришлось отредактировать файл /usr/share/xdg-desktop-portal/portals/gnome-keyring.portal
и установить последнюю строку так:
UseIn=gnome;i3
Вы можете отключить его, хотя это отключает функции безопасности, которые он предлагает, или вы можете запустить демон gnome keyring при входе в систему.
Ответ или решение
Конечно, давайте подробно рассмотрим проблему с GNOME Keyring при использовании оконного менеджера i3 на Ubuntu 20.04.
Проблема
После перехода с GNOME на i3 многие пользователи сталкиваются с тем, что приложения, такие как Google Chrome, не могут получить доступ к сохраненным паролям, так как GNOME Keyring остается заблокированным после входа в систему.
Предварительные условия
- Пароль для входа в систему совпадает с паролем к GNOME Keyring.
- Установлен пакет
libpam-gnome-keyring
, который предоставляетpam_gnome_keyring.so
.
Решение
Чтобы гарантировать автоматическую разблокировку GNOME Keyring при старте i3, выполните следующие шаги:
1. Создание скрипта для запуска GNOME Keyring Daemon:
Создайте новый сценарий, который будет запускать gnome-keyring-daemon
при старте системы:
mkdir -p ~/.config/autostart
echo -e '#!/bin/bash\n\n# Start gnome-keyring-daemon\nexport $(gnome-keyring-daemon --replace --foreground --components=secrets,ssh,pkcs11)\n' > ~/.config/autostart/gnome-keyring.sh
chmod +x ~/.config/autostart/gnome-keyring.sh
2. Создание .desktop
файла для автоматического запуска:
Создайте файл .desktop
, чтобы убедиться, что скрипт запускается при входе в систему:
cat <<EOL > ~/.config/autostart/gnome-keyring.desktop
[Desktop Entry]
Type=Application
Exec=/home/$USER/.config/autostart/gnome-keyring.sh
Hidden=false
NoDisplay=false
X-GNOME-Autostart-enabled=true
Name[en_US]=GNOME Keyring
Name=GNOME Keyring
Comment[en_US]=Start GNOME Keyring Daemon at login
Comment=Start GNOME Keyring Daemon at login
EOL
3. Настройка оболочки:
Добавьте следующий код в ваш .bashrc
или .zshrc
, чтобы установить переменную окружения для SSH-агента:
if [ -n "$GNOME_KEYRING_PID" ]; then
export SSH_AUTH_SOCK=$(find /run/user/$UID -type s -name 'ssh*')
fi
4. Обновление конфигурации xdg-desktop-portal
:
Отредактируйте файл /usr/share/xdg-desktop-portal/portals/gnome-keyring.portal
и добавьте:
UseIn=gnome;i3
Эти шаги помогут вам автоматически разблокировать GNOME Keyring при входе в систему через i3, обеспечивая нормальную работу программ, которые зависят от этого инструмента для управления паролями и сертификатами. После выполнения всех настроек, обязательно выйдите из системы и снова войдите, чтобы изменения вступили в силу.
Заключение
Устранение данной проблемы требует нескольких шагов по настройке, однако, следуя описанным действиям, вы сможете вернуть функциональность GNOME Keyring в i3, обеспечив удобный и безопасный доступ к вашим паролям и другим секретам.
Если остались вопросы или возникли сложности, рекомендуется обратиться к документации Ubuntu или специализированным форумам сообщества.