1

多くの debian ベースのデバイスで (とりわけ) VNC をセットアップするためのスクリプトを作成しています。このセットアップに VNC (具体的には、可能な場合は tightVNC) を含め、特定のパスワード (スクリプトによってランダムに生成) を設定したいと考えています。問題は、私が見つけたすべてのガイドは、人間がこれを行っていると想定しているようで、座ってパスワードを入力し、Enter キーを押す準備ができていることです。Bash にパスワードを VNC にエコーさせることができないようです (常に「パスワードが短すぎます」と表示されます)。また、正しく動作することを「期待」することもできません。

私が見つけたガイドの例は次のようになっています: http://www.penguintutor.com/linux/tightvnc

私はこれに似たものを探しています:

#!/bin/bash
echo "Going to configure VNC"
#turn on vnc server
tightvncserver
#spit out password to vnc server for first run only
echo $password
#confirm the pw
echo $password

しかし、tightvncserver を最初に実行するたびに、常にパスワードを手動で入力するよう求められます。

Going to configure VNC

You will require a password to access your desktops.

Password: Password too short

どうすれば#1これを回避できますか、または#2 bashを使用できますか/パスワードを与えて満足させることができますか?

4

1 に答える 1

8
# Configure VNC password
umask 0077                                        # use safe default permissions
mkdir -p "$HOME/.vnc"                             # create config directory
chmod go-rwx "$HOME/.vnc"                         # enforce safe permissions
vncpasswd -f <<<"$password" >"$HOME/.vnc/passwd"  # generate and write a password

tightvnc のパッケージングでファイル以外の場所を使用している場合は、好みに合わせて変更して~/.vnc/くださいpasswd


表示専用パスワードとフル コントロール パスワードを別々に設定している場合は、次のようになります。

vncpasswd -f <<<"$full_password"$'\n'"$view_password" >"$HOME/.vnc/passwd"

との互換性が必要な場合/bin/sh(またはシバンを使用していない場合#!/bin/bash)、これは代わりに次のようになります。

vncpasswd -f >"$HOME/.vnc/passwd" <<EOF
$full_password
$view_password
EOF
于 2015-06-02T21:19:31.943 に答える