X-MATE 데스크톱 세션에서 gnome-keyring 시작을 중지할 수 없습니다.

X-MATE 데스크톱 세션에서 gnome-keyring 시작을 중지할 수 없습니다.

RHEL/CentOS 7 서버에 X-MATE 데스크톱 환경이 있습니다. 예전에는 Gnome 3였지만 여러 가지 이유로 교체되었습니다.

세션이 시작되면 gnome-keyring이 활성화되고 SSH_AUTH_SOCK과 같은 환경 변수를 제어합니다. 그 결과 Mate 터미널의 아웃바운드 연결이 작동하지 않습니다. SSH 소켓 변수를 설정 해제하면 모든 것이 정상입니다.

나는 오랫동안 이 문제를 해결하기 위해 노력해 왔으며 Redhat에게 도움을 요청하는 것을 포함하여 많은 것을 시도했습니다. 이유를 찾을 수는 없지만 아직 완전히 이해하지 못했을 수도 있습니다.

처음 설정할 때 프로세스 트리에서 gnome-keyring이 데스크톱 환경 설정과 관련된 다른 x-mate 프로세스 중 하나의 하위 프로세스로 시작된다는 것이 분명합니다.

첫 번째 변경 사항은 /etc/xdg/autostart/gnome-keyring-ssh.desktop, gnome-keyring-secrets =true의 파일에 X-MATE-Autostart=false, X-GNOME-Autostart=false 및 Hidden을 설정하는 것이었습니다. 데스크탑 및 gnome-keyring-pkcs11.desktop. 이 변경 사항은 적용되지 않습니다. 또한 $HOME/.config/autostart에 두 줄 항목 [Desktop Entry] Hidden=true를 사용하여 동일한 세 개의 파일을 추가하려고 했습니다.

다른 점이 없다.

마지막으로 /etc/pam.d/의 다양한 파일에서 gnome-keyring에 대한 참조를 찾았으며 일부 로그인 프로세스에 의해 시작될 수 있다고 생각했습니다. 나는 이 모든 줄에 주석을 달았습니다. 아니면 아닙니다.

지금 내가 보는 것은 gnome-keyring 프로세스가 여전히 존재하지만 PID 1 systemd의 하위 프로세스라는 것입니다. 내가 본 유일한 방법은 DBUS에서 활성화하는 것입니다. 하지만 저는 DBUS에 대해 잘 모릅니다.

물론 gnome 키링 프로세스를 종료하면 ssh 소켓이 사라지고 아웃바운드 ssh가 작동합니다.

DBUS에서 gnome-keyring을 비활성화하는 것이 현명하거나 논리적입니까? 그렇다면 어떻게 이루어지나요? 그렇지 않으면 gnome-keyring 패키지를 완전히 제거하려고 생각했지만 종속성으로 인해 이것이 불가능합니다.

우리는 gnome-keyring을 전혀 사용하지 않습니다. 하지만 우리는 그것을 막을 수 없을 것 같습니다.

10년전에 이런 글을 찾았습니다. https://ubuntuforums.org/showthread.php?t=1655397 그것은 정확히 같은 질문을 탐구합니다. "해결책"은 /usr/share/dbus-1/services/org.freedesktop.secrets.service에서 Exec=를 비활성화하는 것입니다. 이것을 시도했지만 재부팅이 필요하다고 생각합니다(다른 활성화가 가능하지 않은 경우). 이 주인은 잔디를 제대로 깎는 일이 쉽지 않았습니다. 그럼에도 불구하고 /etc/dbus-1/session.d/에서 재정의가 가능하다고 생각하지만 방법을 알 수 없습니다.

아이디어, 창의적인 해결 방법 또는 솔루션을 높이 평가하십니까?

답변1

당신 말이 맞습니다. gnome-keyring-daemondbus에 의해 시작됩니다. 관련 파일은 /usr/share/dbus-1/services/org.freedesktop.secrets.serviceopensuse에 있습니다(우분투의 경우인지는 확실하지 않지만 아마도 동일할 것입니다). 따라서 위 파일의 Exec 줄을 간단히 주석 처리하면 됩니다. 불행하게도 나는 사용자 세션에서 dbus 서비스 파일을 재정의하는 방법을 모릅니다(kde가 자체 데몬을 시작하기 때문에 이것이 가능할 것이라고 생각합니다).

추가 조사 후에 기본 $XDG_DATA_HOME/dbus-1/services위치 에 $XDG_DATA_HOME사용자 dbus 서비스 파일을 지정할 수 있습니다 ~/.local/share. 그러나 dbus는 시스템 파일만 사용하므로 재정의할 때 빈 Exec 라인을 사용하는 것만으로는 충분하지 않으므로 다른 서비스를 제공해야 합니다. 또한 org.freedesktop.secret.service플랫 패키지의 일부인 종속성으로 끌어들이는 것처럼 보입니다 . xdg-desktop-portal따라서 xdg-desktop-portal 서비스를 비활성화해도 작동할 수 있습니다.

이 문제에 대한 모순되고 잘못된 문서는 분노를 자아낸다고 말하고 싶습니다.

관련 정보