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-1DP-1Virtual-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 客户端的缩放或画质设置。

相关推荐
布莱克6051 小时前
Redis 详解:从核心数据结构到高可用架构
数据库
姚不倒2 小时前
etcd 学习系列(七):排障指南 —— 常见问题与解决方案
运维·etcd
广州灵眸科技有限公司2 小时前
从手动三步到上电即连:4G模组systemd开机自连方案
linux·运维·服务器·开发语言·网络·人工智能·php
冰暮流星2 小时前
mysql之左外连接与右外连接
数据库·sql
jyOverQ2 小时前
MySQL 联合索引怎么用?最左匹配原则到底是什么意思?
数据库·mysql
Lear2 小时前
Docker 私有仓库搭建与使用
运维·自动化运维
oradh2 小时前
Oracle enq: US - contention 等待事件总结
数据库·oracle
姚不倒3 小时前
etcd 学习系列(一):从业务需求出发,理解 etcd 是什么
运维·数据库·etcd
susplus3 小时前
【linux应用软件编程】数据库sqlite3
linux·数据库·sqlite