Tumbleweed 20180530 无法使用 kdesu


#1

系统版本Tumbleweed 20180530。
终端内输入“kdesu -c dolphin”,输入密码后kdesu窗口冻结。同时终端内显示“kdesu_stub”。
切入journalctl -xe后显示相关日志:

...skipping...
6月 07 01:21:27 sh***-pc.workstation kdesud[4226]: org.kde.kdesud: priority set to  50
6月 07 01:21:27 sh***-pc.workstation kdesud[4226]: org.kde.kdesud: Scheduler set to  0
6月 07 01:21:27 sh***-pc.workstation su[8818]: pam_kwallet5(su:auth): (null): pam_sm_authenticate
6月 07 01:21:27 sh***-pc.workstation su[8818]: pam_kwallet5(su:auth): pam_kwallet5: Couldn't get password (it is empty)
6月 07 01:21:27 sh***-pc.workstation kwin_x11[2997]: QXcbConnection: XCB error: 3 (BadWindow), sequence: 49896, resource id: 161480708, ma>
6月 07 01:21:29 sh***-pc.workstation su[8821]: pam_kwallet5(su:auth): (null): pam_sm_authenticate
6月 07 01:21:29 sh***-pc.workstation su[8821]: pam_kwallet5(su:auth): pam_kwallet5: Couldn't get password (it is empty)
6月 07 01:21:29 sh***-pc.workstation su[8821]: (to root) sam on pts/4
6月 07 01:21:29 sh***-pc.workstation su[8821]: pam_kwallet5(su:setcred): pam_kwallet5: pam_sm_setcred
6月 07 01:21:29 sh***-pc.workstation su[8821]: pam_systemd(su:session): Cannot create session: Already running in a session
6月 07 01:21:29 sh***-pc.workstation su[8821]: pam_unix(su:session): session opened for user root by (uid=1000)
6月 07 01:21:29 sh***-pc.workstation su[8821]: pam_kwallet5(su:session): pam_kwallet5: pam_sm_open_session
6月 07 01:21:29 sh***-pc.workstation su[8822]: pam_kwallet5(su:session): pam_kwallet5: final socket path: /run/user/1000/kwallet5.socket
6月 07 01:21:29 sh***-pc.workstation su[8822]: pam_kwallet5(su:session): pam_kwallet5-kwalletd: Couldn't listen in socket
6月 07 01:21:29 sh***-pc.workstation su[8822]: pam_kwallet5(su:session): pam_kwallet5: Impossible to write walletKey to walletPipe
6月 07 01:21:29 sh***-pc.workstation su[8822]: pam_unix(su:session): session closed for user root
6月 07 01:21:29 sh***-pc.workstation su[8822]: pam_kwallet5(su:session): pam_kwallet5: pam_sm_close_session
6月 07 01:21:29 sh***-pc.workstation su[8822]: pam_kwallet5(su:setcred): pam_kwallet5: pam_sm_setcred
6月 07 01:21:29 sh***-pc.workstation su[8821]: pam_kwallet5(su:session): pam_kwallet5: Impossible to write walletKey to walletPipe
6月 07 01:21:31 sh***-pc.workstation su[8821]: pam_unix(su:session): session closed for user root
6月 07 01:21:31 sh***-pc.workstation su[8821]: pam_kwallet5(su:session): pam_kwallet5: pam_sm_close_session
6月 07 01:21:31 sh***-pc.workstation su[8821]: pam_kwallet5(su:setcred): pam_kwallet5: pam_sm_setcred
...skipping...

其中“pam_kwallet5: Impossible to write walletKey to walletPipe”标红,以这句话搜索没有找到有效信息。
尝试使用kdesu运行yast2等都不可以。可以运行sudo和su。
请问这是什么方面的问题,我需要怎么解决?或者,还需要提供哪些信息?


openSUSE-Gossip-20180403-20180625
#2

1、不勾选记住密码?这个界面有这个选项吗,已经忘了
2、rm /run/user/1000/kwallet5.socket,然后touch /run/user/1000/kwallet5.socket,再rm


#3

谢谢大半夜的回复!

  1. 有这个选项,但是现在而言勾不勾选没有用(没有变化,该卡死的还是卡死)
  2. 这样做了,重试“kdesu -c dolphin”仍然无效。

#4

