Raspbian, hoe lopende terminal weergeven via SSH/VNC?

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

  • GG85
  • Registratie: Januari 2002
  • Laatst online: 08:32

GG85

.......

Topicstarter
Ik heb als Linux noob een vraag waar ik geen eenduidig antwoord op kan krijgen.

Situatie: heb een headless Raspberry Pi in CLI modus draaien waarop in een java applicatie draai die output geeft op de CLI en een webinterface opstart. Reden voor CLI is dat ik het zonde vind om de Desktop te starten terwijl de applicatie alleen terminal output geeft.

Om de applicatie te starten heb ik hem toegevoegd aan .bashrc (kreeg het via rc.local niet voor elkaar) en daardoor start hij netjes als ik de Pi headless in de meterkast heb hangen. Kan de java applicatie dan ook netjes via een browser benaderen.
Probleem is alleen dat naast de webinterface de applicatie ook via de terminal zelf feedback geeft die ik graag wil zien als ik via een andere pc verbinding maak met de Pi.

Nu zijn er denk ik twee opties:
1: via VNC verbinding maken met de Pi
-Dit heb ik geprobeerd door force_hdmi etc aan te zetten maar ik blijf als ik verbinding maak met de Pi (die in CLI mode draait) alleen maar een klein zwart schermpje te zien. Ik heb dan ook het vermoeden dat je VNC alleen kan gebruiken in Desktop mode en niet in CLI mode en heb dit dus maar opgegeven.

2: via SSH verbinding maken met de Pi
-Zodra ik verbinding maak via SSH lijkt het er op dat de Pi een nieuwe terminal start en kan ik dus niet 'meekijken' met de al draaiende terminal met daarop de output van de java applicatie. Daarnaast probeert hij bij het verbinden via SSH de java applicatie nog een keer te starten omdat deze in .bashrc staat maar dat annuleer is via CTRL-C dus dat is niet echt een probleem.

De vraag is nu hoe krijg ik voor elkaar dat ik zodra ik via SSh verbinding maak met mijn Pi (die in CLI mode draait) ik mee kan kijken met de al draaiende terminal ipv dat de SSH in een "nieuwe, dedicated" terminal draait?

Ik heb al veel geprobeerd en heb het gevoel dat ik in de juiste richting zit maar kom er niet uit:

-via 'echo string >/dev/tty0' evt icm 'sudo adduser pi tty'
krijg geen data te zien

-via Screen
als ik het goed begrijp moet ik dan Screen installeren en de java applicatie starten in een eigen 'dedicated Screen terminal' en kan ik dan via SSH schakelen naar de betreffende Screen terminal met daarin de java applicatie. Dit klinkt goed alleen ik snap niet helemaal hoe ik dit moet toen?
Hoe start ik automatisch tijdens het booten in CLI de java app;icatie in een nieuw 'screen' en hoe geef ik dat 'screen' dan vervolgens weer als ik verbinding maak met de Pi via SSH?

-via Tmux
geen idee of dat wat is en hoe het werkt.

Bedankt alvast.

[ Voor 3% gewijzigd door GG85 op 19-03-2018 11:12 ]

Beste antwoord (via GG85 op 19-03-2018 15:28)


  • valkenier
  • Registratie: Maart 2000
  • Laatst online: 14:31
screen lijkt me wel the way to go. De precieze optie moet je maar even opzoeken. Maar volgens mij is screen -r gewoon resume van je sessie en ctrl a ctrl d doet je weer detached van je screen, voor zover ik mij herinner.

Alle reacties


Acties:
  • 0 Henk 'm!

Verwijderd

Waarom schrijf je de output naar de terminal niet ook naar een logbestand. Kun je er altijd bij.

Acties:
  • 0 Henk 'm!

  • GG85
  • Registratie: Januari 2002
  • Laatst online: 08:32

GG85

.......

Topicstarter
Maar kan je er dan ook 'live' bij? Stel dat de file elke seconde geupdate wordt hoe kan je hem dan 'live' meelezen via SSH?

En, hoe log ik de terminal naar een file en zorg ik ervoor dat over een jaar die file niet xxGB groot is?

Acties:
  • +1 Henk 'm!

  • Sendy
  • Registratie: September 2001
  • Niet online
Je kan screen gebruiken (oh dat schrijf je al). Start je applicatie met screen <programma>. Dan kan je de terminal sluiten en later weer terugverbinden met dat scherm.

[ Voor 49% gewijzigd door Sendy op 19-03-2018 12:56 ]


Acties:
  • +1 Henk 'm!

  • Cyphax
  • Registratie: November 2000
  • Laatst online: 17:58

Cyphax

Moderator LNX
@GG85 Een file kan je met tail -f volgen, als je ingelogd bent (al dan niet via ssh).

Om te zorgen dat de logs niet je hd gaat laten vollopen is er logrotate

De oplossing met Screen komt neer op een sessie die niet stopt als je de verbinding verbreekt of uitlogt, of wordt opgestart als je inlogt. Los van je probleem is dat wel een aanrader. :)

Saved by the buoyancy of citrus


Acties:
  • 0 Henk 'm!

  • GG85
  • Registratie: Januari 2002
  • Laatst online: 08:32

GG85

.......

Topicstarter
Ok, screen klinkt wel als iets wat zou werken.

