Forum: PC Hard- und Software Per Remote-Desktop auf Linux Terminal?


von Borislav B. (boris_b)


Lesenswert?

Hallo!
Ich habe mir einen kleinen Linux-Server (Udoo mit Ubuntu) eingerichtet. 
Auf dem lasse ich sofort nach dem Booten ein Programm von mir starten.

Wenn ich mich nun per Remote-Desktop mit dem Rechner verbinde, sehe ich 
das Terminalfenster mit den Ausgaben meines Programms für einen ganz 
kurzen Moment. Danach verschwindet es (das Programm läuft aber noch!).

Das ist nun ein bisschen blöd, da ich mir gerne die Ausgaben im Terminal 
genauer anschauen würde. Gibt es einen Weg das Fenster "zurückzuholen"?

Ich habe es natürlich schon mit Alt+Tab versucht, aber das Fenster 
scheint tatsächlich weg zu sein...
(Ihr merkt, ich habe von Linux nicht viel Ahnung) ;-)

Danke!

von Rene S. (Firma: BfEHS) (rschube)


Lesenswert?

Hallo,

hast du denn deine Ausgabe auf die Standardausgabe geschickt, oder auf 
eine andere Konsole? stdout oder stderr ...

Du könntest die Ausgabe mit progname > out.txt in eine Datei schicken 
und dann in Ruhe lesen.

Grüße aus Berlin

von Rolf Magnus (Gast)


Lesenswert?

Boris P. schrieb:
> Wenn ich mich nun per Remote-Desktop mit dem Rechner verbinde, sehe ich
> das Terminalfenster mit den Ausgaben meines Programms für einen ganz
> kurzen Moment. Danach verschwindet es (das Programm läuft aber noch!).

Warum gehst du nicht direkt mit ssh drauf?

von Kaj (Gast)


Lesenswert?

Boris P. schrieb:
> Linux-Server (Udoo
Gefaellt mir :)

Boris P. schrieb:
> ein Programm von mir
In welcher Sprache ist das Programm geschrieben? Je nach Sprache man da 
vllt. was einbauen was das schliessen des Fensters verhindert.

Boris P. schrieb:
> das Programm läuft aber noch!
Wie stellst du das fest?

von Borislav B. (boris_b)


Lesenswert?

Rolf Magnus schrieb:
> Warum gehst du nicht direkt mit ssh drauf?

Was wäre der Vorteil? Dann kann ich ja nicht mehr wirklich mehrere 
Programme parallel benutzen, und auch die GUIs stehen nicht mehr zur 
Verfügung.

Rene Schube schrieb:
> Du könntest die Ausgabe mit progname > out.txt in eine Datei schicken
> und dann in Ruhe lesen.

Das Schreiben aufs Dateisystem würde ich gerne vermeiden. Sonst ist die 
SD Karte schneller korrupt als ich "Stromausfall!" sagen kann ;-)

von Rene S. (Firma: BfEHS) (rschube)


Lesenswert?

> Rene Schube schrieb:
>> Du könntest die Ausgabe mit progname > out.txt in eine Datei schicken
>> und dann in Ruhe lesen.
>
> Das Schreiben aufs Dateisystem würde ich gerne vermeiden. Sonst ist die
> SD Karte schneller korrupt als ich "Stromausfall!" sagen kann ;-)

Von SD-Card hast du aber nix gesagt :-)

Kannst du dein Programm so ändern das die Ausgabe stehen bleibt, zB. bis 
du eine Taste drückst?

Hat dein System genug Speicher für eine RAM-Disk? Dann kannst du die 
Datei dort "kurz" ablegen.

Oder schick die Daten übers Netzwerk auf deinen Client.

Grüße aus Berlin

von Borislav B. (boris_b)


Lesenswert?

Rene Schube schrieb:
> Von SD-Card hast du aber nix gesagt :-)

Ich habe aber erwähnt, dass es sich um eine Udoo handelt. Aber das sagt 
natürlich nicht jedem was ;-)
Ist im Prinzip ein RaspberryPi, nur mit etwas mehr Bumms.

Rene Schube schrieb:
> Kannst du dein Programm so ändern das die Ausgabe stehen bleibt, zB. bis
> du eine Taste drückst?

Ich weiß nicht genau was du meinst. Die Ausgaben bleiben ja stehen. Wenn 
ich das Programm z.B. lokal auf einem PC starte, kann ich ihm 
stundenlang beim loggen zuschauen.
Auf dem Linux-System funktioniert es auch genauso, wenn ich das Programm 
manuell per Terminal starte.