本论坛是修仙论坛,不修仙的请自动注销账号
那就不清楚了,我只想到这些(


#5

修仙海星
不论如何,感谢你的帮助!


#6

@Voltaire

  1. 能否做一个干净点的 journal?我看到前面还有说密码为空的…
  2. 看下你的 pam 和 kwallet 相关包的安装情况?zypper se

#7

另外把 pam_kwallet5 去掉只搜 Impossible to write walletKey to walletPipe 在 Google 能出来一堆…


#8
  1. 刚刚又执行了一遍 journalctl -xe
6月 07 13:56:01 sh*****-pc.workstation kdesud[4226]: org.kde.kdesud: priority set to  50
6月 07 13:56:01 sh*****-pc.workstation kdesud[4226]: org.kde.kdesud: Scheduler set to  0
6月 07 13:56:01 sh*****-pc.workstation su[24577]: pam_kwallet5(su:auth): (null): pam_sm_authenticate
6月 07 13:56:01 sh*****-pc.workstation su[24577]: pam_kwallet5(su:auth): pam_kwallet5: Couldn't get password (it is empty)
6月 07 13:56:03 sh*****-pc.workstation su[24580]: pam_kwallet5(su:auth): (null): pam_sm_authenticate
6月 07 13:56:03 sh*****-pc.workstation su[24580]: pam_kwallet5(su:auth): pam_kwallet5: Couldn't get password (it is empty)
6月 07 13:56:03 sh*****-pc.workstation su[24580]: (to root) sam on pts/5
6月 07 13:56:03 sh*****-pc.workstation su[24580]: pam_kwallet5(su:setcred): pam_kwallet5: pam_sm_setcred
6月 07 13:56:03 sh*****-pc.workstation su[24580]: pam_systemd(su:session): Cannot create session: Already running in a session
6月 07 13:56:03 sh*****-pc.workstation su[24580]: pam_unix(su:session): session opened for user root by (uid=1000)
6月 07 13:56:03 sh*****-pc.workstation su[24580]: pam_kwallet5(su:session): pam_kwallet5: pam_sm_open_session
6月 07 13:56:03 sh*****-pc.workstation su[24581]: pam_kwallet5(su:session): pam_kwallet5: final socket path: /run/user/1000/kwallet5.socket
6月 07 13:56:03 sh*****-pc.workstation su[24581]: pam_kwallet5(su:session): pam_kwallet5-kwalletd: Couldn't listen in socket
6月 07 13:56:03 sh*****-pc.workstation su[24581]: pam_kwallet5(su:session): pam_kwallet5: Impossible to write walletKey to walletPipe
6月 07 13:56:03 sh*****-pc.workstation su[24581]: pam_unix(su:session): session closed for user root
6月 07 13:56:03 sh*****-pc.workstation su[24581]: pam_kwallet5(su:session): pam_kwallet5: pam_sm_close_session

zypper se | grep pam

   | bogofilter-common             | Fast Anti-Spam Filtering by Bayesian Statistical Analysis         | 软件包  
   | collectd-spamassassin         | Spamassassin Monitoring for collectd  | 软件包  
   | evolution-plugin-spamassassin | SpamAssassin plugin for the Evolution groupware suite             | 软件包  
   | fprintd-pam     | PAM module for fingerprint authentication           | 软件包  
   | fprintd-pam-32bit             | PAM module for fingerprint authentication           | 软件包  
   | gnome-keyring-pam             | GNOME 钥匙环—PAM 模块   | 软件包  
   | gnome-keyring-pam-32bit       | GNOME 钥匙环—PAM 模块   | 软件包  
   | google-authenticator-libpam   | Google 身份验证器的 PAM 模块          | 软件包  
   | google-authenticator-libpam-32bit           | Google 身份验证器的 PAM 模块          | 软件包  
   | kopano-spamd    | ICS-driven spam learning daemon for Kopano/SpamAssasin            | 软件包  
   | leechcraft-azoth-herbicide    | LeechCraft Azoth Antispam Module      | 软件包  
   | libopamgt-devel | Omni-Path library development headers | 软件包  
   | libopamgt0      | Omni-Path management API library      | 软件包  
   | libpamtest-devel| A tool to test PAM applications and PAM modules     | 软件包  
   | libpamtest-devel-doc          | The libpamtest API documentation      | 软件包  
   | libpamtest0     | A tool to test PAM applications and PAM modules     | 软件包  
   | libpurple-plugin-bot-sentry   | Libpurple plugin to prevent Instant Message spam    | 软件包  
   | librepute1      | Library for performing REPUTE queries for spammy domains          | 软件包  
   | monitoring-plugins-bl         | Check anti-spam blocklists for given server         | 软件包  
   | nss-pam-ldapd   | NSS module and daemon for using LDAP as a naming service          | 软件包  
   | nss-pam-ldapd-32bit           | NSS module and daemon for using LDAP as a naming service          | 软件包  
   | opam            | Source-based package manager for OCaml| 软件包  
   | opam-installer  | Standalone tool for opam install files| 软件包  
   | openvpn-auth-pam-plugin       | OpenVPN auth-pam plugin | 软件包  
i+ | pam             | A Security Tool that Provides Authentication for Applications     | 软件包  
i+ | pam-32bit       | A Security Tool that Provides Authentication for Applications     | 软件包  
i+ | pam-config      | Modify common PAM configuration files | 软件包  
i+ | pam-devel       | Include Files and Libraries for PAM-Development     | 软件包  
   | pam-devel-32bit | Include Files and Libraries for PAM-Development     | 软件包  
   | pam-doc         | Documentation for Pluggable Authentication Modules  | 软件包  
   | pam-python      | PAM module that allows PAM modules to be written in Python        | 软件包  
   | pam_apparmor    | PAM module for AppArmor change_hat    | 软件包  
   | pam_apparmor-32bit            | PAM module for AppArmor change_hat    | 软件包  
   | pam_cap         | PAM Module for Capabilities Support   | 软件包  
   | pam_cap-32bit   | PAM Module for Capabilities Support   | 软件包  
   | pam_ccreds      | Pam module to cache login credentials | 软件包  
   | pam_ccreds-32bit| Pam module to cache login credentials | 软件包  
   | pam_cgfs        | CGroup FS pam module    | 软件包  
   | pam_chroot      | Linux-PAM Module that Allows a User to Be Chrooted  | 软件包  
   | pam_chroot-32bit| Linux-PAM Module that Allows a User to Be Chrooted  | 软件包  
   | pam_cifscreds   | PAM module to manage NTLM credentials in kernel keyring           | 软件包  
   | pam_csync       | A PAM module for roaming home directories           | 软件包  
   | pam_csync-32bit | A PAM module for roaming home directories           | 软件包  
   | pam_dbus        | PAM module asking the logged in user for confirmation             | 软件包  
   | pam_krb5        | A Pluggable Authentication Module for Kerberos 5    | 软件包  
   | pam_krb5-32bit  | A Pluggable Authentication Module for Kerberos 5    | 软件包  
i+ | pam_kwallet     | A PAM Module for KWallet signing      | 软件包  
   | pam_kwallet     | A PAM Module for KWallet signing      | 源代码包
i+ | pam_kwallet-32bit             | A PAM Module for KWallet signing      | 软件包  
i+ | pam_kwallet-common            | Support files for the KWallet PAM module            | 软件包  
   | pam_mktemp      | PAM Module to Provide Per-User Private Directories Under /tmp     | 软件包  
   | pam_mktemp-32bit| PAM Module to Provide Per-User Private Directories Under /tmp     | 软件包  
   | pam_mount       | A PAM Module that can Mount Volumes for a User Session            | 软件包  
   | pam_mount-32bit | A PAM Module that can Mount Volumes for a User Session            | 软件包  
   | pam_oath        | PAM module for pluggable login authentication for OATH            | 软件包  
   | pam_p11         | PAM Authentication Module for Using Cryptographic Tokens          | 软件包  
   | pam_p11-32bit   | PAM Authentication Module for Using Cryptographic Tokens          | 软件包  
   | pam_passwdqc    | Simple Password Strength Checking Module            | 软件包  
   | pam_passwdqc-32bit            | Simple Password Strength Checking Module            | 软件包  
   | pam_pkcs11      | PKCS #11 PAM Module     | 软件包  
   | pam_pkcs11-32bit| PKCS #11 PAM Module     | 软件包  
   | pam_pkcs11-devel-doc          | PKCS #11 API PAM Documentation        | 软件包  
   | pam_pwquality   | PAM module to disallow weak new passwords           | 软件包  
   | pam_radius      | A PAM Module for User Authentication using a Radius Server        | 软件包  
   | pam_radius-32bit| A PAM Module for User Authentication using a Radius Server        | 软件包  
   | pam_script      | PAM module which allows executing a script          | 软件包  
   | pam_snapper     | PAM module for calling snapper        | 软件包  
   | pam_ssh         | PAM Module for SSH Authentication     | 软件包  
   | pam_ssh-32bit   | PAM Module for SSH Authentication     | 软件包  
   | pam_u2f         | U2F authentication integration into PAM             | 软件包  
   | pam_userpass    | Uses PAM Binary Prompts to Ask Applications for Username/Password | 软件包  
   | pam_userpass-32bit            | Uses PAM Binary Prompts to Ask Applications for Username/Password | 软件包  
   | pam_wrapper     | A tool to test PAM applications and PAM modules     | 软件包  
   | pam_yubico      | Yubico Pluggable Authentication Module (PAM)        | 软件包  
   | paman           | PulseAudio Manager      | 软件包  
   | pamix           | "alsamixer" for pulseaudio            | 软件包  
   | pamixer         | PulseAudio commandline mixer          | 软件包  
   | perl-Mail-SpamAssassin        | Perl Modules For Using Spamassassin Within An Own Perl Script     | 软件包  
   | perl-Mail-SpamAssassin-Plugin-iXhash2       | The iXhash plugin for SpamAssassin    | 软件包  
   | pidgin-plugin-privacy-please  | Anti-spam plugin for Pidgin           | 软件包  
   | psi+-plugins-stopspamplugin   | Plugin for Psi          | 软件包  
   | python2-libpamtest            | A python wrapper for libpamtest       | 软件包  
   | python2-python-pam            | Python PAM module using ctypes, py3/py2             | 软件包  
   | python3-libpamtest            | A python wrapper for libpamtest       | 软件包  
   | python3-python-pam            | Python PAM module using ctypes, py3/py2             | 软件包  
   | slurm-pam_slurm | PAM module for restricting access to compute nodes via SLURM      | 软件包  
   | spamassassin    | Extensible email filter which is used to identify spam            | 软件包  
   | uwsgi-pam       | PAM Plugin for uWSGI    | 软件包  
i+ | yast2-pam       | YaST2 - PAM 客户端      | 软件包  

zypper se | grep kwallet

   | falkon-kwallet       | KWallet plugin for Falkon           | 软件包  
   | kwallet-devel        | Safe desktop-wide storage for passwords              | 软件包  
   | kwallet-devel-32bit  | Safe desktop-wide storage for passwords              | 软件包  
i+ | kwallet-tools        | Safe desktop-wide storage for passwords              | 软件包  
i  | kwallet-tools-lang   | Safe desktop-wide storage for passwords              | 软件包  
i+ | kwalletd5            | Safe desktop-wide storage for passwords              | 软件包  
i+ | kwalletd5-lang       | Translations for package kwallet    | 软件包  
   | kwalletmanager       | 钱包管理工具       | 软件包  
i+ | kwalletmanager5      | 钱包管理工具       | 软件包  
i+ | kwalletmanager5-lang | Translations for package kwalletmanager5             | 软件包  
i+ | libkwalletbackend5-5 | Safe desktop-wide storage for passwords              | 软件包  
   | libkwalletbackend5-5-32bit            | Safe desktop-wide storage for passwords              | 软件包  
i+ | libsvn_auth_kwallet-1-0               | KWallet support for Subversion      | 软件包  
i+ | pam_kwallet          | A PAM Module for KWallet signing    | 软件包  
   | pam_kwallet          | A PAM Module for KWallet signing    | 源代码包
i+ | pam_kwallet-32bit    | A PAM Module for KWallet signing    | 软件包  
i+ | pam_kwallet-common   | Support files for the KWallet PAM module             | 软件包  
   | signon-kwallet-extension              | KWallet integration for signon framework             | 软件包  
  1. 确实出来了一堆,但看了一会,要不然就是蜜汁解决,要不然就是空在那里,要不然就是不相关的(比如说有个lightdm的,还有个kde的,但是却是2016年的)……

#9

好吧,那看起来那个 empty password 就不是操作失误了,我更新我的 TW 看看能不能重现


#10

@Voltaire

我重现了。之前没有安装 pam_kwallet pam_kwallet-32bit pam_kwallet-common 之前是可以的,装了以后就不可以了。

然后我就找到了解决方案:

编辑 /etc/pam.d/passwd,在后面加上这行:

-auth optional pam_kwallet5.so kdehome=.local/share

编辑 /etc/pam.d/login,在后面加上这行:

-session optional pam_kwallet5.so auto_start

编辑 /etc/pam.d/sddm,在后面加上这行:

-auth optional pam_kwallet5.so kdehome=.local/share
-session optional pam_kwallet5.so auto_start

然后就行了,参考:


#11

感谢!照做了以后问题没了:grinning: