0

I have a Raspberry Pi 2 on which I'm running Octopi, which is basically a headless installation of Raspbian Buster. It runs a web application from which I can remotely control a 3D printer.

Now, I would like to run a desktop application on it and display it remotely on a browser on the same network, much like you can do for the 3D printer control. The application in question is Prusa Slicer. I tried running Prusa Slicer on a Linux Mint machine via PuTTY and it's doable, although my Mint computer is a fully fledged desktop environment, with an X server and all the bells and whistles.

Is this possible while maintaining the Buster installation headless? Is this even possible at all?

5
  • 1
    Have you tried installing the app in question on Buster? Apr 22, 2020 at 9:12
  • @DmitryGrigoryev not yet, the application is a .appimage package, if it makes any difference.
    – vale.maio2
    Apr 22, 2020 at 9:27
  • "Headless" really refers to a hardware configuration (there's no physical human interface), not a software one, although there are obviously software configurations more and less tailored to it. So yes, you can install a GUI, a web browser, access that remotely and/or attach a monitor and control that remotely, etc. It is not going to mean the Pi will suddenly sprout a head and start talking back to you ;)
    – goldilocks
    Apr 22, 2020 at 14:00
  • @goldilocks OK sorry, bad wording then :) By headless I mean it doesn't have a GUI installed, it is intended to be used remotely from any browser in the same network. My question then is, can it be used to run an .appimage application the same way, from a remote browser?
    – vale.maio2
    Apr 22, 2020 at 14:49
  • My point was that yes, you can install a GUI on a headless system without hindering the potential to use it headless. You could be doing whatever you are doing with the "full" version of Raspbian or Raspbian lite, it doesn't really matter. The point of the light version is to save including a ton of software that you aren't going to use. They use the same repository (I'm guessing so does octopi, since it would probably be silly to maintain one separately just for that).
    – goldilocks
    Apr 22, 2020 at 15:16

1 Answer 1

2

The key requirement is:

I would like to run a desktop application on it

For this you need a graphical interface. On Linux it is at least the xserver-xorg. Installing it on a light installation will leave a big footprint but it does not install all bells and whistles of a complete desktop. It only provides the GUI you can also connect remotely. Assuming you have a lean Raspbian Buster Light installation without any graphical support, you can make a reduced installation:

pi@raspberrypi ~$ sudo apt install --no-install-recommends xserver-xorg

After this installation and a reboot you should be able to execute remotely a graphical program on the RasPi and have its window on your management client machine with a complete Desktop using X window, e.g. Raspbian Buster With Desktop. For testing I just installed sudo apt install x11-apps with some nice little helpers on the RasPi. From the management machine I execute the clock on the RasPi with:

mngmt ~$ ssh -Y [email protected] xclock

The clock is running on the RasPi but its window is shown on the management machine. You see the time on the RasPi. That is working with any graphical program and should also do with your program.

5
  • Ok that's a great start, thank you! I think the RPi can handle a basic GUI and the constant sending of GCODE to the printer. As I said on the original post it does work in Windows via PuTTY (at least from Mint, can't see why it won't work from Raspbian); is it possible opening the app from, say, Firefox instead of PuTTY?
    – vale.maio2
    Apr 22, 2020 at 20:40
  • @vale.maio2 Firefox is made to show (http) sides from a web server so you have to run a web server on the RasPi. As far as I understood this was not your intention. But you can run firefox on the RasPi but show its window on the management machine. Maybe you can direct connect to the web server the app is running on?
    – Ingo
    Apr 22, 2020 at 21:06
  • I think Octoprint uses a web server, although I'm not sure which one. Netstat -tnlp shows that ports 80 and 443 are being used by haproxy but, as far as I know, it's not technically a web server...? Right?
    – vale.maio2
    Apr 22, 2020 at 21:14
  • @vale.maio2 I don't know anything about your environment, so I cannot say much about it. But port 80 and 443 are reserved ports for http (80) and https (443). Maybe you can connect with your browser to the ip address that has this ports open?
    – Ingo
    Apr 22, 2020 at 21:52
  • Indeed. When connecting to the RPi IP address on port 80, the Octoprint web UI launches as expected. I was wondering if I could do a similar thing with another application running on the RPi.
    – vale.maio2
    Apr 22, 2020 at 22:22

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.