Slow starting at boot

XFCE in use.

My journalctl shows several long delays due to the error…

localhost.localdomain sudo[2911]: gkr-pam: unable to locate daemon control file

There were no problems in LEAP 15.1. I could find no links to this error for LEAP 15.2.

Any ideas as to a solution?

Checking:


% grep gkr-pam /var/log/messages
2020-07-06T07:37:22.601438-05:00 nwr2 login: gkr-pam: unable to locate daemon control file
2020-07-06T07:38:01.451564-05:00 nwr2 gdm-password]: gkr-pam: unable to locate daemon control file
2020-07-09T13:34:28.394778-05:00 nwr2 sudo: gkr-pam: unable to locate daemon control file

Hmm, I’m seeing those message, but I am not seeing any related delay.

The first two of those logs where when I last logged in (Monday morning). The last was doing a test “sudo”, because your log entry showed “sudo”.

Google for “gkr-pam” gives a bunch of hits, but I did not find them useful.

The message comes from pam_gnome_keyring; it was added in pam: lookup XDG_RUNTIME_DIR using get_any_env (b22d058a) · Commits · GNOME / gnome-keyring · GitLab and login keyring not automatically unlocked on login (#26) · Issues · GNOME / gnome-keyring · GitLab explains why this message is output.

Same here, but still booting in some 18s like with 15.1. Maybe the OP needs to unlock the keyring for network or…

Sorry, I was wrong. It’s not the booting that’s slow, it’s XFCE starting. Should I start a new post for that?

An old thread, but has some useful information about clearing cache and saved sessions etc.
https://forum.xfce.org/viewtopic.php?id=5174

Yes, I had read that post. The files in question were under 15k long. I deleted them anyway, with no effect.

Thanks for the suggestion.

Is there a starting log kept for XFCE? I couldn’t find one with a web search.

Hi
Use systemd-analyse? If using xorg it should be in you user home directory;


less .local/share/xorg/Xorg.0.log

systemd-analyze chritical-chain

graphical.target @3.307s
└─multi-user.target @3.307s
  └─cron.service @3.066s
    └─postfix.service @2.228s +825ms
      └─time-sync.target @2.225s
        └─chronyd.service @2.100s +79ms
          └─network.target @2.099s
            └─NetworkManager.service @1.714s +101ms
              └─NetworkManager-dispatcher.service @2.224s +223ms
                └─basic.target @1.644s
                  └─sockets.target @1.644s
                    └─dbus.socket @1.644s
                      └─sysinit.target @1.641s
                        └─apparmor.service @872ms +769ms
                          └─var.mount @822ms +42ms
                            └─dev-disk-by\x2duuid-405524c6\x2d9192\x2d40a7\x2d9746\x2d61f02d243093.device @809ms

I will give that a try, but before I read your post I booted to level 3, logged in as user and invoked “startxfce4”. The ouput flew by, but much of it was repeated references to a “keyring” error. Is there a way I can save the output to a text file?

 #startxfce4 > xxx.txt 

did not save the output.

less .local/share/xorg/Xorg.0.log did not refer to XFCE and showed no errors. As for systemd-analyze. nothing looked slow…

 ion@localhost:~> systemd-analyze critical-chainThe time after the unit is active or started is printed after the "@" character.
The time the unit takes to start is printed after the "+" character.


└─multi-user.target @11.574s
  └─cron.service @11.573s
    └─postfix.service @9.717s +1.848s
      └─time-sync.target @9.684s
        └─chronyd.service @9.506s +176ms
          └─network.target @9.364s
            └─NetworkManager.service @7.944s +1.419s
              └─dbus.service @6.764s
                └─basic.target @6.662s
                  └─paths.target @6.662s
                    └─cups.path @6.662s
                      └─sysinit.target @6.646s
                        └─apparmor.service @1.566s +5.080s
                          └─system.slice
                            └─-.slice
lines 6-18/18 (END)

Times are slower than yours, but it’s an older CPU.

Hi
Apparmor service it adding almost 50% of the time 5 seconds…

After login it takes 49 seconds for the XFCE menu to show up. That’s considerably longer than under LEAP 15.1.

The output you’re seeing on screen probably comes from stderr. Repeat the command with &> instead of a plain >.

Thank you. I finally got something to look at.

Here is what startxfce4 reveals.

 ion@localhost:~> cat xxx.txt/usr/bin/startxfce4: Starting X server




X.Org X Server 1.20.3
X Protocol Version 11, Revision 0
Build Operating System: openSUSE SUSE LINUX
Current Operating System: Linux localhost.localdomain 5.3.18-lp152.20.7-default #1 SMP Mon Jun 29 14:58:38 UTC 2020 (2a0430f) x86_64
Kernel command line: BOOT_IMAGE=/boot/vmlinuz-5.3.18-lp152.20.7-default root=UUID=d90aeeb2-279a-470f-ba1d-45c85dca7a10 splash=silent resume=/dev/disk/by-uuid/9b352bee-33a4-4cc8-bf31-aaf171e9f2d6 quiet mitigations=auto 3
Build Date: 06 May 2020  12:00:00PM
 
Current version of pixman: 0.34.0
    Before reporting problems, check http://wiki.x.org
    to make sure that you have the latest version.
Markers: (--) probed, (**) from config file, (==) default setting,
    (++) from command line, (!!) notice, (II) informational,
    (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(==) Log file: "/home/ion/.local/share/xorg/Xorg.0.log", Time: Thu Jul  9 20:31:01 2020
(==) Using config directory: "/etc/X11/xorg.conf.d"
(==) Using system config directory "/usr/share/X11/xorg.conf.d"
xf86EnableIOPorts: failed to set IOPL for I/O (Operation not permitted)
resize called 1024 768
The XKEYBOARD keymap compiler (xkbcomp) reports:
> Internal error:   Could not resolve keysym XF86WWAN
> Internal error:   Could not resolve keysym XF86RFKill
Errors from xkbcomp are not fatal to the X server
xfce4-session: GNOME compatibility is enabled and gnome-keyring-daemon is found on the system. Skipping gpg/ssh-agent startup.
gnome-keyring-daemon: insufficient process capabilities, insecure memory might get used
** Message: 20:31:04.816: couldn't access control socket: /run/user/1000/keyring/control: No such file or directory


(xfsettingsd:1416): xfsettingsd-WARNING **: 20:31:06.728: Property "/Gdk/WindowScalingFactor" has an unsupported type "guint".
resize called 1024 768
Internal error:   Could not resolve keysym XF86WWAN
Internal error:   Could not resolve keysym XF86RFKill


(xfce4-panel:1978): xfce4-panel-CRITICAL **: 20:31:26.606: Name org.xfce.Panel lost on the message dbus, exiting.
Internal error:   Could not resolve keysym XF86WWAN
Internal error:   Could not resolve keysym XF86RFKill
Internal error:   Could not resolve keysym XF86WWAN
Internal error:   Could not resolve keysym XF86RFKill
Internal error:   Could not resolve keysym XF86WWAN
Internal error:   Could not resolve keysym XF86RFKill
Internal error:   Could not resolve keysym XF86WWAN
Internal error:   Could not resolve keysym XF86RFKill


(wrapper-2.0:2320): Gtk-WARNING **: 20:31:29.044: Negative content width -3 (allocation 1, extents 2x2) while allocating gadget (node button, owner GtkToggleButton)


(wrapper-2.0:2366): GLib-GIO-CRITICAL **: 20:31:29.056: g_file_new_for_path: assertion 'path != NULL' failed


(wrapper-2.0:2366): GLib-GIO-CRITICAL **: 20:31:29.057: g_file_monitor_file: assertion 'G_IS_FILE (file)' failed


(wrapper-2.0:2366): GLib-GObject-WARNING **: 20:31:29.057: invalid (NULL) pointer instance


(wrapper-2.0:2366): GLib-GObject-CRITICAL **: 20:31:29.057: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed


(wrapper-2.0:2366): Gtk-WARNING **: 20:31:29.057: Attempting to add a widget with type GtkToggleButton to a container of type XfcePanelPlugin, but the widget is already inside a container of type XfcePanelPlugin, please remove the widget from its existing container first.


(wrapper-2.0:2366): Gtk-WARNING **: 20:31:29.320: Negative content width -3 (allocation 1, extents 2x2) while allocating gadget (node button, owner GtkToggleButton)


HP Linux Imaging and Printing System (ver. 3.19.12)
System Tray Status Service ver. 2.0


Copyright (c) 2001-18 HP Development Company, LP
This software comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to distribute it
under certain conditions. See COPYING file for more details.




System Tray monitors the HP device status and Displays


Usage: hp-systray [MODE] [OPTIONS]




[MODE]
  Run in graphical    -u or --gui (Default)                                 
  UI mode:                                                                  


[OPTIONS]
  Use Qt5:            --qt5 (Default)                                       
  Set the logging     -l<level> or --logging=<level>                        
  level:                                                                    
                      <level>: none, info*, error, warn, debug (*default)   
  Run in debug mode:  -g (same as option: -ldebug)                          
  This help           -h or --help                                          
  information:                                                              


  Startup even if no  -x or --force-startup                                 
  hplip CUPS queues                                                         
  are present:                                                              


error: option -s not recognized
High Performance MPEG 1.0/2.0/2.5 Audio Player for Layers 1, 2 and 3
    version 1.25.10; written and copyright by Michael Hipp and others
    free software (LGPL) without any warranty but with best wishes


Directory: /home/ion/TEMP/
Playing MPEG stream 1 of 1: provata.mp3 ...


MPEG 2.5 L III vbr 11025 mono


gnome-keyring-daemon: insufficient process capabilities, insecure memory might get used
SSH_AUTH_SOCK=/run/user/1000/keyring/ssh
(uint32 1,)


HP Linux Imaging and Printing System (ver. 3.19.12)
System Tray Status Service ver. 2.0


Copyright (c) 2001-18 HP Development Company, LP
This software comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to distribute it
under certain conditions. See COPYING file for more details.




HP Linux Imaging and Printing System (ver. 3.19.12)
HPLIP upgrade latest version ver. 1.0


Copyright (c) 2001-18 HP Development Company, LP
This software comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to distribute it
under certain conditions. See COPYING file for more details.


error: HPLIP upgrade is disabled by openSUSE for security reasons, see https://bugzilla.novell.com/show_bug.cgi?id=853405 - if you like to upgrade HPLIP, use an openSUSE software package manager like YaST or zypper.


Done.


** (xfdesktop:2173): WARNING **: 20:31:41.342: Failed to set the background '/home/ion/DATA/PHOTOS/GREECE2010/IMG_0313.JPG': GDBus.Error:org.freedesktop.DBus.Error.InvalidArgs: No such interface “org.freedesktop.DisplayManager.AccountsService”


(tracker-extract:2433): Tracker-WARNING **: 20:31:43.713: Unknown desktop entry type 'Service'


(wrapper-2.0:2346): LIBDBUSMENU-GLIB-WARNING **: 20:31:45.324: Getting layout failed: GDBus.Error:org.freedesktop.DBus.Error.UnknownObject: No such object path '/NO_DBUSMENU'
ion@localhost:~> 


 

It might be unrelated, but there’s an issue with this hp-systray service. Try disabling/updating it.

Let me suggest you a better output so we can see how much time it takes:

startxfce4 | awk '{ print strftime("%Y-%m-%d %H:%M:%S]"), $0 }' &> output.log

Thank you for your assistance.

I did as suggested, invoking…

 ion@localhost:~> startxfce4 | awk '{ print strftime("%Y-%m-%d %H:%M:%S]"), $0 }' &> output.log

The resulting output.log file was created at the correct system time but was empty. I repeated the instruction with the same result Size on disk = 0 bytes.

My bad… the output is empty because the pipe receives only stdout, and we know we need stderr as well.

startxfce4 2>&1 | awk '{ print strftime("%Y-%m-%d %H:%M:%S]"), $0 }' &> output.log

Correction made. Result…

https://pastebin.com/L4btd5kQ

I’m not familiar with the inner workings of xfce nor do I have an instante readily available to inspect, that said I suspect there’s some misconfiguration, including out of order process dependencies:

  1. “GNOME compatibility is enabled” / “gnome-keyring-daemon: insufficient process capabilities, insecure memory might get used”: they might point to a misconfiguration;
  2. “xfsettingsd-WARNING **: 08:43:18.324: Property “/Gdk/WindowScalingFactor” has an unsupported type “guint”.”: I’d look into that;
  3. It spends 18 seconds spawning xfsettingsd process, until it either gives up or succeeds, I can’t tell from the logs. If it fails, then it is misconfigured X server, if it succeeds, it should be configured to wait X server to get up.