Seite 1 von 1

TIGHTvncserver mit pexpect

Verfasst: Dienstag 19. Dezember 2017, 07:57
von SpicySynek
Hallo Leute,
vielleicht hat jemand eine Idee für mein folgendes Problem. Ich möchte auf meinem Raspberry einen TightVNC-Server mit dem pexpect-Modul aufrufen. Die Passwortabfrage u.ä. sollen dabei automatisch ablaufen. Es funktioniert soweit ganz gut, jedoch bekomme ich wenn ich dann per Remote auf den Raspberry zugreife nur eine graue (schwarz-weißes Netz) Oberfäche mit einem Steuerkreuz zu sehen. Führe ich die Prozedur im Eingabefenster durch und greife dann darauf zu, bekomme ich wiederrum das ganz normale Bild.
Die Files die beim Aufrufen des Servers im /root/.vnc erstellt werden, stimmen in beiden Vorhergehensweisen überein.
Woran kann das liegen?

Es grüßt euch,
Tobi

Code: Alles auswählen

[quote]
child=pexpect.spawn("tightvncserver")
print(child.readline())
print(child.readline())
print(child.readline())
child.sendline("passwort123")                            #Password:
print(child.readline())
child.sendline("passwort123")                            #Verify:
print(child.readline())
child.sendline("n")                                             #View-only Password (j/n)
[/quote]

Re: TIGHTvncserver mit pexpect

Verfasst: Dienstag 19. Dezember 2017, 09:39
von __deets__
Da fehlt der Start eines window managers vermute ich mal. Wie startest du die ganze Rutsche denn, wenn du dich manuell einloggst?

Re: TIGHTvncserver mit pexpect

Verfasst: Dienstag 19. Dezember 2017, 10:28
von SpicySynek
Was ist denn ein window manager?
Das Einloggen auf den Server über einen Windows 10 PC mit installiertem TightVNCViewer. Wenn ich den Server auf dem Raspberry über die Konsole aufrufe, erscheint nach dem Einloggen auf dem PC gleich der Desktop des Raspberrys.

Re: TIGHTvncserver mit pexpect

Verfasst: Dienstag 19. Dezember 2017, 11:30
von __deets__
Das ist das Ding, das die Fenster Dekoration macht etc.

Was ggf fehlt sind Umgebungsvariablen. Und das Kommando das du benutzt ist genau gleich?

Re: TIGHTvncserver mit pexpect

Verfasst: Dienstag 19. Dezember 2017, 16:11
von SpicySynek
Das ist nur der Ausschnitt des gesamten Codes. Dieser wird bei drücken eines Buttons ausgeführt. Die Print Befehle habe ich nur zu meiner Verständnis beim rumprobieren hinzugefügt.

Re: TIGHTvncserver mit pexpect

Verfasst: Montag 15. Januar 2018, 09:23
von SpicySynek
Längst fälliges Update:
Habe es zum laufen bekommen, indem ich das Passwort per..

Code: Alles auswählen

def sessions_start():
	vncserver = pexpect.spawn("vncpasswd")
	vncserver.sendline("passwort123")
	vncserver.sendline("passwort123")
	vncserver.sendline("n")
... erstellle und die eigentliche Session mit ..

Code: Alles auswählen

	os.system("vncserver :1")
beim Aufrum mit os.system wird der Bildschirminhalt auf dem Zugreifenden Gerät nicht wie im ersten Post grau, sondern funktioniert einwandtfrei!
Grüße Spicy