> I can configure logrotate to rotate the logfile, that's
> not a problem. But even when it does, vncserver just keeps
> logging to the *original* file
Isn't this what the copytruncate option of logrotate is for?
copytruncate
Truncate the original log file to zero size in place after cre‐
ating a copy, instead of moving the old log file and optionally
creating a new one. It can be used when some program cannot be
told to close its logfile and thus might continue writing (ap‐
pending) to the previous log file forever. Note that there is a
very small time slice between copying the file and truncating
it, so some logging data might be lost. When this option is
used, the create option will have no effect, as the old log file
stays in place. The copytruncate option allows storing rotated
log files on the different devices using olddir directive. The
copytruncate option implies norenamecopy.
-- Henrique