Я програв пару годин, намагаючись запустити сервер VNC (x0vncserver), і клієнт відмовився з'єднатися із дивним повідомленням, що
No password configured for VNC Auth
Сервер також друкує цю помилку
SVncAuth: opening password file '~/.vnc/passwd' failed
Гаразд, я витратив багато часу, поки не зрозумів, що тильда не була розширена ні оболонкою, ні x0vncserver. Потім я провів ці тести
$ echo --PasswordFile=~/.vnc/passwd
--PasswordFile=~/.vnc/passwd
Але
$ echo PasswordFile=~/.vnc/passwd
PasswordFile=/home/tichomir/.vnc/passwd
Чому так? Чому оболонка відмовляється розширювати тильду, якщо аргумент починається з тире? Я думав, що тильда завжди буде розширюватися до тих пір, поки її не цитують, але, мабуть, є ще одне правило, яке вступає в гру?