Control your Rasp Pi projects with Python’s Tkinter library


VNC [2] is a platform-independent desktop sharing system. When the VNC server is enabled on the Rasp Pi, a remote VNC client can view and access the Rasp Pi desktop as if it were connected locally. You can install the VNC client software on Android, Windows, Mac OS, iOS, and Linux devices.

The VNC server is preinstalled on the Raspbian image. To enable the VNC server, enter:

sudo raspi-config

In raspi-config, select interfacing option, and then choose VNC and enable (Figure 5).

Figure 5: Configuring the Rasp Pi for a VNC interface.

After the VNC server is enabled, you'll need to set up the VNC user security. Click on the VNC tray icon and select the More button, and then choose Options. In the Options dialog, select Users & Permissions (Figure 6).

Figure 6: Configuring a VNC user.

To install the VNC client, go to the RealVNC site [3] and select the required operating system.

When your Rasp Pi boots without an HDMI monitor connected to the desktop, the resolution will be at a low setting (typically 800x600). You can adjust this resolution either in the client setup or on the VNC server in a ~/.vnc/config  file.


Tkinter is a simple way to build controls for your Rasp Pi projects without a lot of code. To enhance your applications, take a look at Tkinter's widgets and add-on libraries, such as Tix [4]. Figure 7 shows an enhancement to the rover project with a missile launcher and graphic buttons for the controls.

Figure 7: Tkinter-controlled rocket launcher.


  1. Python Tkinter documentation
  2. RealVNC Viewer download:
  3. RealVNC Connect download:
  4. Tix – Extension widgets for Tkinter:

The Author

You can investigate more neat projects by Pete Metcalfe and his daughters at

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy Linux Magazine

Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

comments powered by Disqus