MacOS画面共有アプリケーションは(x11)vncを使用してDebianホストを制御します。

MacOS画面共有アプリケーションは(x11)vncを使用してDebianホストを制御します。

私の目標は、デスクトップ全体の環境を制御できるようにリモートホスト(Debianを実行)に接続することです。だから私は次の記事に示すようにvnc / x11vncを使ってみました。

接続したい場合は、Debianホストで次のコマンドを呼び出します。

❯ x11vnc -rfbauth ~/.vnc/passwd
12/05/2021 06:01:16 passing arg to libvncserver: -rfbauth
12/05/2021 06:01:16 passing argx to libvncserver: /home/massisenergy/.vnc/passwd
12/05/2021 06:01:16 x11vnc version: 0.9.13 lastmod: 2011-08-10  pid: 3011
12/05/2021 06:01:16 XOpenDisplay("") failed.
12/05/2021 06:01:16 Trying again with XAUTHLOCALHOSTNAME=localhost ...
12/05/2021 06:01:16
12/05/2021 06:01:16 *** XOpenDisplay failed. No -display or DISPLAY.
12/05/2021 06:01:16 *** Trying ":0" in 4 seconds.  Press Ctrl-C to abort.
12/05/2021 06:01:16 *** 1 2 3 4
12/05/2021 06:01:20 *** XOpenDisplay of ":0" successful.
12/05/2021 06:01:20
12/05/2021 06:01:20 Using X display :0
12/05/2021 06:01:20 rootwin: 0x143 reswin: 0x2400001 dpy: 0xc74adb40
12/05/2021 06:01:20
12/05/2021 06:01:20 ------------------ USEFUL INFORMATION ------------------
12/05/2021 06:01:20 X DAMAGE available on display, using it for polling hints.
12/05/2021 06:01:20   To disable this behavior use: '-noxdamage'
12/05/2021 06:01:20
12/05/2021 06:01:20   Most compositing window managers like 'compiz' or 'beryl'
12/05/2021 06:01:20   cause X DAMAGE to fail, and so you may not see any screen
12/05/2021 06:01:20   updates via VNC.  Either disable 'compiz' (recommended) or
12/05/2021 06:01:20   supply the x11vnc '-noxdamage' command line option.
12/05/2021 06:01:20
12/05/2021 06:01:20 Wireframing: -wireframe mode is in effect for window moves.
12/05/2021 06:01:20   If this yields undesired behavior (poor response, painting
12/05/2021 06:01:20   errors, etc) it may be disabled:
12/05/2021 06:01:20    - use '-nowf' to disable wireframing completely.
12/05/2021 06:01:20    - use '-nowcr' to disable the Copy Rectangle after the
12/05/2021 06:01:20      moved window is released in the new position.
12/05/2021 06:01:20   Also see the -help entry for tuning parameters.
12/05/2021 06:01:20   You can press 3 Alt_L's (Left "Alt" key) in a row to
12/05/2021 06:01:20   repaint the screen, also see the -fixscreen option for
12/05/2021 06:01:20   periodic repaints.
12/05/2021 06:01:20
12/05/2021 06:01:20 XFIXES available on display, resetting cursor mode
12/05/2021 06:01:20   to: '-cursor most'.
12/05/2021 06:01:20   to disable this behavior use: '-cursor arrow'
12/05/2021 06:01:20   or '-noxfixes'.
12/05/2021 06:01:20 using XFIXES for cursor drawing.
12/05/2021 06:01:20 GrabServer control via XTEST.
12/05/2021 06:01:20
12/05/2021 06:01:20 Scroll Detection: -scrollcopyrect mode is in effect to
12/05/2021 06:01:20   use RECORD extension to try to detect scrolling windows
12/05/2021 06:01:20   (induced by either user keystroke or mouse input).
12/05/2021 06:01:20   If this yields undesired behavior (poor response, painting
12/05/2021 06:01:20   errors, etc) it may be disabled via: '-noscr'
12/05/2021 06:01:20   Also see the -help entry for tuning parameters.
12/05/2021 06:01:20   You can press 3 Alt_L's (Left "Alt" key) in a row to
12/05/2021 06:01:20   repaint the screen, also see the -fixscreen option for
12/05/2021 06:01:20   periodic repaints.
12/05/2021 06:01:20
12/05/2021 06:01:20 XKEYBOARD: number of keysyms per keycode 7 is greater
12/05/2021 06:01:20   than 4 and 51 keysyms are mapped above 4.
12/05/2021 06:01:20   Automatically switching to -xkb mode.
12/05/2021 06:01:20   If this makes the key mapping worse you can
12/05/2021 06:01:20   disable it with the "-noxkb" option.
12/05/2021 06:01:20   Also, remember "-remap DEAD" for accenting characters.
12/05/2021 06:01:20
12/05/2021 06:01:20 X FBPM extension not supported.
12/05/2021 06:01:20 X display is capable of DPMS.
12/05/2021 06:01:20 --------------------------------------------------------
12/05/2021 06:01:20
12/05/2021 06:01:20 Default visual ID: 0x21
12/05/2021 06:01:20 Read initial data from X display into framebuffer.
12/05/2021 06:01:20 initialize_screen: fb_depth/fb_bpp/fb_Bpl 24/32/7680
12/05/2021 06:01:20
12/05/2021 06:01:20 X display :0 is 32bpp depth=24 true color
12/05/2021 06:01:20
12/05/2021 06:01:20 Autoprobing TCP port
12/05/2021 06:01:20 Autoprobing selected TCP port 5900
12/05/2021 06:01:20 Autoprobing TCP6 port
12/05/2021 06:01:20 Autoprobing selected TCP6 port 5900
12/05/2021 06:01:20 listen6: bind: Address already in use
12/05/2021 06:01:20 Not listening on IPv6 interface.
12/05/2021 06:01:20
12/05/2021 06:01:20 Xinerama is present and active (e.g. multi-head).
12/05/2021 06:01:20 Xinerama: number of sub-screens: 1
12/05/2021 06:01:20 Xinerama: no blackouts needed (only one sub-screen)
12/05/2021 06:01:20
12/05/2021 06:01:20 fb read rate: 3248 MB/sec
12/05/2021 06:01:20 fast read: reset -wait  ms to: 10
12/05/2021 06:01:20 fast read: reset -defer ms to: 10
12/05/2021 06:01:20 The X server says there are 20 mouse buttons.
12/05/2021 06:01:20 screen setup finished.
12/05/2021 06:01:20

