基本的なxfce環境とtightvncserverがインストールされたvpsがあります。
Tightvncserverが実行されているポート(私の場合は5901
)への接続を開始するたびに、自動的にtightvncserverが起動するようにします。
inetd
またはxinetd
を使用してこれを行うことについての投稿を見てきましたが、(x)inetdが理由でUbuntuに含まれていないという多くの投稿を見てきました。それを使用するのは悪い考えです。
とにかく、ポート5901への着信接続があるたびに、できればできるだけ少ない依存関係でtightvncserverを自動起動する方法を探しています
なぜ "xinetdまたはinetdを使用するのが悪い考えなのか"はわかりません。私は両方のバグトラッカーをチェックしましたが、セキュリティの問題は見ませんでした。
とは言うものの、「xinetd」の構成について既に見つけたことを繰り返します。
xinetd
の設定は非常に簡単です。 /etc/xinetd.d/
ディレクトリを使用してすべてのサービスごとの構成を保存するため、tightvncserver
、Sudo vim /etc/xinetd.d/tightvncserver
を起動して構成を作成し、構成を挿入するだけです。これは必要に応じて変更できます):
service tightvncserver
{
socket_type = stream
protocol = tcp
wait = no
## I don't run a vnc server myself, but you should change this for the user your VNC service uses.
user = root
port = 5901
server = /usr/sbin/tightvncserver
## This allows access from anyone in the 192.168 subnet, if you want anyone, just do not add this line.
only_from = 192.168.0.0
log_on_failure += USERID
disable = no
}
それで全部です。次に、rc-dディレクトリのtightvncserver
の起動を無効にする必要があります。
これに追加できるオプションは他にもありますが、 manual に任せます。
tightvncserver
を試して使用するのではなく、@ Braiamが提案したのと同じことを試みますが、代わりにXvncを使用します。
service Xvnc
{
disable = no
type = UNLISTED
socket_type = stream
protocol = tcp
user = nobody
wait = yes
server = /usr/bin/Xvnc
server_args = -inetd :1 -query localhost -geometry 1024x768 -depth 16 -NeverShared -once -rfbauth /root/.vncpasswd
port = 5901
}
上記のビット/root/.vncpasswd
を変更することで、パスワードファイルの場所を調整できます。そのファイルのアクセス許可は危険なため、chmod 600 .vncpasswd
にする必要があるかもしれません。
さらに詳細が必要な場合は、チュートリアル 2をご覧ください。 xinetd
サービスとしてVNCを実行できるさまざまな方法を示すxinetd を使用してVNCサーバーを起動します。
Xinetdを使用しないことに関する解説全体は二段です。使用するには完全に優れたサービスであり、他のすべてと同様に、テクノロジーXを使用することの意味を理解する必要があります。