Configuring VNC on Ubuntu 12.04 LTS Desktop Over SSH Before Logging In Locally

My goal was to log in to the Ubuntu 12.04 LTS Desktop desktop, over a SSH tunnel, using VNC, before anyone was logged into the desktop itself. This scenario occurs because although you may share your desktop over the built in “Desktop Sharing”, you may need to restart the system, and after rebooting you are left with a login screen desktop, but without a logged-in desktop to share.

The directions I followed are from this great post.

sudo /usr/bin/x11vnc -xkb -noxrecord -noxfixes -noxdamage -auth /var/run/lightdm/root/:0 -display :0 -passwd "yourpwhere" -forever -bg -o /var/log/x11vnc.log

Option notes: -xkb, help with keyboard modifiers. -noxrecord, don’t let the xserver do grabs, assume this helps with speed. -noxfixes, disable xfixes cursor shape mode, assume this helps with speed. -noxdamage, disable xdamage polling hints, this does help with speed, has to do with Ubuntu’s compiz. -auth, lightdm is the unity login manager. -display, the primary. -passwd not secure, tunnel over ssh also. -forever don’t quit after the first client disconnects. -bg go into background mode. -o redirect output here.

daemontools

daemontools is a collection of tools for managing UNIX services.

supervise monitors a service. It starts the service and restarts the service if it dies. Setting up a new service is easy: all supervise needs is a directory with a run script that runs the service.

multilog saves error messages to one or more logs. It optionally timestamps each line and, for each log, includes or excludes lines matching specified patterns. It automatically rotates logs to limit the amount of disk space used. If the disk fills up, it pauses and tries again, without losing any data.

(via PLT)

Easy FTP mirroring with wget

There are a lot of tools out there for mirroring data, but sometimes you just want to do something very simple: download the latest contents of a FTP directory while leaving what you have already downloaded alone. wget supports a mirror command that provides this exact functionality. Just enter the directory where you would like to store the mirror and execute this command:

wget --mirror [prot]://[username]:[password]@[hostname]/[directory to mirror]