title: How to run python scripts using gimpfu from command line?
body: <p>I'm trying to use functions of gimp 2.8.22 to convert a pdf to jpeg and i want to do that with a python script using the gimpfu library from my windows cmd (i have installed python 3.6.1). </p>
  
  <p>Right now, i't trying to do that with an example script:</p>
  
  <pre><code>#!/usr/bin/env python
  
  # Hello World in GIMP Python
  
  from gimpfu import *
  
  def hello_world(initstr, font, size, color) :
      # First do a quick sanity check on the font
      if font == 'Comic Sans MS' :
          initstr = "Comic Sans? Are you sure?"
  
      # Make a new image. Size 10x10 for now -- we'll resize later.
      img = gimp.Image(1, 1, RGB)
  
      # Save the current foreground color:
      pdb.gimp_context_push()
  
      # Set the text color
      gimp.set_foreground(color)
  
      # Create a new text layer (-1 for the layer means create a new layer)
      layer = pdb.gimp_text_fontname(img, None, 0, 0, initstr, 10,
                                     True, size, PIXELS, font)
  
      # Resize the image to the size of the layer
      img.resize(layer.width, layer.height, 0, 0)
  
      # Background layer.
      # Can't add this first because we don't know the size of the text layer.
      background = gimp.Layer(img, "Background", layer.width, layer.height,
                              RGB_IMAGE, 100, NORMAL_MODE)
      background.fill(BACKGROUND_FILL)
      img.add_layer(background, 1)
  
      # Create a new image window
      gimp.Display(img)
      # Show the new image window
      gimp.displays_flush()
  
      # Restore the old foreground color:
      pdb.gimp_context_pop()
  
  register(
      "python_fu_hello_world",
      "Hello world image",
      "Create a new image with your text string",
      "Akkana Peck",
      "Akkana Peck",
      "2010",
      "Hello world (Py)...",
      "",      # Create a new image, don't work on an existing one
      [
          (PF_STRING, "string", "Text string", 'Hello, world!'),
          (PF_FONT, "font", "Font face", "Sans"),
          (PF_SPINNER, "size", "Font size", 50, (1, 3000, 1)),
          (PF_COLOR, "color", "Text color", (1.0, 0.0, 0.0))
      ],
      [],
      hello_world, menu="&lt;Image&gt;/File/Create")
  
  main()
  </code></pre>
  
  <p>I try to run the script from my cmd like this:</p>
  
  <pre><code>gimp-2.8 --no-interface --batch '(python_fu_hello_world RUN-NONINTERACTIVE "Hello" Arial 50 red)' -b '(gimp-quit 1)'
  </code></pre>
  
  <p>However, no matter what i do, i always geht the same error message:</p>
  
  <blockquote>
    <p>(gimp-2.8:1020): LibGimpBase-WARNING **: gimp-2.8: gimp_wire_read():
    error</p>
  </blockquote>
  
  <p>edit: Ok, thanks. I left out the interface statement and I also tried out the most simple example to figure out whats wrong: </p>
  
  <pre><code>#!/usr/bin/env python
  
  # Hello World in GIMP Python
  
  from gimpfu import *
  
  def hello_world():
   gimp.message("Hello, GIMP world!\n")
  
  register(
   "hello_world",
   'A simple Python-Fu "Hello, World" plug-in',
   'When run this plug-in prints "Hello, GIMP world!" in a dialog box.',
   "Tony Podlaski",
   "Tony Podlaski 2017. MIT License",
   "2017",
   "Hello World",
   "",
   [],
   [],
   hello_world,
   menu="&lt;Image&gt;/Filters/HelloWorld",
  )
  
  main()
  </code></pre>
  
  <p>The script actually works when i run it from Gimp itself, but when i try to run it from my cmd, Gimp opens with another cmd saying: <code>Error: ( : 1) eval: unbound variable: hello_world</code></p>
  
  <p>Does someone know what i'm missing here?</p>