Shared Desktop - crontab - Usermanagement

  • Hey zusammen.


    Ich habe mir überlegt für eine Arbeitsgruppe einen "shared Desktop" zur verfügung zu stellen. Dafür möchte ich einen seperaten Benutzer einrichten welcher natürlich keine root-Rechte besitzt. Diesbezüglich sind jedoch einige Fragen aufgetaucht die ich hier gerne stellen würde.


    1. Habe ich richtig verstanden dass die crontab Benutzerspezifisch ist und für jeden Nutzer seperat angelegt werden muss?
      1.1 Falls das so ist gehe ich davon aus dass sich der Raspberry beim booten also automatisch mit dem Benutzer pi einloggt?
    2. Kann ich mich mittels VNC oder xrdp mit dem neuen Benutzernamen anmelden wenn pi bereits eingeloggt ist?
      2.1 Falls ja, bleibt pi eingeloggt oder wird der dann automatisch abgemeldet? Bzw was mich mehr interessiert ob die crontab vom Benutzer pi aktiv bleibt?

    Bin auch gerne für alternative Vorschläge offen wenn es einfachere/bessere möglichkeiten gibt einen "shared Desktop" auf dem Raspberry umzusetzen.


    Ziel:

    Einen Desktop zur verfügung stellen mit eingeschränkten nutzerrechten.

    Es hat zwar mehrere Benutzer, es ist jedoch nicht zwingend notwendig dass alle gleichzeitig angemeldet sein können. Es reicht vollkommen wenn nur jeweils ein Benutzer eingeloggt sein kann.


    Die erreichbarkeit von aussen mache ich mittels VPN und als Remoteapplikation dachte ich an VNC.


    Grüsse Apop.

    Ich suche nicht nach einer fertigen Lösung sondern nach dem Weg dahin ;)

    Edited once, last by Apop85 ().

  • Moin Apop85,



    Habe ich richtig verstanden dass die crontab Benutzerspezifisch ist und für jeden Nutzer seperat angelegt werden muss?
    1.1 Falls das so ist gehe ich davon aus dass sich der Raspberry beim booten also automatisch mit dem Benutzer pi einloggt?

    Es gibt eine System-Crontab und es gibt Benutzer-Crontab. Für jeden eingerichteten User.

    zu 1.1: Wenn du das mit raspi-config so eingetragen hast, ja. Normalerweise bootet er bis zur Anmeldung und wartet auf selbige.


    Kann ich mich mittels VNC oder xrdp mit dem neuen Benutzernamen anmelden wenn pi bereits eingeloggt ist?
    2.1 Falls ja, bleibt pi eingeloggt oder wird der dann automatisch abgemeldet? Bzw was mich mehr interessiert ob die crontab vom Benutzer pi aktiv bleibt?

    Ja, du kannst dich nochmal anmelden. Es können sich auch die anderen user anmelden.

    Es wird niemand rausgekegelt


    Die Frage ist, wieviel VNC-Sessions kann der Raspberry / VNC-Server. Sollte man mal ausprobieren....


    Gruss Bernd

    Ich habe KEINE Ahnung und davon GANZ VIEL!!
    Bei einer Lösung freue ich mich über ein ":thumbup:"

    Vielleicht trifft man sich in der RPi-Plauderecke.

  • Hey Bernd


    Danke für die Antworten :)


    Gemäss dieser Angabe kommt es ganz darauf an welche Prozesse da ausgeführt werden sollen bei den jeweiligen Benutzern. Einer schrieb zumindest dass es mit zwei sicher funktionieren würde. Da mir diese Angabe bereits reichte hab ich da nicht weiter recherchiert.


    Wenn der Benutzer "USER1" bereits über VNC eingeloggt ist und man selbst auch als "USER1" einloggen möchte kommt man wohl in eine art Spectatormodus in welchem man zwar zusehen aber nicht interagieren kann. Bei mir wäre es nur der Browser der da laufen würde und eben es müssen nicht mehrere User gleichzeitig online sein können. Es reicht wenn einer sich einloggen kann. Daher denke ich die zusätzliche Belastung ist diesbezüglich verkraftbar.


    Grüsse Apop

    Ich suche nicht nach einer fertigen Lösung sondern nach dem Weg dahin ;)

  • Habe ich richtig verstanden dass die crontab Benutzerspezifisch ist und für jeden Nutzer seperat angelegt werden muss?
    1.1 Falls das so ist gehe ich davon aus dass sich der Raspberry beim booten also automatisch mit dem Benutzer pi einloggt?

    crontabs werden im Hintergrund vom crond (cron-daemon) ausgeführt, egal ob der jeweilige Benutzer angemeldet ist oder nicht.

    Menschen die keine Ironie verstehen finde ich super!

  • Danke llutz. Gut zu wissen.


    Hmm ich glaub das funktioniert so nicht wie ich mir das vorgestellt habe. Wenn ich mich über VNC mittels dem neu erstellten Benutzer einlogge kriege ich trozdem den Desktop vom Benutzer pi mit root-Rechten angezeigt. Im nachhinein eigentlich logisch da der VNC-Server ja unter dem Benutzer pi läuft...


    Meine Idee war eher dass die verbundenen Benutzer einen eigenen Desktop zur verfügung haben. Das scheint jedoch mit VNC nicht möglich zu sein. Zumindest hätte ich dazu nichts gefunden.


    Sind da jemandem Alternativen bekannt mit welchen sich sowas umsetzen liesse? Oder geht das evt doch mit VNC nur habe ich die falschen Suchbegriffe verwendet?


    Ein Gedanke war ja ein virtueller Desktop aber das stell ich mir dann doch sehr Ressourcenintensiv vor...


    Grüsse Apop

    Ich suche nicht nach einer fertigen Lösung sondern nach dem Weg dahin ;)

    Edited once, last by Apop85 ().

  • Hallo Apop !


    Wenn Du für jede Userverbindung einen gesonderten Port verwendest (VNC default: 5900) ist die Anzahl der gleichzeitig aktiven Clients eigentlich nur durch die Grösse des Swap-Files beschränkt. Du könntest den Clients auch nur ein Programm, oder ein Fenster zuweisen.


    Eine Übersicht was möglich ist und mit welchen Programmen finstest Du u.A. bei https://wiki.ubuntuusers.de/VNC/


    Servus !

    RTFM = Read The Factory Manual, oder so

  • Hey RTFM


    Super genau danach hab ich gesucht :) Ich möchte eigentlich nur den Browser anzeigen lassen. Nur dummerweise werden die unterschiedlichen Desktops als "Displays" bezeichnet was die Suche nach Anleitungen/Erklärungen spezifisch zu dem Thema etwas erschwert. Krieg hauptsächlich Resultate in welchen es um Monitore geht ^^ . Du wüsstest da nicht zufälligerweise einen Link mit einer guten Anleitung?


    Habe nur diese Seite gefunden die halbwegs nützlich ist nur leider ist die von 2014.


    EDIT: Das erstellen eines weiteren Displays bzw eines virtuellen Desktops hab ich mit vncserver :1 hingekriegt. Jedoch selbes Problem. Auch darauf ist noch pi mit root-Rechten eingeloggt ^^


    Grüsse Apop

    Ich suche nicht nach einer fertigen Lösung sondern nach dem Weg dahin ;)

    Edited once, last by Apop85 ().

  • Du hast Dir den Link aus #6 aber nicht wirklich durchgelesen, oder Du hast das X-Windows System grundsätzlich nicht verstanden. Nach der verlinkten Beschreibung hätte ich x11vnc einmal genauer angeschaut, weil der X-Server dort gestartet wird, wo er eigentlich hingehört (am Client).


    Anleitungen habe ich keine, auch keine per Video. Ich komme grundsätzlich mit der eingebauten Bedienungsanleitung zurecht, wenn ich ein Programm installiere, oder ändere.

    Aber vllt. hilft Dir https://www.cs.colostate.edu/~info/vnc.txt



    Servus !

    RTFM = Read The Factory Manual, oder so

  • Wohl eher nicht richtig verstanden bzw hatte noch unsicherheiten. Hab mir folgende links noch angschaut.


    What's the difference between RealVNC and x11vnc?

    x11vnc FAQ

    VNC-Server auf dem Raspberry Pi einrichten (X11VNC)


    Im letzten heisst es dass vorhergehende VNC Installationen entfernt werden müssen. Das deaktivieren von realVNC via raspi-config reicht da wohl nicht nehme ich an? Bin mir leider auch nicht sicher wann diese Anleitung erstellt wurde.


    EDIT:

    Habs nun mal probiert

    erst mit sudo apt-get --purge remove vncviewer und ...vncserver realVNC deinstalliert und anschliessend mittels den Angaben aus dem Wiki x11vnc installiert. Konnte auch eine Verbindung herstellen. Musste jedoch feststellen dass die Verbindung mit x11vnc standardmässig nicht verschlüsselt ist. Soweit ich gesehen habe müsste man sich erst mittels SSH verbinden damit die Verbindung verschlüsselt ist. Möchte es jedoch für die Benutzer möglichst einfach machen und verbindung mit VPN + VNC ist schon fast ein Schritt zu viel für einen DAU ^^ und wenn man beim einloggen dann noch jedesmal die Warnmeldung angezeigt kriegt dass die Verbindung (trotz VPN) nicht verschlüsselt ist gäbe das nur unnötige Verwirrung.


    Hab inzwischen das Backup wieder geladen mit realVNC. Bleibe aber noch dran.

    Ich suche nicht nach einer fertigen Lösung sondern nach dem Weg dahin ;)

    Edited once, last by Apop85 ().

  • Hast Du schon Deine User angelegt und bekommt jeder User (über SSH) in sein Home-Verzeichnis ?


    Dann kannst Du ja versuchen, aus der Autostart des Users eine vnc Instanz mit seiner Bildschitmnummer und seiner Portnummer aufzurufen.


    Ob am Client ein Intro angezeigt wird ist ziemlich nebensächlich für die Auswahl des Serverprogrammes. Das lässt sich wegkonfigurieren, oder unterdrücken. Wichtig ist, dass Du alle Optionen des von Dir verwendeten Programme kennst, damit Du sie auch anwenden kannst. Die sind in der Bedienungsanleitung auf Deinem Rechner als manual pages gespeichert und mit < man Progtammname > abrufbar.



    Servus !

    RTFM = Read The Factory Manual, oder so

  • Ja User ist bzw war auch eingerichtet und konnte mittels SSH problemlos mit den entsprechenden User auf die dazugehörigen Homeverzeichnisse zugreiffen.


    Wie würde das mit dem Autostart laufen? Müsste ich mich da erst mittels SSH einloggen damit der User-Autostart ausgeführt wird?


    Meinst du mit Intro die Meldung über die unverschlüsselte Verbindung? Hab mir auch die manuals zu x11vnc und vncserver/viewer angeschaut aber die sind oft minimal und mmn nicht grad sehr anfängerfreundlich weshalb ich dann weiterführende erklärungen suche, selbiges auch beim wiki. Bei diesem Thema finde ich jedoch nicht sehr viel aktuelles bzw brauchbares.

    Ich suche nicht nach einer fertigen Lösung sondern nach dem Weg dahin ;)

  • Jeder User hat (meistens im ~/.profile) einen Autostart-Ordner, dessen Inhalt nach erfolgreichem Login abgearbeitet wird. Daraus könnte eine VNC-Instanz mit einem eindeutigen/einmaligen Screen und einem eindeutigen/einmaligem Port getartet werden.


    Du kannt aus dem Autostart Ordner des Users heraus auch einen Browser starten und nur das Browserfenster an den VNC-Client - auf dem einmaligen Screen und dem einmaligen Port - übergeben.


    Es ist auch möglich revers, also vom Server zum Client eine VNC Verbindung aufzubauen, steht alles in den Man Pages.



    Servus !

    RTFM = Read The Factory Manual, oder so