他のユーザーがX11vncを使用して自分のセッションに接続できるようにするにはどうすればよいですか?

他のユーザーがX11vncを使用して自分のセッションに接続できるようにするにはどうすればよいですか?

ユーザーが特定のコンピュータをリモートで制御できるようにx11vncを使用しようとしています。通常、これはかなりうまく機能しますが、実装に問題がある1つの側面があります。特定のユーザーアカウントへのアクセスを制限したいのですが、X11セッションは他のユーザーに属しています。

したがって、状況は次のようになります。

  • ユーザーAがコンピュータにログインしています。
  • ユーザーBはシェルからx11vncを手動で起動します。
  • VNC-クライアントVはどこかで接続されています。

問題は、x11vncをrootまたは現在ログインしているユーザーとしてのみ起動できることです。他のユーザーのように動作しません。特定のユーザーが自分のX11セッションにアクセスできるようにする方法はありますか?

答え1

Xモニターは、接続するために提供する必要がある「キー」で保護されています。このキーは通常、ユーザーの~/.Xauthorityファイルに保存されます。

他の人のアプリケーション(x11vncなど)がDISPLAYに接続できるようにするには、ユーザーが彼にこのキーを提供するか、彼のファイルへ~/.Xauthorityのアクセスを許可する必要があります。以下を実行してモニターのキーを検索できます。

xauth list "$DISPLAY"

~/.Xauthority権限(グループ所有権またはACL)を変更してアクセス権を付与できます。

他のユーザーは以下を指定できます。権威ある文書環境変数で使用するXAUTHORITYか、特定の表示キーを追加して使用~/.Xauthorityしますxauth add

答え2

Xセッションへのアクセス権が不足して起動できない問題がある場合は、x11vnc他のユーザーとしてxhost +SI:localuser:other_username起動する前に他のユーザーにアクセス権を付与する必要がありますx11vnc

ただし、質問のタイトルは、VNCサーバーへのアクセスを制限したいと思われます。

関連情報