Ich arbeite an einem Programm, das unter anderem mittels youtube-dl (aktuelle Version 2020.05.08) Videos aus dem Internet zur weiteren Verarbeitung herunterladen soll.
Dazu erstelle ich ein Script namens Umsetzer.sh, das via TProcess ausgeführt wird.
Der Programmcode hierzu sieht folgendermaßen aus:
Code: Alles auswählen
AssignFile(Datei, 'Umsetzer.sh');
Rewrite(Datei);
AktionsMemo.Lines.SaveToFile('Umsetzer.sh');
CloseFile(Datei);
fpChmod ('Umsetzer.sh',&777);
AProcess := TProcess.Create(nil);
AProcess.Executable:= 'Umsetzer.sh';
AProcess.Options := AProcess.Options + [poWaitOnExit];
AProcess.Execute;
AProcess.Free;
Code: Alles auswählen
#!/bin/bash
sudo youtube-dl --format mp4 {url von Video1}
sudo youtube-dl --format mp4 {url von Video2}
{ usw... }
Code: Alles auswählen
File "/home/xxx/.local/bin/youtube-dl", line 7
from youtube-dl import main
^
SyntaxError: invalid syntax
Mit dem Programm hingegen habe ich keinen Erfolg. Das Skript wird zwar gestartet, aber es wird kein Terminalfenster geöffnet, und so ist es mir nicht möglich, das Passwort einzugeben. Das Programm erwartet dies aber und so geht nichts weiter.
Was kann ich denn machen, daß ich das Terminalfenster sehe?
Dann könnte ich einerseits das Passwort eingehen, andererseits sähe ich auch den Fortschritt der Downloads.
Oder zumindest was wäre zu tun, daß ich das Passwort eingeben kann?
Da das Programm auf verschiedenen Rechnern laufen soll, sind Lösungen, die den Eingriff in Konfigurationsdateien notwendig machen, leider keine Option.
Zum System: Ich arbeite mit Lubuntu 18.04, Lazarus 1.6 und fpc 3.0.0
Gruß
Adrian