写在前面

年前把nas的硬件升级之后,那块工控板就闲置了下来,便萌生了刷上 Linux 系统学习一下的想法。首选自然是 Ubuntu ,但是安装了数次,总是报出各种各样的错误,遂转为 Debian ,一次成功。 但我的显示器是在另一个房间,辗转于两个房间总是不方便,发现 Windows 自带有远程桌面连接的功能,打开 Debian 的远程控制就能连接了。之后又使用 Sakura Frp 对远程桌面做了内网穿透,这样我即使回学校了也能通过 Debian 的浏览器来控制内网的各种设备了。本文章为我在使用Windows远程连接到Debian时碰到的问题。

远程连接中Linux上的一些设置

  • 设置->共享->远程桌面 打开远程桌面及远程控制,设置好认证所需的用户名及密码。
  • 设置->电源 将息屏和自动挂起全部关闭。
  • 设置->用户 将自动登录打开。

远程连接时没有弹出用户登录界面的错误

当我按上面的设置好,成功连接过一次后,模拟断电来电后自动开机的场景时,再使用远程桌面连接时却报出 “此计算机无法连接到远程计算机”“出现内部错误”。在显示器上能够看到界面,但发现远程桌面的认证密码自动改变了。原因是系统的所有用户名和密码均使用用户名的密码进行加密,而在远程连接的设置中开启了自动登录,Linux的远程桌面服务在没有解密的情况下加载密码导致加载失败,从而每次重启后都会生成一个新的随机密码。1
解决方法是在 设置->应用程序->密码和密钥 中将登录密码设置为空密码。输入旧密码后,在设置新密码时直接点击继续。这样再次重启后密码不再变动。

远程连接时弹出用户登录界面,但登陆后闪退

Linux的桌面GUI是在有显示器的情况下才会运行的。我将工控机放到电脑旁边以“无头模式”启动时,没有显示器负载,Debian的桌面GUI没有启动,当我远程连接时就闪退了。
解决方法是安装虚拟显示器或者tb几块钱买一个HDMI欺骗器。
安装虚拟显示器

sudo apt install xserver-xorg-video-dummy

之后在/usr/share/X11/xorg.conf.d/创建一个xorg.conf文件,将下面的代码复制进去。

Section "Device"
    Identifier "DummyDevice" 
    Driver "dummy"
    VideoRam 256000
EndSection
 
Section "Monitor"
    Identifier "DummyMonitor"
    HorizSync 30.0-1000.0
    VertRefresh 30.0-1000.0
    Modeline "2560x1440_50.00"  256.09  2560 2728 3008 3456  1440 1441 1444 1482 -HSync +Vsync
    Modeline "2560x1600_50.00"  285.75  2560 2736 3016 3472  1600 1601 1604 1646 -HSync +Vsync
EndSection
 
Section "Screen"
    Identifier "DummyScreen"
    Device "DummyDevice"
    Monitor "DummyMonitor"
    DefaultDepth 24
    SubSection "Display"
        Depth 24
        Modes "2560x1600_50.00" "2560x1440_50.00"
    EndSubSection
EndSection

保存后重启电脑即可。若要关闭虚拟显示器,只需将xorg.conf文件删除。