Uninstalled kwallet, can't login anymore [SOLVED]


Hi all

I got sick of Chromium asking for my password every startup for kde-wallet, so I decided to get rid of it. It wasn't in the extensions, so I figured I'd check the packages through Octopi.

I uninstalled kwallet.

Now I can't login, and the session box is empty, no selectable options.

Scoured the internet for a solution, but nothing so far. Does anyone know some command line things I can do to try and fix this? I can still use the commandline through ctrl+alt+F2 with sudo and everything, but I just don't know what to do.

Thank you very much in advance!


kwallet is part of kde..
I wonder if you removed a bunch of other things with it as well..
maybe you can get to tty to log in (CTRL+ALT+F3)
And maybe startkde or startx from there.

If you cant boot the desktop .. you can still see what you did by

cat /var/log/pacman.log

(and of course add software again using pacman or other tools)

1 Like

thank you for your reply. Well the desktop is booted, just can't get past the login screen. When I enter my password (i see the nice black dots) and press the play-button-like login button, nothing happens. On the top left there is an empty dropdown box named session, but I can select nothing. It's white.

I tried cat /var/log/pacman.log | less, to see what I did, but there are sooo many packages that were uninstalled when I removed kwallet, and I can't really copy paste like I'm used to in tty.

Reinstalling kwallet did nothing to fix it, btw.

I think I'll try to brush up my vim skills to see if I can extract the uninstalled package names from the log somehow. It's been a while though, and I'm rusty :stuck_out_tongue:

but once again, thank you a lot for getting back to me so quickly!

Much appreciated!

PS: Is it just me, or is it plain silly that removing a wallet from KDE breaks the whole thing?

There was at some point some bash-foo to nab that list and format it for easy install .. but I cant remember/find any snippets.

One way I thought of ..

