[How To] KlipperScreen on PC/Laptop

** Please advice how to improve this guide **


This is a guide to get KlipperScreen working on a normal PC/Laptop, with a normal screen or a touch-screen:
I used this on Linux, don’t know if it can be done on other operating systems.
Your Raspberry Pi (or other host) should already be set up.

A nice guide for installing Klipper:

*You must install all of below on your PC:

sudo apt-get install git -y
cd ~ && git clone https://github.com/th33xitus/kiauh.git
./kiauh/kiauh.sh

KIAUH:

  • Klipper
  • Moonraker
  • KlipperScreen

*Mainsail or Fluidd is only needed on your host/RPi!

Follow this:

*Install OpenSSH server:

sudo apt-get install openssh-server -y

*Get your host/RPi IP address on the Raspberry Pi:

ip a

(The section in white, whatever yours will be)

Create and edit ~/printer_data/config/KlipperScreen.conf
Read this:
“KlipperScreen.conf” example below: (The main thing is to change your IP address to that of the host/RPi)



# Reference: https://klipperscreen.readthedocs.io/en/latest/Configuration/

#####################################################################
#       Include files
#####################################################################
# Include another configuration file. Wildcards (*) will expand to match anything.
#[include conf.d/*.conf]


#####################################################################
#       Main Options
#####################################################################
[main]
# Invert axis in move panel. Default is False. Change to true to invert
#invert_x: False
#invert_y: False
#invert_z: False

# Time (seconds) before the Job Status page reverts to main menu after a successful job
#job_complete_timeout: 30

# Time (seconds) before the Job Status page reverts to main menu after a successful job.
#   If this option is 0, the user must click on a button to go back to the main menu.
job_error_timeout: 0

# Specify the language
#   The language can be specified here instead of using the system default language.
#language: en

# Allows the cursor to be displayed on the screen eg. you don't have a touch-screen
show_cursor: False   # True

# Allows to define custom systemctl command for restart like xrdp
#service: xrdp

# If multiple printers are defined, this can be set the name of the one to show at startup.
#default_printer: [your printer name]                                                                    


#####################################################################
#       Printer Options
#####################################################################
# Define printer and name. Name is anything after the first printer word
[printer Ender3]                        # Your printer name, whatever you want to call it. 
# Define the moonraker host/port if different from 127.0.0.1 and 7125
moonraker_host: 192.168.1.289           # This must match your RPi IP address!!
moonraker_port: 7125                    # This is the default and should work.
# Moonraker API key if this is not connecting from a trusted client IP
#moonraker_api_key: False

# Define the z_babystep intervals in a CSV list. Currently only 2 are supported
z_babystep_values: 0.01, 0.05

# Override the movement speed and set a specific for this printer.
# These setting overrides the settings configured in the UI. If specified,
# the values configured in the UI will not be used.
move_speed_xy: 50
move_speed_z: 10

# Define one or more moonraker power devices that turn on this printer (CSV list)
# Default is the printer name
#power_devices: example1, example2

# Define what items should be shown in titlebar besides the extruder and bed
# the name must be the same as defined in the klipper config
# valid options are temperature_sensors or temperature_fans, or heater_generic
titlebar_items:  mcu_temp, pi_temp, 


# The style of the user defined items in the titlebar
# Can be 'full' indicating that the full name is shown, 'short' for the first letter, or None (default) for no name
titlebar_name_type: short


#####################################################################
#       Z probe calibrate Option
#####################################################################
#[z_calibrate_position]
# The specified positions must be> 0 otherwise this option is ignored.
# the center of the print bed is a good value
#calibrate_x_position: 155
#calibrate_y_position: 155

[preheat PLA]
extruder: 200
heater_bed: 50

[preheat PETG]
extruder: 230
heater_bed: 70

[preheat ABS]
extruder: 230
heater_bed: 110

[preheat All_OFF]
extruder: 1
heater_bed: 1



#####################################################################
#       Bed Screws
#####################################################################
#[bed_screws]
# Rotation is useful if the screen is not directly in front of the machine.
# Valid values are 0 90 180 270
#rotation: 0


#####################################################################
#       Menu
#####################################################################
#[menu __main my_menu_item]
# To build a sub-menu of this menu item, you would next use [menu __main my_menu_item sub_menu_item]
#name: Item Name
#icon: home
# Optional Parameters
# Panel from the panels listed below
#panel: preheat
# Moonraker method to call when the item is selected
#method: printer.gcode.script
# Parameters that would be passed with the method above
#params: {"script":"G28 X"}
# Enable allows hiding of a menu if the condition is false. This statement is evaluated in Jinja2
#   Available variables are listed below.
#enable: {{ printer.power_devices.count > 0 }}

That is it, enjoy.

Hello, I followed this and installed everything as explained, but I have no idea how to now access the klipperscreen from the Laptop. Nothing on the Laptop visually changed and I’m unsure how to bring up the klipperscreen.

What OS are you running?
If you like, DM me on klipper discord (same name) and we can look at it. I had a permissions issue, and thier docs were instantly helpful as it shows a fix for each type of error based on log entries.

Hi, I do have a similar problem. I am using Klipper on a laptop and klipper screen on a BTT 5 inch touch screen. When I boot the host I can see the boot sequence on the screen, but once klipper is loaded screen is blank. I followed this procedure to fins out IP and updated conf file. I checked the logs and even though I updated moonraker IP in the conf file, logs show it default as 127.0.0.0 logs attached and any help will be appreciated, thank you!
logs-20240222-122620.zip (112.5 KB)