Para mostrar algo em um servidor X, o cliente X (como vlc ) requer que uma variável de ambiente DISPLAY seja definida, o que define o endereço de rede do servidor X. Em quase todos os casos (um servidor X local), ele deve ser atribuído a :0 .
Você pode definir essa variável a partir do seu script ou apenas executar bash -c "DISPLAY=:0 vlc $vlcopts" (obviamente substituindo $vlcopts ).