Dus in de .bashrc staat nu onderaan bijvoorbeeld 'javaapp', als ik dit vervang door
'su - pi -c "screen -dm -S javascreen javaapp"'
en dan inlog met SSH dan zou ik dmv
'screen -DR' de terminal output van 'javaapp' moeten kunnen zien?

(https://coderwall.com/p/q...-screen-on-a-raspberry-pi)

[ Voor 14% gewijzigd door GG85 op 19-03-2018 13:33 ]


Acties:
  • Beste antwoord
  • 0 Henk 'm!

  • valkenier
  • Registratie: Maart 2000
  • Laatst online: 14:31
screen lijkt me wel the way to go. De precieze optie moet je maar even opzoeken. Maar volgens mij is screen -r gewoon resume van je sessie en ctrl a ctrl d doet je weer detached van je screen, voor zover ik mij herinner.

Acties:
  • 0 Henk 'm!

  • Sebazzz
  • Registratie: September 2006
  • Laatst online: 28-09 19:33

Sebazzz

3dp

Waarom maak je er geen systemd service van? De output daarvan is te zien via journalctl.

[Te koop: 3D printers] [Website] Agile tools: [Return: retrospectives] [Pokertime: planning poker]


Acties:
  • +1 Henk 'm!

  • GG85
  • Registratie: Januari 2002
  • Laatst online: 08:32

GG85

.......

Topicstarter
Sebazzz schreef op maandag 19 maart 2018 @ 14:26:
Waarom maak je er geen systemd service van? De output daarvan is te zien via journalctl.
Omdat dit na 20 jaar Windows mn eerste Linux ervaring is en het uitgangspunt was dat ik 'mee wil kijken op mn terminal'.

Dit is dus de eerste keer dat ik "systemd service" hoor vallen ;).

Kon me nooit voorstellen hoe het als digibeet moest zijn op een Windowsn pc, "hoe moeilijk kan het zijn". Tot ik zelf na 20 jaar pc ervaring aan de slag ging met Linux en dacht "ik heb nog met MSDOS gewerkt, hoe moeilijk kan Linux zijn!?" Nou als je geen idee hebt hoe het in elkaar zit nog best lastig lol

Acties:
  • 0 Henk 'm!

  • route99
  • Registratie: Augustus 2017
  • Laatst online: 05-06-2024

route99

just passionately curious...

GG85 schreef op maandag 19 maart 2018 @ 11:10:
Ik heb als Linux noob een vraag waar ik geen eenduidig antwoord op kan krijgen.

Situatie: heb een headless Raspberry Pi in CLI modus draaien waarop in een java applicatie draai die output geeft op de CLI en een webinterface opstart. Reden voor CLI is dat ik het zonde vind om de Desktop te starten terwijl de applicatie alleen terminal output geeft.


Nu zijn er denk ik twee opties:
1: via VNC verbinding maken met de Pi
-Dit heb ik geprobeerd door force_hdmi etc aan te zetten maar ik blijf als ik verbinding maak met de Pi (die in CLI mode draait) alleen maar een klein zwart schermpje te zien. Ik heb dan ook het vermoeden dat je VNC alleen kan gebruiken in Desktop mode en niet in CLI mode en heb dit dus maar opgegeven.
Ben ook opzoek naar deze optie, ik wil kunnen wisselen tussen CLI en desktop dus het lieft VNC viewer vanaf mijn desktop.
In desktop mode loopt het prima, maar in CLI mode lrijg van de RPi op mijn vieuwe een zwart scherm.
Na een startx wordt mijn desktop weer zichtbaar. Dus ben eea nog aan het uitzoeken voor CLI en toen kwam ik dit topic tegen.

Alvast om te delen, moet er nog mee aan de slag, maar wellicht krijgt iemand al een aha-erlebnis.

Ben net met RPi begonnen maar heb wel de nodige R6 (1999) en later Debian ervaring (server in 2011 gemaakt, draait nog steeds..).

Ik ga hier morgenavond maar eens mee verder, wrs zit er brood in.
https://www.raspberrypi.org/forums/viewtopic.php?t=113334

https://www.raspberrypi.org/forums/viewtopic.php?t=193335

Acties:
  • 0 Henk 'm!

  • Kontsnorretje
  • Registratie: Augustus 2011
  • Laatst online: 14-06-2024
Cyphax schreef op maandag 19 maart 2018 @ 12:57:
@GG85 Een file kan je met tail -f volgen, als je ingelogd bent (al dan niet via ssh).

Om te zorgen dat de logs niet je hd gaat laten vollopen is er logrotate

De oplossing met Screen komt neer op een sessie die niet stopt als je de verbinding verbreekt of uitlogt, of wordt opgestart als je inlogt. Los van je probleem is dat wel een aanrader. :)
Zelf zou ik kiezen om systemd te gebruiken en een service in elkaar te flansen. Een simpel voorbeeld is niet moeilijk te vinden ;)

In je service file zorg je dat hij altijd je applicatie herstart, en met systemctl zorg je dat hij start bij het opstarten van de Pi. Als je niet via WiFi werkt, kan je voor basale doeleinden ook redelijk eenvoudig je X11 server streamen via SSH of directe TCP verbinding. Heb je ineens een los linux venster tussen je windows vensters ;) Dat is allemaal niet heel moeilijk op te zetten m.b.v google en serverfault etc. :)
Pagina: 1