0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

SSH経由でTigerVNC(x0vncserver)を起動して物理ディスプレイを共有する方法

0
Posted at

はじめに

SSH経由でTigerVNCのx0vncserverを起動し、リモートからホストの物理ディスプレイを共有する方法を紹介する。通常のVNCサーバ(Xvnc)とは異なり、x0vncserverは既存のデスクトップ環境(物理ディスプレイ)をそのまま共有できる点が特徴である。

動作確認環境

  • Ubuntu Desktop 22.04 x86_64

前提条件

  • GUIユーザとしてログインしておく

方法

事前準備

SSH経由で対象PCにログインして以下の設定を行う。

GUIユーザとしてログインする。自動ログインさせておくには筆者の以下の記事を参照。

Xhostの設定

SSH経由で、ホストの物理ディスプレイにアクセスするために以下を実行する。

以下の理由からGUIユーザとしてログインしている必要がある。

  • x0vncserverは既存のXセッションに接続するため
  • ログインしていないとDISPLAYが存在しない
sudo -u {username} DISPLAY=:0 XAUTHORITY=/home/{username}/.Xauthority xhost +local:root
  • {username}: ログイン先のユーザ名

現在のログインユーザの場合は以下を実行する。

例:現在のログインユーザの場合
sudo -u $USER DISPLAY=:0 XAUTHORITY=/home/$USER/.Xauthority xhost +local:root

以下のメッセージが出れば成功。

non-network local connections being added to access control list

注意1

  • GUIユーザでログインしている必要がある
    • ログインしていないと以下のエラーとなる

      Authorization required, but no authorization protocol specified
      xhost:  unable to open display ":0"
      

注意2
xhost +local:root はローカルのrootユーザにXアクセスを許可するため、
セキュリティ的には緩い設定です。不要になったら以下で戻すことを推奨します。

xhost -local:root

TigerVNC (x0vncserver)のインストール

インストールパッケージ(.debファイル)のダウンロード
公式サイトのダウンロードページから、対応したdebをダウンロードする。

ダウンロードしたインストールパッケージ(.debファイル)をCLIでインストールする場合は以下を実行する。

v1.16.2の場合
sudo apt install ./tigervncserver_1.16.2-1ubuntu1_amd64.deb

VNCパスワードの設定

vncpasswd
  • view onlyパスワードは、nとする。パスワードの文字数は、6文字以上8文字以下とすること

TigerVNCのx0vncserverの起動

TigerVNCのx0vncserverを起動する。バージョンv1.12以降で引数が変わったので注意する。

TigerVNC v1.12以降の場合

TigerVNC v1.12以降の場合
x0vncserver -display :0 -PasswordFile ~/.vnc/passwd 
  • -display
    • ホストのディスプレイ番号(通常は:0)
  • -PasswordFile
    • VNCパスワードファイル

TigerVNC v1.11以前の場合

TigerVNC v1.11以前の場合
x0vncserver -display :0 -passwordfile ~/.vnc/passwd

【オプション】スクリプト化

スクリプト化したい場合は、~/bin/start_x0vncserver.shなどに以下の内容を保存する。

start_x0vncserver.sh(v1.12以降の場合)
#!/bin/bash
x0vncserver -display :0 -PasswordFile ~/.vnc/passwd 
exit 0

動作確認

VNCのViewerソフトを利用して対象PCに接続する。Windowsの場合は、UltraVNC Viewerを推奨。VNCのデフォルトポートは 5900(ディスプレイ番号 :0 の場合)である。変更していない場合は以下のアドレスにアクセスして、設定したパスワードを入力して接続確認する。

{IPアドレス}:5900

image.png

まとめ

SSH経由でTigerVNCのx0vncserverを起動する方法を紹介した。SSH経由で画面転送したい場合に有用である。

参考

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?