The VNC desktop is:      debianSR:0
PORT=5900

******************************************************************************
Have you tried the x11vnc '-ncache' VNC client-side pixel caching feature yet?

The scheme stores pixel data offscreen on the VNC viewer side for faster
retrieval.  It should work with any VNC viewer.  Try it by running:

    x11vnc -ncache 10 ...

One can also add -ncache_cr for smooth 'copyrect' window motion.
More info: http://www.karlrunge.com/x11vnc/faq.html#faq-client-caching

12/05/2021 06:01:23 Got connection from client 10.39.3.163
12/05/2021 06:01:23   other clients:
12/05/2021 06:01:23 Normal socket connection
12/05/2021 06:01:23 Disabled X server key autorepeat.
12/05/2021 06:01:23   to force back on run: 'xset r on' (3 times)
12/05/2021 06:01:23 incr accepted_client=1 for 10.39.3.163:57928  sock=11
12/05/2021 06:01:23 Client Protocol Version 3.3
12/05/2021 06:01:23 Protocol version sent 3.3, using 3.3
12/05/2021 06:01:23 created   xdamage object: 0x2400040
12/05/2021 06:01:23 client useCopyRect: 10.39.3.163 0
12/05/2021 06:01:23 client_set_net: 10.39.3.163  0.0035
12/05/2021 06:01:24 rfbProcessClientNormalMessage: ignoring unsupported encoding type Enc(0x000003F3)
12/05/2021 06:01:24 rfbProcessClientNormalMessage: ignoring unsupported encoding type Enc(0x000003EA)
12/05/2021 06:01:24 Enabling full-color cursor updates for client 10.39.3.163
12/05/2021 06:01:24 rfbProcessClientNormalMessage: ignoring unsupported encoding type Enc(0x00000450)
12/05/2021 06:01:24 rfbProcessClientNormalMessage: ignoring unsupported encoding type Enc(0x0000044C)
12/05/2021 06:01:24 Enabling NewFBSize protocol extension for client 10.39.3.163
12/05/2021 06:01:24 rfbProcessClientNormalMessage: ignoring unsupported encoding type Enc(0x0000044D)
12/05/2021 06:01:24 rfbProcessClientNormalMessage: ignoring unsupported encoding type Enc(0x00000451)
12/05/2021 06:01:24 Using zlib encoding for client 10.39.3.163
12/05/2021 06:01:24 Pixel format for client 10.39.3.163:
12/05/2021 06:01:24   32 bpp, depth 32, little endian
12/05/2021 06:01:24   true colour: max r 255 g 255 b 255, shift r 16 g 8 b 0
12/05/2021 06:01:24 rfbProcessClientNormalMessage: ignoring unsupported encoding type Enc(0x000003F3)
12/05/2021 06:01:24 rfbProcessClientNormalMessage: ignoring unsupported encoding type Enc(0x000003EA)
12/05/2021 06:01:24 Enabling full-color cursor updates for client 10.39.3.163
12/05/2021 06:01:24 rfbProcessClientNormalMessage: ignoring unsupported encoding type Enc(0x00000450)
12/05/2021 06:01:24 rfbProcessClientNormalMessage: ignoring unsupported encoding type Enc(0x0000044C)
12/05/2021 06:01:24 Enabling NewFBSize protocol extension for client 10.39.3.163
12/05/2021 06:01:24 rfbProcessClientNormalMessage: ignoring unsupported encoding type Enc(0x0000044D)
12/05/2021 06:01:24 rfbProcessClientNormalMessage: ignoring unsupported encoding type Enc(0x00000451)
12/05/2021 06:01:24 Switching from zlib to zlib Encoding for client 10.39.3.163
12/05/2021 06:01:25 client 1 network rate 386.8 KB/sec (5119.8 eff KB/sec)
12/05/2021 06:01:25 client 1 latency:  0.5 ms
12/05/2021 06:01:25 dt1: 1.6203, dt2: 0.0000 dt3: 0.0005 bytes: 626674
12/05/2021 06:01:25 link_rate: LR_LAN - 1 ms, 386 KB/s
12/05/2021 06:01:26 copy_tiles: allocating first_line at size 61
12/05/2021 06:01:33 created selwin: 0x2400041
12/05/2021 06:01:33 called initialize_xfixes()
12/05/2021 06:01:39 client_count: 0
12/05/2021 06:01:39 Restored X server key autorepeat to: 1
12/05/2021 06:01:39 viewer exited.
12/05/2021 06:01:39 deleted 60 tile_row polling images.

