Perdí un par de horas tratando de ejecutar el servidor VNC (x0vncserver) y el cliente se negó a conectarse con un mensaje extraño que
No password configured for VNC Auth
El servidor también imprime este error.
SVncAuth: opening password file '~/.vnc/passwd' failed
Ok, perdí mucho tiempo hasta que me di cuenta de que la tilde no estaba expandida por el shell ni por x0vncserver. Entonces corrí estas pruebas
$ echo --PasswordFile=~/.vnc/passwd
--PasswordFile=~/.vnc/passwd
Pero
$ echo PasswordFile=~/.vnc/passwd
PasswordFile=/home/tichomir/.vnc/passwd
¿Porqué es eso? ¿Por qué el shell se niega a expandir tilde si el argumento comienza con un guión? Pensé que tilde siempre se expandirá siempre que no se cite, pero aparentemente hay otra regla que entra en juego.