#author("2023-05-11T11:48:27+09:00","","")
#author("2023-05-12T20:56:49+09:00","","")
#topicpath

////////////////////////////////////////////////////////////////////////////////
* 目次 [#c83e63b2]
#contents();

////////////////////////////////////////////////////////////////////////////////
* Tigervnc [#j56ba32e]
- 多数ある vnc 派生実装の一つ。
- TightVNC からの派生実装で、 TightVNC の高機能を引き継ぎ、且つ OpenGL による高速化が実装されている。

////////////////////////////////////////////////////////////////////////////////
* ssh トンネルで接続する [#g3d8a919]
- '''vnc は通信を暗号化しない為、特に信頼出来るローカルネットワーク内以外では、ssh トンネリングを使用した接続が推奨される。'''
- ssh トンネルを使用する接続では、他のポートを開くことなく、vncserver も localhost からの接続を受け付けるようにする。

//==============================================================================
** サーバの起動 [#labdc85f]
- サーバを起動する
 $ vncserver -geometry <display-size> -alwaysshared -dpi 96 -localhost <display-ID>
-- <display-size> は、ディスプレイサイズを指定する
 ex. 1906x1020, 1920x1080, 1440x900, 1200x700, etc.,
-- <display-ID> は、 vncserver が使う環境変数 DISPLAY を指定する
 ex. :1, :2, etc.,
-- 若しくは、引数指定する代わりに設定を ${HOME}/.vnc/config に以下のように記載する
 ## Supported server options to pass to vncserver upon invocation can be listed
 ## in this file. See the following manpages for more: vncserver(1) Xvnc(1).
 ## Several common ones are shown below. Uncomment and modify to your liking.
 ##
 geometry=1906x1020
 alwaysshared
 dpi=96
 localhost

//==============================================================================
** クライアントからの接続 [#e50caeec]
+ ssh トンネルで接続する場合は、接続先のホストに ssh で接続する。~
この際、 -L でトンネルを有効にする。
- 接続するホストに、ssh でログインする
 $ ssh <sever> -L <port-cli>:localhost:<port-svr>
-- サーバのポート <port-svr> をクライアントのポート <port-cli> に転送する。
-- <port-svr> と <port-cli> は必ずしも一致している必要はない。
-- サーバのポートは、サーバにログインして確認出来る:(下記の例では5901 が該当する)
 $ vncserver -list | perl -pe 's/^/\ /'
 $ vncserver -list
 
 TigerVNC server sessions:
 
 X DISPLAY #    RFB PORT #      PROCESS ID      SERVER
 :1             5901            14893           Xtigervnc

+ vncviewer を起動する
-- ssh 接続した先から以下を実行する:
--- サーバとクライアントで同じポートを使用する場合
 $ vncviewer localhost:1
--- サーバとクライアントで異なるポートを使用する場合
 $ vncviewer localhost:<port-cli>


////////////////////////////////////////////////////////////////////////////////
* ssh トンネルを使用しない起動 [#pf8a47de]
- '''信頼出来るローカルネットワーク内以外では、ssh トンネルを使用しない接続は推奨されないことに注意すること。'''
//==============================================================================
** サーバの起動 [#c4e02a5d]
 $ tigervncserver <display-ID> -localhost no
- <display-ID>: :1, ;2, etc.
- sshトンネルを使わずにリモートから接続する場合は、 -localhost no が必要。


////////////////////////////////////////////////////////////////////////////////
* すでに起動済みのデスクトップをミラーリングする場合 [#ca86d461]
 $ x0tigervncserver PasswordFile=$HOME/.vnc/passwd


////////////////////////////////////////////////////////////////////////////////
* サーバの終了 [#l297f002]
 $ tigervncserver -kill <display-ID>


////////////////////////////////////////////////////////////////////////////////
* トラブルシューティング [#af3f931e]
//==============================================================================
** サーバが正常に起動しない場合 [#e1ba89c8]
- 以下のようなメッセージが出る場合は、${HOME}/.vnc/xstartup がないか、その内容に問題がある。
 $ tigervncserver :1 -localhost no
 
 New Xtigervnc server 'hostname:1 (user-name)' on port 5901 for display :1.
 Use xtigervncviewer -SecurityTypes VncAuth,TLSVnc -passwd /home/user-name/.vnc/passwd hostname:1 to connect to the VNC server.
 
 
 =================== tail /home/user-name/.vnc/hostname:5901.log ===================
 X connection to :1 broken (explicit kill or server shutdown).
 
 Sat Jan  8 10:59:31 2022
  ComparingUpdateTracker: 0 pixels in / 0 pixels out
  ComparingUpdateTracker: (1:-nan ratio)
 Killing Xtigervnc process ID 15789... success!
 =============================================================================
 
 Session startup via '/etc/X11/Xtigervnc-session' cleanly exited too early (< 3 seconds)!
 
 Maybe try something simple first, e.g.,
        tigervncserver -xstartup /usr/bin/xterm
 The Xtigervnc server cleanly exited!
 The X session cleanly exited!

-- user-name : 起動しようとしたユーザ名
-- hostname  : vncserver を起動しようとしたホスト名

- 以下のようなメッセージが出る場合は、 ${HOME}/.vnc/xstartup に実行権限がないので、付与する必要がある。
 $ tigervncserver :1 -localhost no
 
 New Xtigervnc server 'hostname:1 (user-name)' on port 5901 for display :1.
 Use xtigervncviewer -SecurityTypes VncAuth,TLSVnc -passwd /home/user-name/.vnc/passwd hostname:1 to connect to the VNC server.
 
 tigervncserver: Can't exec '/home/user-name/.vnc/xstartup': Permission denied
 
 =================== tail /home/user-name/.vnc/hostname:5901.log ===================
 Can't exec "/home/user-name/.vnc/xstartup": 許可がありません at /usr/share/perl5/TigerVNC/Wrapper.pm line 1073.
 =============================================================================
 
 Session startup via '/home/user-name/.vnc/xstartup' exited with status 1!
 
 Maybe try something simple first, e.g.,
        tigervncserver -xstartup /usr/bin/xterm
 The X session exited with status 1!
 Killing Xtigervnc process ID 15980... success!



////////////////////////////////////////////////////////////////////////////////
* 参考リンク [#link]
- [[TigerVNC - ArchWiki>https://wiki.archlinux.jp/index.php/TigerVNC#SSH_.E3.83.88.E3.83.B3.E3.83.8D.E3.83.AB.E7.B5.8C.E7.94.B1.E3.81.A7_vncserver_.E3.81.AB.E3.82.A2.E3.82.AF.E3.82.BB.E3.82.B9]]
- [[つまずかない!?TigerVNCでリモートデスクトップ - Qiita>https://qiita.com/tats-u/items/c170f61a5e03ae045128]]

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS