Installation Octorint auf Ubuntu 22.04 LTS

Als erstes system Aktualisieren
sudo apt update && sudo apt upgrade
Pyton version überprüfen
python3 -V
Wenn Pyton nicht instaliert ist mit
sudo apt install python3
instalieren.
Folgende Python dependencies werden benötigt

sudo apt install python3-pip
sudo apt install python3-dev
sudo apt install python3-setuptools
sudo apt install python3-venv
sudo apt install git
sudo apt install libyaml-dev
sudo apt install build-essential
Checken ob alles up to date ist pip install pip –upgrade # minu minus upgrade
Ermitteln der IP Adresse: hostname -I

Jetz muss ein neuer User erstellt werden:
Als Beispiel: octo
sudo useradd -m octo
Password (Beispiel)
sudo passwd octo yourpassword
Gruppen zum User Hinzufügen
sudo usermod -a -G tty,dialout octo
User octo anmelden:

su octo
cd ~
cd /home/octo
mkdir OctoPrint && cd OctoPrint

Anlegen des virtual environment:
python3 -m venv venv

Achtung space zwischen den Punkten
. ./venv/bin/activate
pip install –no-cache-dir octoprint #install minu minus


Test der Insallation
su octo
cd ~
cd /home/octo
python3 -m venv venv
. ./venv/bin/activate
~/OctoPrint/venv/bin/octoprint serve
Start OctoPrint user Interface
localhost:5000




Vorbereitung zum Autostart von OctoPrint
Datei erstellen -> octoprint.default

# Configuration for /etc/init.d/octoprint

# The init.d script will only run if this variable non-empty.
OCTOPRINT_USER=octo

# base directory to use
#BASEDIR=/home/octo/.octoprint

# configuration file to use
#CONFIGFILE=/home/octo/.octoprint/config.yaml

# On what port to run daemon, default is 5000
PORT=5000

# Path to the OctoPrint executable, you need to set this to match your installation!
#DAEMON=/home/octo/OctoPrint/venv/bin/octoprint

# What arguments to pass to octoprint, usually no need to touch this
DAEMON_ARGS="--port=$PORT"

# Umask of files octoprint generates, Change this to 000 if running octoprint as its own, separate user
UMASK=022

# Process priority, 0 here will result in a priority 20 process.
# -2 ensures Octoprint has a slight priority over user processes.
NICELEVEL=-2

# Should we run at startup?
START=yes

Datei wurde in Downloads abgespeichert
Datei nach -> /etc/default/octoprint kopieren
Nach downloads wechseln
cd Downloads
sudo cp octoprint.default /etc/default/octoprint


Datei erstellen -> octoprint.init

#!/bin/sh

### BEGIN INIT INFO
# Provides:          octoprint
# Required-Start:    $local_fs networking
# Required-Stop:
# Should-Start:
# Should-Stop:
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: OctoPrint daemon
# Description:       Starts the OctoPrint daemon with the user specified in
#                    /etc/default/octoprint.
### END INIT INFO

# Author: Sami Olmari & Gina Häußge

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DESC="OctoPrint Daemon"
NAME="OctoPrint"
PKGNAME=octoprint
PIDFILE=/var/run/$PKGNAME.pid
SCRIPTNAME=/etc/init.d/$PKGNAME
DEFAULTS=/etc/default/$PKGNAME

# Read configuration variable file if it is present
[ -r $DEFAULTS ] && . $DEFAULTS

# Define LSB log_* functions.
# Depend on lsb-base (>= 3.0-6) to ensure that this file is present.
. /lib/lsb/init-functions

# Exit if the DAEMON is not set
if [ -z "$DAEMON" ]
then
    log_warning_msg "Not starting $PKGNAME, DAEMON not set in /etc/default/$PKGNAME."
    exit 0
fi

# Exit if the DAEMON is not installed
[ -x "$DAEMON" ] || exit 0

# Load the VERBOSE setting and other rcS variables
[ -f /etc/default/rcS ] && . /etc/default/rcS

if [ -z "$START" -o "$START" != "yes" ]
then
   log_warning_msg "Not starting $PKGNAME, edit /etc/default/$PKGNAME to start it."
   exit 0
fi

if [ -z "$OCTOPRINT_USER" ]
then
    log_warning_msg "Not starting $PKGNAME, OCTOPRINT_USER not set in /etc/default/$PKGNAME."
    exit 0
fi

COMMAND_ARGS=
if [ -n "$BASEDIR" ]
then
    COMMAND_ARGS="--basedir $BASEDIR $COMMAND_ARGS"
fi

if [ -n "$CONFIGFILE" ]
then
    COMMAND_ARGS="--config $CONFIGFILE $COMMAND_ARGS"
fi

#
# Function to verify if a pid is alive
#
is_alive()
{
   pid=`cat $1` > /dev/null 2>&1
   kill -0 $pid > /dev/null 2>&1
   return $?
}

#
# Function that starts the daemon/service
#
do_start()
{
   # Return
   #   0 if daemon has been started
   #   1 if daemon was already running
   #   2 if daemon could not be started

   is_alive $PIDFILE
   RETVAL="$?"

   if [ $RETVAL != 0 ]; then
       start-stop-daemon --start --background --quiet --pidfile $PIDFILE --make-pidfile \
       --exec $DAEMON --chuid $OCTOPRINT_USER --user $OCTOPRINT_USER --umask $UMASK --nicelevel=$NICELEVEL \
       -- serve $COMMAND_ARGS $DAEMON_ARGS
       RETVAL="$?"
   fi
}

#
# Function that stops the daemon/service
#
do_stop()
{
   # Return
   #   0 if daemon has been stopped
   #   1 if daemon was already stopped
   #   2 if daemon could not be stopped
   #   other if a failure occurred

   start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --user $OCTOPRINT_USER --pidfile $PIDFILE
   RETVAL="$?"
   [ "$RETVAL" = "2" ] && return 2

   rm -f $PIDFILE

   [ "$RETVAL" = "0"  ] && return 0 || return 1
}

case "$1" in
  start)
   [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME"
   do_start
   case "$?" in
      0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
      2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
   esac
   ;;
  stop)
   [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
   do_stop
   case "$?" in
      0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
      2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
   esac
   ;;
  status)
   status_of_proc -p $PIDFILE $DAEMON $NAME && exit 0 || exit $?
   ;;
  restart)
   log_daemon_msg "Restarting $DESC" "$NAME"
   do_stop
   case "$?" in
     0|1)
      do_start
      case "$?" in
         0) log_end_msg 0 ;;
         1) log_end_msg 1 ;; # Old process is still running
         *) log_end_msg 1 ;; # Failed to start
      esac
      ;;
     *)
        # Failed to stop
      log_end_msg 1
      ;;
   esac
   ;;
  *)
   echo "Usage: $SCRIPTNAME {start|stop|status|restart}" >&2
   exit 3
   ;;
esac

Datei wurde in Downloads abgespeichert
Datei nach -> /etc/init.d/octoprint
sudo cp octoprint.init /etc/init.d/octoprint

Datei erstellen -> octoprint.service

[Unit]
Description=The snappy web interface for your 3D printer
After=network-online.target
Wants=network-online.target

[Service]
Environment="LC_ALL=C.UTF-8"
Environment="LANG=C.UTF-8"
Type=exec
User=octo
ExecStart=/home/octo/OctoPrint/venv/bin/octoprint

[Install]
WantedBy=multi-user.target

Datei wurde in Downloads abgespeichert
Datei nach -> /etc/systemd/system
sudo cp octoprint.service /etc/systemd/system



Enable octoprint service
sudo update-rc.d octoprint defaults

and start it
sudo service octoprint start

sudo systemctl enable octoprint.service

Start OctoPrint user Interface
IP:5000 oder http://localhost:5000

Thats all

Prusa Slicer installieren unter Ubuntu

Wichtig: Nach der Installation über die Ubuntu Software Verwaltung auf den Button
Permissions klicken, sonst kann es vorkommen das z.B. gemountete Netzlauwerke nich geschrieben werden könne.

Troubleshooting

Snap Store lässt sich nicht aktualisieren
killall snap-store
sudo snap refresh




Dieser Beitrag wurde unter Installation veröffentlicht. Setze ein Lesezeichen auf den Permalink.