qshinoの日記

Powershell関係と徒然なこと

ubntu デスクトップのリモート操作

ubuntu vnc

ubuntu18.04 のvnc。下記環境でリモート1の画面をvncを使ってローカルで見る。

  • ubuntu vnc server / リモート1
  • centos7 vncviewer / リモート2
  • win xming / ローカル

ネットワークイメージ。

f:id:qshino:20190601102703j:plain

背景

ubuntuの作業中やログイン前の画面を別のプライベートLANから見る。

利用モジュール

ubuntu18.04に標準で入っているvncサーバのvinoと、centos上のtigervnc(viewer)

環境

ubuntu/centosはgw/ipmasq 経由でwinに繋がる。winからはsshのみが通る。

全体の流れ

  1. vinoの設定/起動@ubuntu
  2. vnc clientの設定@centos7
  3. xming立上げ@win
  4. vnc client立上げ

vino ubuntu18.04設定

ネットワークコネクション単位に許可

$ dconf write /org/gnome/settings-daemon/plugins/sharing/vino-server/enabled-connections "['xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx']"

ネットワークコネクションの UUID は nmcliで確認する。

https://ubuntuforums.org/showthread.php?t=2391597

https://kokufu.blogspot.com/2018/10/ubuntu-1804-vino.html?m=1

vino on ubuntu

cmdlineで設定/起動

# prepare
export DISPLAY=:0
export DBUS_SESSION_BUS_ADDRESS=....

# encryption disable
gsettings set org.gnome.Vino require-encryption false
gsettings set org.gnome.Vino prompt-enabled false

# enable 
# enableは16.04までらしく、18.04では、先のコネクション単位の設定が必要らしい。
gsettings set org.gnome.Vino enabled

# launch
/usr/lib/vino/vino-server

# To show settings
gsettings list-keys org.gnome.Vino

上記DBUS...環境変数設定方法。

pgrep -u ユーザ名 -l

tr '\0' '\n' < /proc/上記pid/environ | grep DBUS

export DBUS_SESSION_BUS_ADDRESS=...

18.04のgsettings

$ gsettings list-recursively org.gnome.Vino

org.gnome.Vino notify-on-connect true

org.gnome.Vino alternative-port uint16 5900

org.gnome.Vino disable-background false

org.gnome.Vino use-alternative-port false

org.gnome.Vino icon-visibility 'client'

org.gnome.Vino use-upnp false

org.gnome.Vino view-only false

org.gnome.Vino prompt-enabled true

org.gnome.Vino disable-xdamage false

org.gnome.Vino authentication-methods ['none']

org.gnome.Vino network-interface ''

org.gnome.Vino require-encryption true

org.gnome.Vino mailto ''

org.gnome.Vino lock-screen-on-disconnect false

org.gnome.Vino vnc-password 'keyring'

firewall

vnc portは5900。クライントが192.168.1.6の場合。

# firewall-cmd --list-all
# firewall-cmd --add-rich-rule='rule family="ipv4" source address="192.168.1.6" service name=vnc-server accept'
# firewall-cmd --list-all

vnc client on centos7

remmiaが良いと聞くが、centos7のrpmがある?

ここでは、tigervnc クライアントのvncviewer を使う。

yum install tigervnc

xming on win

xmingを立ち上げておく。

vnc色々

vnc 説明
tigervnc 2018/7/16 1.9 、centosのpkgあり、tightvncのfork. 2017/5/16 1.8
tightvnc 2017/4/6 win 版2.8.8、linuxは1.3.10で止まってる?
ultravnc winのみ
realvnc 2017年12月に6.2.1リリース. ラズパイ。サーバ充実mac版あり
turbovnc 2017年9月26日に2.1.2をリリース
vino ubuntuに標準
remmina ubuntuなら

最後に

リモートのリブート時再接続が面倒なssh tunnelと、

別サーバを経由する本設定、

どちらが良いかは一概に言えないが、今回は接続の再設定が不要な方を選定。

ワン・コマンドで画面が見える本設定は、かなり便利。

opengl

openglを使うと本設定では見えない。virtualglを利用すれば見えると言う話もあり、調査中。

ref

redhat vnc fw

https://access.redhat.com/documentation/ja-jp/red_hat_enterprise_linux/7/html/system_administrators_guide/sec-vnc-viewer

enable vnc.server from cmdline

https://askubuntu.com/questions/4474/enable-remote-vnc-from-the-commandline

remmina vnc client

https://gihyo.jp/admin/serial/01/ubuntu-recipe/0411

x11vnc with lightdm

https://mixture.dcmnjp.net/linux/ubuntu/x11vnc.html

x11vnc 今回は使っていない。

http://shgrune-sphiar.sblo.jp/s/article/184587190.html

vncの状況

https://www.hiro345.net/blogs/hiro345/archives/19347.html

vino vnc disable encryprion

https://qiita.com/Reizouko/items/beee6bf54a24158db1bf