しかし、しばらくして(おそらく2分、おそらく2時間)動作が止まったのですが、理由はわかりません。再起動すると、しばらくの間動作します。何が起こっているのか、より安定して長時間(最大8時間)vnc接続を確立する方法を知っていますか?

これは私のstartupファイルです:

❯ cat ~/.vnc/xstartup
#!/bin/zsh

# unset SESSION_MANAGER

xrdb $HOME/.Xresources
startxfce4 &
/etc/X11/Xsession
  1. 他の接続方法の提案(例:XPula、今検討中)も大歓迎です!
  2. 双方向クリップボードは使用できません(では灰色で表示されていますScreen Sharing.app)。このためにDebianホストの設定を変更する必要がありますか?

ベストアンサー1

2つのオプション:

  • X2Go
    これは素晴らしいリモートデスクトップソリューションです。実際には、キーボードレイアウトの切り替えが正しく機能する場所を見つけることができる唯一のソリューションです(複数のキーレイアウトを使用している場合)。 X2Go サーバーは Debian リポジトリで使用できます。独自のクライアントが必要で、Macバージョンもあります。
  • XRDP
    これも機能し、デフォルトでMicrosoftターミナルサーバー/ RDSプロトコルを起動します。 Debianリポジトリにもあります。クライアントには、Microsoft RDSプロトコルクライアントが必要です。 Microsoftには公式の担当者もいて、他の担当者もいるようです。

上記のソリューションは双方向クリップボードを提供します。

私はXpraリモートを使用しましたアプリケーションアクセス許可、X転送よりも高速です。まだリモートデスクトップには使用していません。

おすすめ記事