過去 vnc190715

VNC(Virtual Network Computing)

RFB Protocol(remote framebuffer)を使ってリモートアクセスを可能にする。なのでRFBを受信するサーバアプリと送信するクライアント(ビューア)が揃えばいい代物。
例えば、サーバをwindowsPCで動かして、ビューアをLinuxで動かせば、Linuxからwindowsの画面を共有しつつ操作も可能となる。

一応、windowsには標準の「リモート アシスタンス」で画面共有が可能であるが、これはwindows同士に限定.
windowsの画面をwindows以外のOSからも画面共有するとなると vnc の出番となる.

ここではLinuxでサーバを動かして、windowsから操作してみます。

XDMCPで繋ぐにはvnc/XDMCP
vnc/noVNC
一歩進んで画面共有をブラウザで提供するのがGuacamole

まずは簡単に

最小構成で構築したなら「yum groupinstall "GNOME Desktop"」を実行
rhel8系なら「dnf groupinstall Workstation」

一般ユーザでログインして、「Settings」を開き、「Sharing」にて「Screen Sharing」を選ぶ
そこで「Allow connections to control the screen」を有効にしてパネル上部のスイッチを「ON」にする
2021y07m05d_030612561.png
これで vnc が有効になって他、例えばwindowsにいれた vnc-viewer とかでアクセスできる。
だが、下記作業が別途必要です

  • firewallでvnc向けの穴を開ける
    [root@n1 ~]# firewall-cmd --add-service=vnc-server --permanent
    [root@n1 ~]# firewall-cmd --reload
  • 通信の暗号化を解除
    vnc viewerで「No supported authentication methods」とか表示されるのでこれを解除する
    rootで「dconf-editor」をインストールして、一般ユーザにて「dconf-editor」を起動します。
    表示された画面から[org]/[gnome]/[desktop]/[remote-access]を開き、「require-encryption」と「prompt-enabled」を無効にします

ログインしているユーザの画面共有なら上記方法で足りるのかなと.

*画面にログインしていないユーザをvncで接続させるには、他のサイトで語られている方法を使うしかない。
「vncpasswd」でvnc接続向けのパスワードを作ったり、「vncserver -geometry 1024x1024 :1」で画面サイズとポートを掘ったりと. それなら xdmcpをvncで提供したほうが楽では?vnc/XDMCP

vncビューアでアクセス

パネルに相手先を入力して「connect」ボタンを押下します
2021y07m06d_034819639.png

パスワード制御されているとパスワードが求められ、その認証が済むと画面が表示される。

2021y07m06d_035005608.png

ubuntu18.04

基本は「設定」の「共有」から画面共有設定ができるみたい。っが、netplan経由でないと使えないの?
参照先 https://www.cyberciti.biz/faq/install-and-configure-tigervnc-server-on-ubuntu-18-04/

ディスプレイマネージャGDMをそのまま使うには下記 vnc サーバをインストールします。

root@ubuntu-esxi:~# apt install tigervnc-standalone-server tigervnc-xorg-extension

次にvnc経由で画面共有をさせたいユーザの vnc 接続の際に使用するパスワードを決めます。

illya@ubuntu-esxi:~$ vncpasswd
Password:
Verify:
Would you like to enter a view-only password (y/n)? n
illya@ubuntu-esxi:~$

そしてXセッションの起動用のプログラムを記載します。

illya@ubuntu-esxi:~$ cat .vnc/xstartup
#!/bin/sh
# Start Gnome 3 Desktop
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
vncconfig -iconic &
dbus-launch --exit-with-session gnome-session &
 
illya@ubuntu-esxi:~$

その後にvncサービスを起動します。
「vncserver -localhost no -geometry 1024x1024 :1」

illya@ubuntu-esxi:~$ vncserver -localhost no -geometry 1024x1024 :1
/usr/bin/xauth:  file /home/illya/.Xauthority does not exist
/usr/bin/xauth: (argv):1:  bad display name "ubuntu-esxi.sybyl.local:1" in "add" command
/usr/bin/xauth:  file /home/illya/.Xauthority does not exist
 
New 'ubuntu-esxi.sybyl.local:1 (illya)' desktop at :1 on machine ubuntu-esxi.sybyl.local
 
Starting applications specified in /etc/X11/Xvnc-session
Log file is /home/illya/.vnc/ubuntu-esxi.sybyl.local:1.log
 
Use xtigervncviewer -SecurityTypes VncAuth,TLSVnc -passwd /home/illya/.vnc/passwd ubuntu-esxi.sybyl.local:1 to connect to the VNC server.
 
illya@ubuntu-esxi:~$

この段階で「ps」コマンドでプロセスを確認するとユーザのXログインセッションに必要なプロセスが稼働しています。

ここでvncクライアントでアクセスします。
2019y07m31d_001400998.png

終了方法

illya@ubuntu-esxi:~$ vncserver -kill :1

これにて「vncserver」で起動したプロセスがすべて終了します。
「~/.vnc/xstartup」ファイルを用意しないとプロセスが残りますので要注意

留意
ここでは tiger-vncを使っている。vncserverといっても

illya@ubuntu-esxi:~$ update-alternatives --display vncserver
vncserver - auto mode
  link best version is /usr/bin/tigervncserver
  link currently points to /usr/bin/tigervncserver
  link vncserver is /usr/bin/vncserver
  slave vncserver.1.gz is /usr/share/man/man1/vncserver.1.gz
/usr/bin/tigervncserver - priority 80
  slave vncserver.1.gz: /usr/share/man/man1/tigervncserver.1.gz
illya@ubuntu-esxi:~$

と「tigervncserver」へリンクされています。

ubuntuメモ

ubuntuのGNOMEとtigervncはOKみたい。しかしGNOMEとvnc4serverは無理みたい。

ubuntu xfce4 でvnc

GNOMEが重いなら軽量のディスプレイマネージャで。
こちらを採用されている方が多いのかな

root@ubuntu-esxi:~# apt install xfce4 xfce4-goodies

使用するvncはtigervnc。どうもvnc4serverだと上手く動かない。。こちらだけなのかもしれないけど。
xstartupファイルは

illya@ubuntu-esxi:~$ cat .vnc/xstartup
#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
exec startxfce4
 
illya@ubuntu-esxi:~$

2019y07m31d_013627519.png


トップ   編集 添付 複製 名前変更     ヘルプ   最終更新のRSS
Last-modified: 2021-07-17 (土) 05:48:34 (73d)