远程连接注销后如何保持桌面

阿里云租了个服务器,在上面跑了一个程序,实时分析屏幕的运行结果。
远程连接的情况下程序都能够正常运行,断开远程连接后,程序就会报错退出。
经过分析,可能的情况是断开连接后,操作系统保持会话,但是会销毁对应的虚拟桌面。我的程序访问不到屏幕就出错了。

有什么手段能够在断开连接后能让操作系统保持桌面

可以尝试使用VNC连接(Virtual Network Computing),它是一种远程控制网络技术,可以允许用户使用远程计算机上的桌面、文件夹及文件,而不需要建立新的连接。VNC连接能够在断开连接后保持会话,而且不会销毁虚拟桌面,因此您的程序也能够正常运行。

centos 系统吗?
那需要后台运行,研究一下 nohup 命令 和 &

  1. 尝试使用操作系统的远程终端服务(RDP),这样可以让操作系统保持会话,而不会销毁虚拟桌面。

  2. 尝试使用虚拟机,这样可以让操作系统保持会话,而不会销毁虚拟桌面。

  3. 尝试使用远程桌面软件,这样可以让操作系统保持会话,而不会销毁虚拟桌面。

  4. 尝试使用脚本自动重新启动程序,当断开连接时,脚本可以自动重新启动程序,从而保持程序运行。

补充一下,服务器端操作系统是Windows Server2012 R2

整了两天,其实大部分答案之前都尝试过,最后阿里云的工程师给出一个折中的方案,用阿里自己的一个网页vnc工具,能够实现关闭页面后,保持桌面存在。

我这里应用比较特殊,服务器用来挂机,但是没法一直保持远程桌面连接。服务器端程序需要检测界面状态,推测可能是windows机制,断开连接后系统就把桌面销毁了。我这里本地测试,服务器有一个物理桌面的话就不会出现这种情况。
多谢大家帮忙出主意,感谢。

您可以通过设置Windows Server2012 R2的系统设置来解决这个问题。
您可以执行以下操作:

1.进入服务器的控制面板,找到管理工具。
2.在管理工具中打开远程桌面服务(Remote Desktop Services)。
3.在远程桌面服务管理器中,选择终端服务设置。
4.在终端服务设置中,找到会话设置,并在这里启用"持久会话"。
5.这样设置后,断开远程连接后,Windows Server2012 R2将保持桌面,您的程序将不再因无法访问屏幕而报错退出。

你不选择注销就没事,直接把远程桌面 x 就可以了

利用远程任务计划程序(Task Scheduler)
您可以在服务器端创建一个远程任务计划程序,以定期运行您的程序,这样即使在断开连接后操作系统销毁虚拟桌面,也可以继续运行您的程序。
运行您的程序在服务器的控制台(console)模式下
您可以在控制台模式下运行您的程序,在控制台模式下运行的程序不依赖于虚拟桌面的存在,并且会在断开连接后继续运行。

您可以尝试以下解决方案来解决此问题:

  1. 使用服务器上的控制台会话: 您可以使用 Windows 的控制台会话,它将在您断开远程连接后继续运行。 您可以通过启动“services.msc”并找到“控制台会话”服务来启用它。
  1. 使用远程桌面: 您可以使用远程桌面连接到服务器,这样您就可以在断开远程连接后保持控制。
  1. 使用任务计划程序: 您可以使用任务计划程序在您断开远程连接后继续运行程序。 您可以通过打开“taskschd.msc”并创建新任务来实现此目的。
  1. 使用 screen 或 tmux 工具:您可以使用 screen 或 tmux 工具来在断开远程连接后继续运行程序。这些工具都可以在服务器上运行,并允许您在断开远程连接后重新连接并恢复正在运行的程序。

请根据您的需求和环境选择合适的方案,以便解决此问题

思路:
1、只缩小最小化窗口
2、换个远程工具,让它远程连接断开后不会自动注销会话
3、设置远程桌面服务,链接:https://eyeofeagle.blog.csdn.net/article/details/86660355?spm=1001.2101.3001.6650.5&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-5-86660355-blog-119267962.pc_relevant_multi_platform_whitelistv4&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-5-86660355-blog-119267962.pc_relevant_multi_platform_whitelistv4&utm_relevant_index=8

你可以使用一些服务器端的工具来保持桌面会话,以便即使断开远程连接,操作系统也可以继续保持桌面。

其中一种方法是使用 screen 或 tmux 这样的终端复制工具。这些工具可以在断开远程连接后仍然保持活动的会话。你可以将程序作为 screen 或 tmux 的子进程运行,这样即使断开连接,程序仍然可以正常运行。

另一种方法是使用 nohup 命令来运行程序。 nohup 命令可以保证即使断开远程连接,程序也不会被终止。

如果你希望保持对图形用户界面的访问,可以使用 X11 和 ssh 的 X11 转发功能。该功能可以在远程连接期间从服务器端转发 X11 会话,从而允许你从远程主机访问服务器端的图形用户界面。

请注意,这只是一些可能的解决方案,实际情况可能因具体环境而异。请根据你的特定需求和环境来决定使用哪种方法。

云服务器就是用来挂机的,怎么可能程序会关闭。你换个远程连接工具试试

看下如何不休眠吧,还有你的虚拟机是一直在用的吗,按理说不会被回收才对啊

http://www.kkjp.net/detail/2032.html