Nur wenn das Programm automatisch starten lasse, wird das Terminal 
plötzlich unsichtbar, obwohl das Programm noch läuft.


Den Autostart habe ich übrigens per "gnome-session-properties" 
festgelegt.
Dort habe ich den Befehl:

gnome-terminal -e "./startmyapp.sh" --working-directory "pathtomyapp"

angegeben.

von Kaj (Gast)


Lesenswert?

Boris P. schrieb:
> Das Schreiben aufs Dateisystem würde ich gerne vermeiden. Sonst ist die
> SD Karte schneller korrupt als ich "Stromausfall!" sagen kann ;-)
Blödsinn. Wenn SD-Karten so schnell kaputt gehen würden, dann müsste 
jede SD-Karte in einem Smartphone nach kürzesterzeit kaputt sein. Und 
meine hält schon seit 3 Jahren, und da ist nichts kaputt.

Ich hab auch einen UDOO(quad) und schreibe tonnenweise Daten auf die 
SD-Karte(64GB) und SATA-DOM(32GB) im 24/7 dauerbetrieb, und beides hält 
auch schon weit über ein halbes Jahr (einmal die Woche muss ich meine 
Logs löschen um wieder platz zu schaffen). Und auch nach mehrmaligem 
Steckerziehen ist beides noch heile.

Vielleicht mal nicht den billig china-schrott kaufen?
Da du auch nichts von Festplatte sagst, geh ich davon aus das du nur den 
Dual-Core hast? Wenn nicht: warum nimmst du keine Festplatte/DOM und 
schreibst darauf?

Boris P. schrieb:
> Was wäre der Vorteil? Dann kann ich ja nicht mehr wirklich mehrere
> Programme parallel benutzen, und auch die GUIs stehen nicht mehr zur
> Verfügung.
Die GUIs stehen dir sehrwohl zur verfügung. Du kannst die GUI eines 
Programms auf deinen PC umleiten.

Rene Schube schrieb:
> Hat dein System genug Speicher für eine RAM-Disk?
Der UDOO hat 1GB RAM, sollte also machbar sein... also mit Arch gehts 
auf jedenfall, mit ubuntu... naja...

Sorry, aber das mit dem "ah, meine sd karte geht kaputt sobald ich 
darauf schreibe" ist einfach bockmist.

von Bluub (Gast)


Lesenswert?

VNC?

von Axel S. (a-za-z0-9)


Lesenswert?

Boris P. schrieb:

> Ich habe mir einen kleinen Linux-Server (Udoo mit Ubuntu) eingerichtet.
> Auf dem lasse ich sofort nach dem Booten ein Programm von mir starten.

Wie?

> Wenn ich mich nun per Remote-Desktop mit dem Rechner verbinde, sehe ich
> das Terminalfenster mit den Ausgaben meines Programms für einen ganz
> kurzen Moment. Danach verschwindet es (das Programm läuft aber noch!).
>
> Das ist nun ein bisschen blöd, da ich mir gerne die Ausgaben im Terminal
> genauer anschauen würde.

"Remote-Desktop" und "Terminal" klingt irgendwie falsch.

Läuft da ein X drauf? Und "Terminal" meint ein xterm o.ä. ?

Mein Alternativvorschlag wäre, das ganze X- und Remote-Desktop Gedöhns 
zu vergessen und das Programm mit screen zu starten. Dann kann man sich 
jederzeit per SSH auf die Kiste einloggen und per "screen -r"  mit dem 
laufenden Programm verbinden.

Beispiel:
1
~ $screen -S foo -d -m iostat -m 5

Das startet das Programm "iostat -m 5". Die Screen-Session bekommt den 
Namen "foo" (dadurch ist sie später leichter zu identifizieren). Die 
Optionen "-d -m" für screen starten das Programm im Hintergrund. Obiges 
Kommando erzeugt also keine(!) Ausgabe auf dem Terminal.

Jetzt können wir uns jederzeit auf dem System einloggen und schauen was 
für screen Sessions es gibt:
1
~ $screen -ls
2
There is a screen on:
3
        19211.foo       (07/19/14 13:32:06)     (Detached)
4
1 Socket in /var/run/screen/S-axel.

Die Nummer ist die pid des screen Prozesses, der Name der Session (foo) 
ist angehängt. Das "Detached" bedeutet, daß kein Terminal mit der 
Session verbunden ist.

Jetzt können wir uns mit der Session verbinden:
1
~ $screen -r foo
2
...
3
Linux 3.14-1-amd64 (alpha)      07/19/14        _x86_64_        (8 CPU)
4
5
avg-cpu:  %user   %nice %system %iowait  %steal   %idle
6
           1.99    0.24    0.32    0.57    0.00   96.89
