Skip to content

Desktop Slow After Login Due to Notification Center

Overview

After updating Elementary OS, the desktop becomes very slow immediately after login. The mouse can still move and applications remain running, but switching focus between windows becomes difficult and the desktop feels unresponsive.

Investigation showed that the issue was caused by Wingpanel Notification Center processing a very large backlog of notifications from WhatsApp Web.


Symptoms

  • Desktop becomes very slow after login.
  • Unable to activate windows running in the background.
  • Mouse remains responsive.
  • Keyboard shortcuts still work.
  • Terminal can still be opened.
  • High CPU utilization by io.elementary.wingpanel.

Example:

ps -eo pid,%cpu,%mem,cmd --sort=-%cpu | head

Example output:

PID %CPU CMD
4982 24.6 io.elementary.wingpanel
4937  6.2 /usr/bin/gala

Root Cause

Wingpanel Notification Center attempts to restore all previous notifications during login.

Most notifications originated from WhatsApp Web running in Google Chrome.

Each notification referenced a temporary icon stored under:

/tmp/com.google.Chrome.scoped_dir.*/icon.png

Since the /tmp directory is cleared after reboot, those icons no longer exist. Wingpanel repeatedly tries to load the missing icons, generating thousands of errors and causing high CPU utilization.

Example:

NotificationEntry.vala:79:
Unable to mask image:
Failed to open file "/tmp/com.google.Chrome.scoped_dir.xxxxxx/icon.png"

Resolution

โ‘  Verify the Symptoms

Confirm that the issue matches this known problem.

Check Wingpanel CPU utilization.

ps -eo pid,%cpu,%mem,cmd --sort=-%cpu | head

Expected problematic output:

io.elementary.wingpanel 20%+

Review notification errors.

journalctl --user | grep -i notification | tail -50

Look for repeated messages similar to:

NotificationEntry.vala:79:
Unable to mask image

โ‘ก Disable Website Notifications in Chrome

Stop the notification source.

  1. Open Google Chrome.
  2. Navigate to:

    chrome://settings/content/notifications
    
  3. Locate the website generating excessive notifications.

  4. Click โ‹ฎ โ†’ Block or Remove.

In this case:

https://web.whatsapp.com

Tip

If browser notifications are not required, disable website notifications completely by selecting Don't allow sites to send notifications.


โ‘ข Clear Notification Center Cache

Remove accumulated notification data.

Stop Wingpanel and Notification Service.

killall io.elementary.wingpanel
killall io.elementary.notifications

Remove the notification cache.

rm -rf ~/.cache/io.elementary.notifications

Log out and log back in.

Note

If the desktop immediately becomes responsive after stopping Wingpanel, the Notification Center is likely the root cause.


โ‘ฃ Verify the Resolution

Confirm the issue has been resolved.

Check CPU usage again.

ps -eo pid,%cpu,%mem,cmd --sort=-%cpu | head

Expected result:

io.elementary.wingpanel < 1%

Verify that notification errors no longer appear.

journalctl --user | grep -i notification

No repeated errors similar to:

NotificationEntry.vala:79
Unable to mask image

Finally, reboot the system and verify that:

  • Desktop loads normally.
  • Windows can be selected without delay.
  • Wingpanel CPU remains low.

Lessons Learned

  • The issue was not caused by:

    • Linux Kernel
    • NVIDIA Driver
    • Gala Window Manager
    • X11
  • The root cause was Wingpanel Notification Center processing thousands of stale Chrome notifications.

  • WhatsApp Web notifications can accumulate over time and significantly impact desktop responsiveness after reboot.


References

Check CPU Usage

ps -eo pid,%cpu,%mem,cmd --sort=-%cpu | head

Check Notification Errors

journalctl --user | grep -i notification

Stop Notification Services

killall io.elementary.wingpanel
killall io.elementary.notifications

Clear Notification Cache

rm -rf ~/.cache/io.elementary.notifications

Google Chrome Notification Settings

chrome://settings/content/notifications