self.console_user

in itchef/cookbooks/cpe_helpers/libraries/cpe_helpers.rb [142:169]


    def self.console_user
      # memoize the value so it isn't executed multiple times per run
      @console_user ||=
        if macos?
          ::Etc.getpwuid(::File.stat('/dev/console').uid).name
        elsif linux?
          filtered_users = loginctl_users.select do |u|
            u['user'] != 'gdm' && u['uid'] >= 1000
          end
          if filtered_users.empty?
            # TODO T54156500: Evaluate whether this is still necessary
            CPE::Log.log(
              'No console user detected, falling back to machine owner',
              :type => 'cpe::helpers.console_user',
              :action => 'read_from_machine_owner',
            )
            machine_owner
          else
            filtered_users[0]['user']
          end
        elsif windows?
          logged_on_user_name
        end
    rescue StandardError => e
      Chef::Log.warn("Unable to determine user: 
      nil
    end