7
8
Device:            tps    MB_read/s    MB_wrtn/s    MB_read    MB_wrtn
9
sdb               0.03         0.00         0.00          2          0
10
sda               1.33         0.03         1.05        498      16405
11
dm-0              1.26         0.03         0.00        493         21
12
dm-1              0.01         0.00         1.05          0      16383
13
...

wenn man jetzt "CTRL+C" drückt oder das Programm anderweitig abbricht 
oder beendet, ist die screen Session gleich mit weg. Man kann sich 
jederzeit per "CTRL+A d" wieder von der Session abtrennen (läuft im 
Hintergrund weiter).

Ein einzelner Screen-Prozeß kann mehrere Fenster enthalten zwischen 
denen man umschalten kann. Man kann auch Screenshots machen und/oder 
Ausgaben in ein Logfile schreiben lassen u.v.m.

Mehr Info zu screen findet man auf der Manpage. "CTRL+A h" in einem 
screen Fenster zeigt die vordefinierten Tastenkürzel.


XL

von Kaj (Gast)


Lesenswert?

Axel Schwenke schrieb:
> mit screen
oder tmux

von Borislav B. (boris_b)


Lesenswert?

Kaj schrieb:
> Sorry, aber das mit dem "ah, meine sd karte geht kaputt sobald ich
> darauf schreibe" ist einfach bockmist.

Ich habe hier schon 3 kaputte Karten, die nicht mal mehr durch 
Formatieren zu retten sind. Dazu hat es jeweils gereicht, dem Gerät den 
Strom abzuziehen, ohne dieses vorher herunterzufahren.
Die Karten waren nicht wirklich billig (Sandisk, Transcend und Samsung).
Von Bockmist kann also nicht die Rede sein.

Bluub schrieb:
> VNC?

Remote Desktop tuts doch genauso, oder?

Axel Schwenke schrieb:
> Wie?

Wie oben geschrieben: per "gnome-session-properties"
gnome-terminal -e "./startmyapp.sh" --working-directory "pathtomyapp"
Das Skript startet dann mit Mono meine .exe.

Axel Schwenke schrieb:
> "Remote-Desktop" und "Terminal" klingt irgendwie falsch.

Wieso?
Ich gehe per Remote Desktop auf das Gerät. Dort läuft das 
Gnome-Terminal, und in diesem meine App. Passt doch ;-)

von Rolf Magnus (Gast)


Lesenswert?

Boris P. schrieb:
> Rolf Magnus schrieb:
>> Warum gehst du nicht direkt mit ssh drauf?
>
> Was wäre der Vorteil?

Du hast dieses ganze drumherum mit dem Remote-Desktop nicht, und es es 
ist schneller.

> Dann kann ich ja nicht mehr wirklich mehrere Programme parallel benutzen,

Waurm nicht?

> und auch die GUIs stehen nicht mehr zur Verfügung.

Wozu braucht der Server denn eine GUI?

von Axel S. (a-za-z0-9)


Lesenswert?

Boris P. schrieb:
> Axel Schwenke schrieb:
>> "Remote-Desktop" und "Terminal" klingt irgendwie falsch.
>
> Wieso?
> Ich gehe per Remote Desktop auf das Gerät. Dort läuft das
> Gnome-Terminal, und in diesem meine App. Passt doch ;-)

Wenn deine App nicht mehr braucht als ein Terminal, dann brauchst du 
weder den X-Server noch den Gnome Desktop mit seinen gefühlt 1000 
Prozessen zu starten. Ist doch alles bloß Ballast, der RAM frißt und die 
Startzeit unnötig verlängert.


XL

von Borislav B. (boris_b)


Lesenswert?

Axel Schwenke schrieb:
> Wenn deine App nicht mehr braucht als ein Terminal, dann brauchst du
> weder den X-Server noch den Gnome Desktop mit seinen gefühlt 1000
> Prozessen zu starten. Ist doch alles bloß Ballast, der RAM frißt und die
> Startzeit unnötig verlängert.

Joa, stimmt schon. Aaaaber:

Das war nunmal auf dem Udoo so vorinstalliert. Und mal ehrlich: für 
einen Linux-Noob wie mich ist Ubuntu dann doch die bessere Wahl ;-)
(gerade, wenn es um die Konfiguration des Systems (WLAN, Autostart, 
Paketinstallation usw. geht)

Sicherlich geht das auch alles ganz wunderbar ohne GUI per SSH (oder 
sowas)... Wenn man es denn kann!

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.