Tôi đã mất vài giờ để chạy máy chủ VNC (x0vncserver) và máy khách từ chối kết nối với tin nhắn lạ
No password configured for VNC Auth
Máy chủ cũng in lỗi này
SVncAuth: opening password file '~/.vnc/passwd' failed
Ok, tôi đã lãng phí rất nhiều thời gian cho đến khi tôi nhận ra dấu ngã không được mở rộng bởi trình bao, cũng không phải bởi x0vncserver. Sau đó tôi chạy các bài kiểm tra này
$ echo --PasswordFile=~/.vnc/passwd
--PasswordFile=~/.vnc/passwd
Nhưng
$ echo PasswordFile=~/.vnc/passwd
PasswordFile=/home/tichomir/.vnc/passwd
Tại sao vậy? Tại sao shell từ chối mở rộng dấu ngã nếu đối số bắt đầu bằng dấu gạch ngang? Tôi nghĩ rằng dấu ngã sẽ luôn mở rộng miễn là nó không được trích dẫn, nhưng rõ ràng có một quy tắc khác đi vào hoạt động?