• ubuntu 设置x11vnc服务


    Ubuntu 18.04 设置x11vnc服务

    自带的vino-server也可以用但是不好用,在ubuntu论坛上看见推荐的x11vnc(ubuntu关于vnc的帮助页面),使用设置一下,结果发现有一些坑需要填,所以写下来方便下次使用

    转载请说明出处,谢谢配合😆

    下载并安装x11vnc

    apt update -y
    apt install -y x11vnc
    
    • 1
    • 2

    配置开启自启动

    #让x11vnc在任何环境下通过systemd自动启动
    vim /lib/systemd/system/x11vnc.service
    
    #将下方内容填写到/lib/systemd/system/x11vnc.service文件中,USERNAME换成你自己环境中的用户,也可以使用x11vnc -storepasswd 指定认证密码存储位置
    [Unit]
    Description=Start x11vnc at startup.
    After=multi-user.target
    
    [Service]
    Type=simple
    ExecStart=/usr/bin/x11vnc -auth guess -forever -loop -noxdamage -repeat -rfbauth /home/USERNAME/.vnc/passwd -rfbport 5900 -shared -display :0
    
    [Install]
    WantedBy=multi-user.target
    
    #重载 systemd 管理的单元文件,使配置生效(没有权限的话使用root用户或sudo)
    systemctl daemon-reload
    
    #开机自启设置
    systemctl enable x11vnc.service
    
    #启动x11vnc
    systemctl start x11vnc.service
    
    #重启x11vnc
    systemctl restart x11vnc.service
    
    #关闭x11vnc
    systemctl stop x11vnc.service
    
    #查看x11vnc状态
    systemctl status x11vnc.service
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32

    问题与解决方案

    1. x11vnc连接黑屏
    #查看ubuntu的桌面管理环境是否是GDM3,x11vnc 在 GDM3 中不起作用,因此需要使用lightdm桌面管理环境
    
    #安装lightdm(权限不够使用root用户或sudo)
    apt install -y lightdm
    
    #切换至lightdm
    dpkg-reconfigure lightdm
    #选择lightdm,如下图
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    设置lightdm

    1. x11vnc使用-auth guess无法启动
    #使用guess可能会出现问题
    #也可以通过下面的命令查看auth指定lightdm Xauthority文件的路径
    ps aux | grep auth
    
    • 1
    • 2
    • 3
    1. 不使-display :0会出现如下问题
     xauth:  unable to generate an authority file name 
    xauth:  unable to generate an authority file name
    -auth guess: using default XAUTHORITY for display='unset' XOpenDisplay("") failed.
    Trying again with XAUTHLOCALHOSTNAME=localhost ...
    XOpenDisplay failed. No -display or DISPLAY.
    Trying ":0" in 4 seconds.  Press Ctrl-C to abort.
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    查看x11vnc进程与防火墙

    #查看进程是否存在,
    netstat -ntlup | grep x11vnc
    
    • 1
    • 2

    #查看防火墙是否允许允许vnc指定的端口访问

    #允许5900端口访问
    iptables -A INPUT -p tcp --dport 5900-j ACCEPT
    #或直接使用iptables -F
    
    #没有iptables查看ufw状态
    ufw status
    
    #禁用ufw
    ufw disable
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
  • 相关阅读:
    Java扫码点餐小程序源码 智慧点餐系统源码 点餐APP SaaS模式
    Dart语言基础
    SQL题
    HashMap解析
    JXLS2同一个sheet多个表格循环覆盖下面表格数据问题
    [附源码]Python计算机毕业设计Django面向高校活动聚App
    Cesium关于Entity中的parent、isShowing、entityCollection和监听事件的探讨
    怎么把jfif格式改成jpg?
    Python爬虫——Scrapy框架使用实例及执行过程
    旅游行业电商平台:数字化转型的引擎与未来发展趋势
  • 原文地址:https://blog.csdn.net/qq_32566687/article/details/133638688