Debian
使用 (x11)vnc 控制 Debian 主機的 MacOS 螢幕共享應用程序
我的目標是連接到遠端主機(執行 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
- 也歡迎任何有關其他連接方式的建議(例如我現在正在考慮的Xpra )!
- 我無法使用雙向剪貼板(在 中顯示為灰色
Screen Sharing.app
)。需要為此更改 Debian 主機中的任何設置嗎?
兩種選擇:
這是一個很棒的遠端桌面解決方案,實際上是我能找到的唯一一個鍵盤佈局切換正常工作的解決方案(以防您使用多個按鍵佈局)。X2Go 伺服器在 Debian repos 上可用;你需要它自己的客戶端,有一個 Mac 版本。
這也很好用;它實質上啟動了一個 Microsoft 終端伺服器/RDS 協議。它也可以在 Debian 儲存庫中找到。客戶端,需要微軟RDS協議客戶端;我認為有一位來自 MS 的官員,還有其他人。
上述解決方案提供 2 路剪貼板。
我用於
Xpra
遠端應用程序訪問;它比 X 轉發更快。我沒有將它用於遠端桌面。