Se olharmos para a fonte para (uma versão do) i3lock, podemos ver ele determina o usuário cuja senha é necessária fazendo getuid()
. Portanto, definir a variável de ambiente USER
não tem efeito, e você precisará su ou sudo como esse usuário.