Ich verwende Here-Dokumente in einem Bash-Skript, um die Installation und Einrichtung zu automatisieren, bei denen häufig ein Kennwort erforderlich ist. Ich gebe das Passwort einmal ein und das Skript gibt es an die verschiedenen Befehle weiter. In den meisten Fällen wird dies durch den hier beschriebenen Ansatz erledigt. In einem Fall erhalte ich jedoch den folgenden Fehler:
Enter VNC password: stty: standard input: Inappropriate ioctl for device
Verify password:
stty: standard input: Inappropriate ioctl for device
Bitte beachten Sie, dass diese Fehlermeldung von x11vnc -storepassword
(nicht von sudo
) stammt.
Mein Problem ist verbunden mit x11vnc -storepasswd
und hier ist mein Code:
sudo x11vnc -storepasswd ~/.vnc/passwd << ENDDOC
password
password
y
ENDDOC
Das geht natürlich (aus dem Fehler) nicht. Ich würde mich über ein funktionierendes Beispiel für die Implementierung sudo x11vnc -storepasswd ~/.vnc/passwd
in ein Skript freuen.
Falls es hilft, sehen die Eingabeaufforderungen folgendermaßen aus:
Geben Sie das VNC-Passwort ein:
Passwort bestätigen:
Schreiben Sie ein Passwort an /home/user/.vnc/passwd? [y] / nn
Wird die Verwendung expect
eine bessere Lösung sein? Wenn ja, wie würde ich es in diesem Fall verwenden? (Ich habe es noch nie benutzt, expect
aber ich habe mir seit dem Posten dieser Frage viele Beispiele angesehen, und ich kann nicht expect
alleine arbeiten.)
sudo
dortx11vnc -storepassword
. Ich habe verschiedeneexpect
Ansätze ausprobiert und ich kann es nicht richtig machen. Ein Beispielexpect
für die Eingabe eines Passwortsx11vnc -storepassword
wäre sehr dankbar. Ich werde meine Frage aktualisieren, um weitere Verwirrung zu vermeiden.