解决远程桌面(VNC)卡顿问题

当远程桌面在无显示器环境下运行时可能会出现卡顿问题,这通常由于显卡降频导致。为解决此问题,可以尝试硬件方案,如使用显卡欺骗器来模拟显示器,使设备保持全速运行;或者采用软件方法,安装虚拟显示器驱动,如xserver-xorg-video-dummy,在Ubuntu系统中设置虚拟分辨率。在设置完成后,通过VNC等工具远程连接时,系统将认为有显示器连接,从而提高远程桌面的流畅性。若需调整分辨率,可使用xrandr命令。此方法适用于需要在无显示器环境下远程高效工作的用户。

背景

  • 因为工作需要,一些场景使用远程终端以及接显示器不方便,也因此考虑使用远程桌面控制。
  • 但不接显示器的情况下,远程连接会特别卡,网上查找,是因为不接显卡,显卡会降频什么的。

远程桌面环境搭建

解决方法

  • 可以从硬件或是软件上来处理

硬件

软件

  • 可以装个虚拟显示器
  • 此操作方法是模拟显示器,执行后,实际插入显示器可能就不能正常显示了,需要移除模拟的显示器文件,才可以正常显示。所以最好确保都知道原设备ip,如果操作失误,可以ssh连接,把相应文件移除,
  • 参考链接:Ubuntu 设置 虚拟分辨率
  • 首先安装对应包
/* 我所用设备为ubuntu16.04,可根据系统响应更改数字 */
sudo apt-get install  xserver-xorg-core-hwe-16.04
sudo apt-get install  xserver-xorg-video-dummy-hwe-16.04
  • 设置开机生成虚拟屏幕
sudo vim /usr/share/X11/xorg.conf.d/xorg.conf

这是我根据参考链接原文件,做适合自己的修改。我需要用到1024x600的分辨率,可以按以下操作,并修改原文件相关信息

在这里插入图片描述

Section "Device"
	Identifier "dummy_videocard"
	Option "NoDDC" "true"
	Option "IgnoreEDID" "true"

	Driver "dummy"

	VideoRam 524288
EndSection

Section "Monitor"
	Identifier "dummy_monitor"

	Modeline "1920x1440" 69.47 1920 1960 2152 2384 1440 1441 1444 1457
	Modeline "1920x1200" 26.28 1920 1952 2048 2080 1200 1229 1231 1261
	Modeline "1920x1080" 23.53 1920 1952 2040 2072 1080 1106 1108 1135
	Modeline "1024x600_60.00"  49.00  1024 1072 1168 1312  600 603 613 624
	
	HorizSync   5.0 - 1000.0
	VertRefresh 5.0 - 1000.0
EndSection

Section "Screen"
	Identifier "dummy_screen"
	Device "dummy_videocard"
	Monitor "dummy_monitor"
	DefaultDepth 24
	SubSection "Display"
		Depth 24
		Modes "1920x1440" "1920x1200" "1920x1080" "1024x600_60.00"
		
		# Not sure why, but 3440x1440 won't work when the Virtual is set to "3840 2160"
		# However it will complain in the Xorg.log when you didn't comment out the 3840x2160 resolution at the top
		Virtual 1024 600
	EndSubSection
EndSection

可修改上方文件最后的virtual,更改开机默认分辨率

Virtual <your-width> <your-height>
  • reboot重启,可生效,然后就可以通过VNC去连接了

  • 原作者取消无屏显示的方法

    sudo mv /usr/share/X11/xorg.conf.d/xorg.conf /usr/share/X11/xorg.conf.d/xorg.conf.bak
    sudo reboot
    
  • 通过vnc连接上后,也可以更改分辨率。

xrandr  /* 可查看已有分辨率 */
xrandr -s 1024x600 /* 可更改相应的分辨率 */
  • 更多操作,可以参考此链接 Xrandr (简体中文)

  • 更改分辨率之后,会因分辨率不同出现卡顿,只要重新连接即可

其他

  • 个人公众号(哈哈,暂时没啥东西)

在这里插入图片描述

### 树莓派远程连接卡顿解决方案 #### SSH性能优化 SSH 是一种安全的网络通信协议,用于在不安全的网络环境中建立加密通道。如果通过 SSH 进行远程连接时遇到卡顿问题,可以通过以下方法进行优化: 1. **禁用DNS反向解析** 默认情况下,SSH服务器会尝试对客户端IP地址进行DNS反向解析,这可能会增加延迟并导致卡顿现象。编辑 `/etc/ssh/sshd_config` 文件并将 `UseDNS yes` 修改为 `UseDNS no`[^1]。 2. **启用压缩功能** 启用数据流压缩可以减少传输的数据量,从而提高速度。在客户端启动SSH命令时加上 `-C` 参数即可实现压缩功能。例如: ```bash ssh -C user@raspberrypi ``` 3. **调整密钥交换算法** 使用更高效的密钥交换算法能够提升SSH连接的速度。修改 `/etc/ssh/sshd_config` 文件中的 `KexAlgorithms` 和 `Ciphers` 配置项,推荐设置如下: ```plaintext KexAlgorithms curve25519-sha256@libssh.org,diffie-hellman-group-exchange-sha256 Ciphers chacha20-poly1305@openssh.com,aes256-gcm@openssh.com,aes128-gcm@openssh.com ``` --- #### VNC性能优化 VNC是一种图形界面共享工具,在低带宽环境下容易出现卡顿情况。以下是针对VNC性能的一些改进措施: 1. **降低颜色质量** 减少每像素的颜色位数可以从源头上削减图像大小,进而减轻网络负担。通常可以选择16位色彩模式而不是默认的24或32位。具体操作是在启动RealVNC服务端时指定参数: ```bash vncserver :1 -geometry 1024x768 -depth 16 ``` 2. **缩小分辨率** 较高的屏幕分辨率意味着更多的像素需要被编码和解码,因此适当减小显示尺寸有助于改善流畅度。建议采用适合目标设备的最佳匹配分辨率。 3. **关闭不必要的视觉效果** 如果桌面环境支持自定义主题或者窗口管理器,则应尽可能简化外观风格(如隐藏壁纸、停用透明特效)。对于Raspbian系统而言,默认使用的LXDE轻量化桌面已经较为精简但仍需注意上述细节调优[^2]。 4. **升级硬件资源分配** 考虑到树莓派本身计算能力有限,当运行多个任务同时开启VNC会话可能造成CPU负载过高而引发响应迟缓的现象。此时可通过优先级调度机制来保障特定进程获得足够的处理时间片;另外也可以考虑外接USB加速存储介质以缓解内部闪存读写瓶颈带来的影响[^3]。 --- #### 综合网络层面优化 无论是SSH还是VNC都依赖于底层TCP/IP栈工作,因而整体链路状况直接影响最终用户体验的好坏程度。为此提出几点通用性的改进建议供参考: - 确认本地路由器QoS服务质量策略未错误限制来自树莓派MAC地址关联流量速率上限; - 尝试更换不同频段Wi-Fi信道避开干扰源密集区域(尤其是2.4GHz范围内),有条件的话切换至千兆有线接入方式可以获得更为稳定的表现; - 定期清理防火墙黑名单记录防止误拦截合法请求包丢失重传耗时过久等问题发生。 ```python import psutil def check_network_stats(): net_io = psutil.net_io_counters() print(f"Bytes Sent: {net_io.bytes_sent}, Bytes Received: {net_io.bytes_recv}") check_network_stats() ``` 此脚本可以帮助监控当前主机实时收发字节数统计信息以便分析是否存在异常突增趋势。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值