/run/user/$uid é criado por pam_systemd e é usado para armazenar arquivos usados pela execução processos para esse usuário. Estas podem ser coisas como o daemon do seu anel de chaves, pulseaudio, etc.
Antes do systemd , esses aplicativos normalmente armazenavam seus arquivos em /tmp . Eles não podiam usar um local em /home/$user , já que os diretórios base são montados em sistemas de arquivos de rede, e esses arquivos não devem ser compartilhados entre os hosts. /tmp foi o único local especificado pelo FHS que é local e gravável por todos os usuários.
No entanto, armazenar todos esses arquivos em /tmp é problemático, pois /tmp é gravável para todos e, embora você possa alterar a propriedade & modo nos arquivos que estão sendo criados, é mais difícil trabalhar com ele.
Então o systemd apareceu e criou o /run/user/$uid . Este diretório é local para o sistema e somente acessível pelo usuário de destino. Portanto, os aplicativos que desejam armazenar seus arquivos localmente não precisam mais se preocupar com o controle de acesso.
Também mantém as coisas boas e organizadas. Quando um usuário efetua logout e nenhuma sessão ativa permanece, pam_systemd limpará o diretório /run/user/$uid . Com vários arquivos espalhados em torno de /tmp , você não poderia fazer isso.