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

  • Tutorials – TkInter

    Expand your Python knowledge and write GUI apps with a smattering of code, thanks to the TkInter toolkit.

  • Go on the Rasp Pi

    We show you how to create a Go web app that controls Raspberry Pi I/O.

  • Function Generator HAT

    A touch display, a case, and a custom add-on board transform the humble Rasp Pi into a high-performance function generator that rivals expensive commercial offerings.

  • Practical Python in Linux

    We’ll introduce you to Python, an easy-to-learn scripting language, and also help you get started creating your own practical Python scripts.

  • RaspPi-Controlled Toy Sailboat

    With Node-RED, you can create a web dashboard that instructs a Raspberry Pi to set the rudder position on a toy sailboat.

comments powered by Disqus

Direct Download

Read full article as PDF:

Price $2.95