satokaz / hitorigoto

独り言
2 stars 0 forks source link

macOS の画面共有.app (Screen Sharing.app) を利用した VNC 接続 #23

Open satokaz opened 3 years ago

satokaz commented 3 years ago

macOS も標準機能として VNC Client を持っているので、使えるものは使ってしまいましょう。というお話。

Finder で ⌘+K するか、画面共有.app (Screen Sharing.app) を実行

/System/Library/CoreServices/Applications/Screen Sharing.app

mDNS でネットワーク上にサービスがアドバタイズされていれば、Finder の ネットワーク から、ホストが提供する 画面の共有... でも可能。

Solaris で動作している VNC サービスをアドバタイズしてみる

すでに、VNC server が利用できるよう Solaris 上に構成されていることが前提。 また、画面共有.app (Screen Sharing.app) から接続するには、VNC への接続認証にパスワードが利用されるよう設定されている必要がある。

avahi を利用してサービスを登録し、Finder に Solaris マシンを表示させ、画面の共有... ボタンで VNC に接続できるようにする。

Solaris 11.4 の avahi-daemon について

LSARC/2007/464/ で avahi-daemonavahi-daemon-bridge-dsd という名前に変えてやがった

# LSARC/2007/464/ -> rename avahi-daemon to avahi-daemon-bridge-dsd

https://github.com/oracle/solaris-userland/blob/master/components/avahi/generate/avahi.static#L32-L33

/etc/avahi/services ディレクトリはは存在していないが、手動で作成し、この配下にサービスが記載されたファイルを配置すれば daemon 起動時に読み取ってくれるので、avahi-daemon としての動きは問題ない感じ。

というわけで、Solaris でも Avahi は利用可能。

Avahi を使ってサービスをアドバタイズする

# mkdir -p /etc/avahi/services
<?xml version="1.0" standalone='no'?>
<!DOCTYPE service-group SYSTEM "avahi-service.dtd">
<service-group>
  <name replace-wildcards="yes">%h</name>
  <service>
    <type>_rfb._tcp</type>
    <port>5900</port>
  </service>
</service-group>
# svcadm enable dns/multicast 
# svcadm restart avahi-bridge-dsd

こんな感じで、出てくれば良い

$ avahi-browse -a 
+   net0  n/a solaris                                       _rfb._tcp.           local.

macOS の Finder には、このように表示される

image

satokaz commented 3 years ago

Solaris の Xvnc にも接続可能