J'ai perdu quelques heures en essayant d'exécuter le serveur VNC (x0vncserver) et le client a refusé de se connecter avec un message étrange
No password configured for VNC Auth
Le serveur affiche également cette erreur
SVncAuth: opening password file '~/.vnc/passwd' failed
Ok, j'ai perdu beaucoup de temps jusqu'à ce que je réalise que le tilde n'était ni développé par le shell, ni par x0vncserver. Ensuite, j'ai exécuté ces tests
$ echo --PasswordFile=~/.vnc/passwd
--PasswordFile=~/.vnc/passwd
Mais
$ echo PasswordFile=~/.vnc/passwd
PasswordFile=/home/tichomir/.vnc/passwd
Pourquoi donc? Pourquoi le shell refuse de développer le tilde si l'argument commence par un tiret? Je pensais que le tilde se développerait toujours tant qu'il ne serait pas cité, mais apparemment il y a une autre règle qui entre en jeu?