If you removed everything from your cache but the most recent (1) packages ...
paccache -rvk1
then install everything in your cache:
sudo pacman -U /var/cache/pacman/pkg/* --needed
That would theoretically reinstall everything in your cache, including what you removed.
[maybe you could take some time to ls and rm anything you obviously dont want first .. because of crouse part of the idea here is that it will reinstall everything in your cache, which if it was not ever cleaned, might include everything you have removed in the past as well]

[edited to add the --needed flag so it skips already installed packages]

I suppose you could also use

 sudo pacman -Up /var/cache/pacman/pkg/* --needed

To get a list that should give you somewhat of an idea .. which you could then use to remove pkgs you dont want, skip them, or just reference to use pacman to download new installs for needed packages.

3 Likes

You sir, are amazing. I was able to restore most functionality with the removed packages in the pacman log.

Your eloquent solution with the pacman cache would have probably worked too, if I didn't try to install manjaro-kde-settings-manager and another package manjaro-xfce-gtk3-settings (I believe) in an effort to fix this, before I posted my question.

The command you suggested threw a conflict error between those two packages. And uninstalling both, and re-running your command didn't change that. I feel like such a noob for not understanding why this doesn't work as I thought it would.....

So in the end, I made a file pacmanremoved with all the packages I think I removed, using the pacman log, and ran:

sudo pacman -S cat ~/pacmanremoved
(with some extra `'s around the cat command, which I can't seem to post here as I entered it)

And BAM, all was reinstalled.

For fun, here's the list of packages that were uninstalled when I removed kwallet (which I still think is kind of weird, that all of this is removed for removing in my opinion a small single component):

accounts-qml-module accountsservice appstream appstream-qt ark attica baloo baloo-widgets bluedevil bluez-qt breath-icon-theme breeze breeze-icons calligra cauchy cfitsio convertlit discount djvulibre docbook-xml docbook-xsl dolphin dolphin-plugins ebook-tools editorconfig-core-c exiv2 ffmpegthumbs filelight frameworkintegration grantlee gsl gwenview http-parser kaccounts-integration kaccounts-providers kactivities kactivities-stats kactivitymanagerd kamera karchive kate kbookmarks kcalc kcmutils kcompletion kcontacts kcrash kde-cli-tools kde-gtk-config kde-servicemenus-rootactions kdeclarative kdeconnect kdecoration kded kdegraphics-thumbnailers kdelibs4support kdenetwork-filesharing kdeplasma-addons kdesu kdiagram kdialog kdnssd kdoctools keditbookmarks kemoticons kfilemetadata kfind kget kglobalaccel khelpcenter kholidays khotkeys khtml kiconthemes kinfocenter kinit kio kio-extras kirigami2 kitemviews kjobwidgets kjs kjsembed kmenuedit knetattach knewstuff knotifyconfig konsole konversation kpackage kparts kpeople kpmcore kross krunner kscreen kscreenlocker kservice ksshaskpass ksysguard ksystemlog ktexteditor ktextwidgets kunitconversion kwallet-pam kwalletmanager kwin kxmlgui libaccounts-glib libaccounts-qt libdmtx libfakekey libgit2 libieee1284 libkdcraw libkexiv2 libkipi libksane libkscreen libksysguard libktorrent libodfgen libpwquality libqalculate libraw librevenge libspectre libspnav libwpd libxres libzip manjaro-base-skel manjaro-kde-settings manjaro-settings-manager-kcm media-player-info milou modemmanager-qt networkmanager-qt noto-fonts-compat okular partitionmanager plasma-desktop plasma-framework plasma-integration plasma-nm plasma-pa plasma-workspace plasma5-themes-breath polkit-kde-agent poppler-qt5 powerdevil print-manager prison purpose qca qgpgme qqc2-desktop-style qrencode qt5-graphicaleffects qt5-quickcontrols qt5-quickcontrols2 qt5-script qt5-sensors qt5-tools qt5-webkit sane sddm-breath-theme sddm-kcm signon-kwallet-extension signon-plugin-oauth2 signon-ui signond skanlite smartmontools socat solid sonnet spectacle syntax-highlighting systemd-kcm systemsettings threadweaver ttf-hack upower user-manager xapian-core xcb-util-cursor xorg-xsetroot yakuake kwallet

**Thank you again, for saving me a lot of work if I had to reinstall the whole system :slight_smile: **

Glad you are up and working.

Yes .. kwallet is pretty ingrained with plasma.

Though usually you would have been warned or unable.. ex:

$ sudo pacman -Rns kwallet
error: failed to prepare transaction (could not satisfy dependencies)
:: kio: removing kwallet breaks dependency 'kwallet'
:: ksshaskpass: removing kwallet breaks dependency 'kwallet'
:: kwallet-pam: removing kwallet breaks dependency 'kwallet'
:: libksane: removing kwallet breaks dependency 'kwallet'
:: signon-kwallet-extension: removing kwallet breaks dependency 'kwallet'

$ sudo pacman -Rns kwallet kio ksshaskpass kwallet-pam libksane signon-kwallet-extension
error: failed to prepare transaction (could not satisfy dependencies)
:: baloo: removing kio breaks dependency 'kio'
:: bluedevil: removing kio breaks dependency 'kio'
:: ffmpegthumbs: removing kio breaks dependency 'kio'
:: kaccounts-integration: removing signon-kwallet-extension breaks dependency 'signon-kwallet-extension'
:: kactivitymanagerd: removing kio breaks dependency 'kio'
:: kamera: removing kio breaks dependency 'kio'
:: kdeclarative: removing kio breaks dependency 'kio'
:: kdegraphics-thumbnailers: removing kio breaks dependency 'kio'
:: kdenetwork-filesharing: removing kio breaks dependency 'kio'
:: kdialog: removing kio breaks dependency 'kio'
:: kfind: removing kio breaks dependency 'kio'
:: kinit: removing kio breaks dependency 'kio'
:: kio-extras: removing kio breaks dependency 'kio'
:: kmozillahelper: removing kio breaks dependency 'kio'
:: knewstuff: removing kio breaks dependency 'kio'
:: knotifyconfig: removing kio breaks dependency 'kio'
:: kparts: removing kio breaks dependency 'kio'
:: ksystemlog: removing kio breaks dependency 'kio'
:: kwalletmanager: removing kio breaks dependency 'kio'
:: libksysguard: removing kio breaks dependency 'kio'
:: partitionmanager: removing kio breaks dependency 'kio'
:: plasma-integration: removing kio breaks dependency 'kio'
:: skanlite: removing libksane breaks dependency 'libksane'
:: skanlite: removing kio breaks dependency 'kio'
:: systemd-kcm: removing kio breaks dependency 'kio'
:: user-manager: removing kio breaks dependency 'kio'
:: xdg-desktop-portal-kde: removing kio breaks dependency 'kio'

etc..

If you, like me, dislike programs asking for your password then make it empty. I never have to type a password since it doesn't exist, although kwallet uses and needs a password.

It looks like you re-installed the whole KDE part of Manjaro.

thats because the pactree of kwallet goes all through kde - kio, baloo, kdeclerative, kparts, user-manager, kio, kinit, dolphin, konsole, plasma-framework, plasma-workspace, etc

Yeah I know, I once wanted to uninstall a small KDE program but couldn't because it would uninstall half of KDE. I also thought: Why? Why is it all connected? Apparently it has to be that way.

Yeah .. the parts of KDE arent really modular/agnostic.

You can twist kde all about (certainly more than gnome) and add things to it ..

But if you want to nab a kde application while on another DE you will have to pull some chunks of kde in. Conversely, once you get to a certain layer of KDE you cant remove some pieces without unhinging a bunch.

@redpanda.tac
As to your original wallet/chrome issue ...
there are a few threads around about it.

Some people say just leave it empty.

I say let it work as it supposed to.
You must make sure it has the same password as your user (login)
wallet will also not be automatically opened if you user 'auto-sign-on'
(though I think you would have noticed that for wifi too)
If set up correctly it should then store your credentials in an encryted way and not bug you every first open. my chromium never asks for a password (but thats not because its blank .. its because the wallet was unlocked at login)

1 Like

I have a different password for master encryption on boot, than for this sudo enabled user account. But this second user account does login automatically, and that is where I installed games, Chromium, etc.

First Chromium run was a while back and I reinstalled the whole system on a new disk one time at the beginning. That was because of a failed SSD. So.. frankly I can't remember if I set up any kwallet keyring stuff this time, or even specifically for Chromium. Anyway, once I got sick of the constant password pop up on run, I decided on a strong line of action and get rid of the 'little monster'. (so naive...)

But I think I now understand how it all went down:

[below story is not really pertaining to the solution of the problem. stop reading if you're short on time.]

I know my way about linux a little bit from years back, working in a datacenter. Mostly doing hardware swaps though. Back then, I made some basic scripts working. By painstakingly iterating and googling and failing and learning. And liked it. It saved me a ton of work in the end. :sunglasses:
But without any real credentials, I'm no IT specialist or programmer or anything.

I was astounded at how easy everything worked so far with Manjaro; the whole install process, setting up Steam Games, having every bit of hardware - on either a Mac or a PC - in working order without even doing something. It was all so smooth! Later on, some minor issues I was able to work out on the spot, some I found a quick fix for by searching online. And this entire flow probably made me lazy: I pressed [Return] on a Y/n* without even reading what was there, during the process of uninstalling kwallet.

Perhaps I should have stopped, assessed, and proceeded, which I neglected to do in this case, which resulted in the eventual disintegration of my DE . :skull_and_crossbones:

Although kwallet is back to nag me now on each Chromium run, I'm calling it a night. I will continue crafting tomorrow, and if you're interested, post here if I can get it to work smoothly with your suggestions.

Very grateful! Good night!

*) It was indeed a Y/n, not a y/N, because I do investigate those every time.

I don't know if this is a right way to not use kwallet, but I simply take the check mark out next to it in settings, and I have never been asked for a password, other than root or when first logging in.