• Ubuntu22.04 安装配置VNC Server


    如果转载, 请注明出处 https://www.cnblogs.com/milton/p/16730512.html

    Ubuntu22.04下VNC和远程桌面的区别

    这里介绍的是Ubuntu22.04 Desktop版安装配置VNC, 如果是Ubuntu22.04 Server, 因为自身不带桌面环境安装的问题会少一些

    • 使用远程桌面时, 用户必须在host上登入桌面环境. 可以是锁屏或非锁屏, 但是必须要有一个用户桌面会话存在, 如果用户logout了, 远程桌面就无法连接了
    • 使用VNC时, host上需要启动vncserver. 但是vncserver与用户在host上的桌面会话是不一样的, vncserver会给连接后的用户启动桌面会话

    启动vncserver失败的问题

    在Ubuntu22.04下, 用户在启动vncserver之前必须退出所有桌面会话, 否则会报错.

    安装步骤

    安装并启用 SSH 服务

    如果host上还没有ssh服务, 安装一下, 方便后面的安装步骤, 远程通过ssh进行. 如果不安装, 本机关闭桌面在命令行下也可以, 就是调试起来不方便

    sudo apt install openssh-server
    sudo systemctl status ssh.service
    # 确认是否开机自启动
    sudo systemctl is-enabled ssh.service

    初始安装

    (可选)安装XFCE桌面. 如果想使用自带的 Ubuntu桌面, 也可以不安装

    sudo apt install xfce4 xfce4-goodies

    安装vncserver

    sudo apt install tigervnc-standalone-server

    上面的安装完之后, 用普通用户在ssh连接(或者命令行终端)中启动一次

    vncserver

    过程中会让你设置密码和只读密码, 会自动分配端口号. 查看启动后的实例

    $ vncserver -list
    TigerVNC server sessions:
    X DISPLAY # RFB PORT # RFB UNIX PATH PROCESS ID # SERVER
    2 5902 11368 Xtigervnc

    如果-list看不到实例, 说明启动失败, 需要journalctl -fe看一下具体原因

    如果事后想再修改密码, 可以用vncpasswd命令

    上面启动的服务, 默认是只监听本地127.0.0.1, 所以从其它机器是无法连接的, 如果需要连接, 可以用这个命令启动

    vncserver -localhost no

    配置和添加到系统服务

    关闭刚才的实例, :2根据自己的实例修改

    vncserver -kill :2

    将 tigervncservice 服务添加到启动, :2根据自己的实例修改

    sudo systemctl start tigervncserver@:2.service
    sudo systemctl enable tigervncserver@:2.service

    服务配置文件在 /lib/systemd/system/tigervncserver@.service , 因为服务使用的是 /usr/libexec/tigervncsession-start 这个脚本, 脚本里面调用的是 /usr/sbin/tigervncsession , 参考 https://manpages.ubuntu.com/manpages/impish/man8/tigervncsession.8.html, 需要在 ~/.vnc/ 下创建文件 config, 输入内容

    session=xfce
    geometry=1366x768
    securitytypes=vncauth,tlsvnc
    • session=xfce 如果前面安装了xfce, 这里可以用xfce, 否则需要改成ubuntu(Desktop版自带桌面)
      • 能用哪些值, 取决于 /usr/share/xsessions 目录下包含哪些 desktop. 例如使用自带的 Ubuntu桌面, 可以改成 session=ubuntu
    • geometry=1366x768 是开启时的默认分辨率
    • 如果要只允许本地连接, 可以加一行 localhost

    修改完重启服务生效

    sudo systemctl restart tigervncserver@:2.service

    VNC客户端

    TigerVNC

    如果使用Win10 64bit, 下载其中的vncviewer64-x.xx.x.exe, 不需要安装, 直接运行, 地址填host地址加vnc编号, 例如 112.12.12.12:2, 或者112.12.12.12:5902也可以

    连接安全

    上面的配置, 仅适合在内网使用, 因为连接是不加密的. 如果需要加密, 一般将vnc服务启动为监听本地, 再使用ssh建立隧道对外提供服务. 具体可以参考下面的链接

    遇到的问题

    开启VNC服务后本机无法登入桌面

    上面配置完之后, 如果在host上想直接登录桌面, 界面会卡住失去响应很长时间, 然后再次回到登录界面. 猜测是因为VNC启动的桌面与Ubuntu系统桌面冲突引起的. 如果想在host上操作, 可以按Ctrl+Alt+(F1~F6)进入命令行进行操作

    XFCE桌面无法挂载移动硬盘

    在XFCE桌面下, 如果host插上移动硬盘, 要挂载时会提示Not Authorized, "not authorized to perform operation". 在Ubuntu桌面下, 同样的操作会弹出授权对话框让输入口令, 输入之后可以挂载. 猜测是XFCE界面适配上的bug, 未处理需要授权的情况.

    参考

  • 相关阅读:
    一、Node.js 环境安装 (详)
    MAX485芯片介绍(MAX485ESA+T,半双工RS422和RS485串口收发传输芯片,2.5Mbps传输速率。5V逻辑电平)
    jdk1.8.191 JVM内存参数 InitialRAMPercentage和MinRAMPercentage
    Git学习笔记
    基于STC12C5A60S2系列1T 8051单片机的TM1638键盘数码管模块的数码管显示应用
    HCIE-HCS规划设计搭建
    一次IOS通知推送问题排查全过程
    代码随想录(番外)图论3|1020. 飞地的数量|130. 被围绕的区域
    【设计模式】Java设计模式 - 组合模式
    8函数相关内容
  • 原文地址:https://www.cnblogs.com/milton/p/16730512.html