ToDesk 连接 Linux 后分辨率过低的解决方法

ToDesk 连接 Linux 后分辨率过低的解决方法

使用 ToDesk 远程连接 Linux 图形桌面时,有时会发现画面突然变得很模糊、桌面空间很小,分辨率可能退回到 1024×768 或更低。之前连接正常,但服务器重启、显示器断开或图形会话重新建立后,就可能出现这个问题。

这通常不是 ToDesk 的画质设置导致的,而是 Linux 当前桌面本身使用了较低的分辨率。ToDesk 只是把这个桌面画面传输出来。

一、查看当前显示输出和可用分辨率

在 Linux图形桌面中打开终端,执行:

bash 复制代码
xrandr

输出内容通常类似:

text 复制代码
Virtual-1-1 connected 1024x768+0+0
   1920x1080     60.00
   1366x768      60.00
   1280x720      60.00
   1024x768      60.00*

其中:

  • Virtual-1-1 是当前显示输出名称,不同机器上也可能是 HDMI-1、DP-1、Virtual-1 等。
  • connected 表示该显示输出正在使用。
  • 带 * 的分辨率是当前正在使用的分辨率。
  • 1920x1080 出现在列表中,说明系统已经支持该分辨率,可以直接切换。

二、临时切换到 1920×1080

假设显示输出名称是 Virtual-1-1,执行:

bash 复制代码
xrandr --output Virtual-1-1 --mode 1920x1080 --rate 60

执行后,Linux 桌面通常会立即切换到 1920×1080,ToDesk 画面也会随之变化。

如果 ToDesk 没有马上刷新,可以:

  1. 在 ToDesk 顶部工具栏中选择"自适应"或"原始分辨率"。
  2. 断开当前远程连接,然后重新连接。

需要注意,Virtual-1-1 必须替换为自己运行 xrandr 时看到的实际输出名称。例如:

bash 复制代码
xrandr --output HDMI-1 --mode 1920x1080 --rate 60

三、让设置在登录后自动生效

直接执行 xrandr 命令通常只对当前图形会话有效。Linux 重启或用户重新登录以后,可能再次恢复成低分辨率。

可以在系统的"启动应用程序"中添加下面的命令:

bash 复制代码
sh -c 'sleep 5; xrandr --output Virtual-1-1 --mode 1920x1080 --rate 60'

这里增加 sleep 5,是为了等待 Linux 图形桌面和虚拟显示设备初始化完成。如果执行得太早,系统可能还找不到 Virtual-1-1。

在 Ubuntu 桌面中,可以搜索并打开"启动应用程序",然后填写:

  • 名称:设置桌面分辨率
  • 命令:sh -c 'sleep 5; xrandr --output Virtual-1-1 --mode 1920x1080 --rate 60'
  • 描述:登录后自动将分辨率调整为 1920×1080

四、列表中没有 1920×1080 怎么办

如果运行 xrandr 后没有发现 1920×1080,可以手动创建显示模式。

首先生成参数:

bash 复制代码
cvt 1920 1080 60

输出类似:

text 复制代码
Modeline "1920x1080_60.00" 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync

然后依次执行:

bash 复制代码
xrandr --newmode "1920x1080_60.00" 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync
xrandr --addmode Virtual-1-1 "1920x1080_60.00"
xrandr --output Virtual-1-1 --mode "1920x1080_60.00"

注意:--newmode 后的参数应以自己运行 cvt 得到的结果为准。

五、常见错误排查

1. 提示 output ... not found

错误示例:

text 复制代码
xrandr: cannot find output "Virtual-1-1"

说明输出名称写错了,重新运行:

bash 复制代码
xrandr

找到标记为 connected 的实际名称,再替换命令中的输出名称。

2. 提示 cannot find mode 1920x1080

说明当前输出没有注册这个显示模式。可以按照上一节使用 cvt、--newmode 和 --addmode 手动添加。

3. 提示 Can't open display

这通常是因为命令在 SSH、root 用户或非图形会话中执行,访问不到当前桌面。优先在 ToDesk 已连接的图形桌面终端中执行。

如果必须通过 SSH 操作,可以先确认桌面使用的显示编号和登录用户,再设置相应的 DISPLAY 与授权环境。不同桌面环境的配置可能不同,不建议直接照搬固定值。

4. 使用 Wayland 时命令不生效

xrandr 主要针对 X11。可以执行下面的命令查看当前会话类型:

bash 复制代码
echo $XDG_SESSION_TYPE
  • 输出 x11:可以正常使用本文的 xrandr 方案。
  • 输出 wayland:应优先在系统"设置 → 显示器"中修改,或者在登录界面切换到 Xorg 会话后再使用 xrandr。

六、为什么以前正常,现在突然变低

常见原因包括:

  • Linux 或图形桌面重启后,显示配置没有持久保存。
  • 服务器没有连接物理显示器,显卡没有读取到显示器的 EDID 信息。
  • HDMI 欺骗器、显示器或视频线被移除。
  • ToDesk 建立了新的虚拟显示设备,输出名称或默认模式发生变化。
  • 图形驱动升级或桌面会话从 X11 切换到了 Wayland。

如果机器长期处于无显示器运行状态,除了配置自动启动命令,也可以考虑使用 HDMI 显示器欺骗器(Dummy Plug),让系统始终认为有一台支持 1920×1080 的显示器连接着。

总结

如果 xrandr 已经列出了 1920x1080,最简单的处理方式就是:

bash 复制代码
xrandr --output Virtual-1-1 --mode 1920x1080 --rate 60

如果每次重启后都会恢复低分辨率,再把下面这条命令加入启动应用程序:

bash 复制代码
sh -c 'sleep 5; xrandr --output Virtual-1-1 --mode 1920x1080 --rate 60'

这类问题的核心是调整 Linux 图形桌面的实际分辨率,而不只是修改 ToDesk 客户端的缩放或画质设置。

相关推荐
做运维的阿瑞3 小时前
数据库增删改的安全写法
数据库·sql·mysql
程序边界3 小时前
迁移评估不再拍脑袋,这个数据迁移工具的量化报告把我救了(上)
数据库
YoungStudyAI4 小时前
QA的下一个自动化阶段,可能不是再写更多脚本,而是设计测试Agent
运维·自动化
阿狗童鞋4 小时前
Redis实战指南
数据库·redis·缓存
分布式存储与RustFS5 小时前
纠删码到底吃掉了多少容量:EC:4、EC:8 的利用率与容错怎么算
运维·云原生·开源·对象存储·分布式存储·s3·性能基准
遇见小修修5 小时前
3步解决打印机0x00000709报错 ,广州深圳程序员可自行排查
运维·打印机·维修·打印机报错·打印机运维·打印机故障自查
lupai5 小时前
维修保养记录精准版 API 对接实战指南
数据库·python
顺顺 尼5 小时前
linux 进程信号(上)
linux·c++·算法
niuTaylor6 小时前
飞腾 FT-2000/4 Ubuntu 内存卡 / NVMe SSD 系统制作完整指南
linux·服务器·人工智能·驱动开发·单片机
傲世仙尊7 小时前
信号量环形队列与线程池起步-把临界资源拆成很多份
linux