Linux开发-系统远程调试方法(ssh+vnc或rdp)

由于有时远程调试需要访问命令行界面,个别情况需要图形界面操作、切换用户、重启、安装镜像等,总结远程调试方法如下,欢迎补充。

Part:ssh连接

  • 首先使用ssh连接。一般情况下使用ssh即可进入远程设备命令行,进行调试。
    在确保能ping通的情况下,使用ssh连接:ssh root@localhost(指定端口号:ssh -p 4268 root@localhost)。
  • Error:
  1. 若出现提示ssh文件夹相关的问题,可以删除提示中的ssh文件夹,重新ssh连接即可。这种一般是ssh连接建立后,进程突然中断,连接没有退出导致的。

Part:VSCode Remote-SSH
https://blog.csdn.net/sixdaycoder/article/details/89947893

Part:VNC控制图形界面
如果远程需要使用图形界面,则可以使用VNC远程来实现。

  • Step:
    首先需要在远程设备上安装vncserver,可以用yum search tiger-vnc,找到vncserver服务端安装。同样需要在本地安装客户端软件。
    安装后,ssh连接到远程设备,输入命令vncserver(vncserver:1,可指定创建的vnc服务的数字编号,不指定就是随机)。设置密码后,可使用vncpasswd更改vnc连接的密码。可以使用vncserver -list 查看当前可用的vnc服务。
    随后需要关闭防火墙对端口的限制。如果是连接vncserver:1,需要关闭5801、5901的防火墙,命令如下:
    iptables -A INPUT -p tcp --dport 5801 -j ACCEPT(5901同理更换下端口号)。如果嫌麻烦直接iptables -F,就把防火墙关闭了。
    客户端可以连接,在客户端输入 ip:服务数字 即可。甚至可以使用 localhost:1,ssh到localhost的其他用户,建立vnc连接,可以同时控制多个用户。
    vnc如果连接有问题,比如鼠标显示为黑色“X”,没有桌面等,需要在服务端修改~/.vnc/下的配置文件,具体的配置各不相同,可百度解决。可以通过修改服务端/usr/bin/vncserver中的分辨率参数,来设置vnc启动的默认分辨率。
  • Error:
  1. 到ip的连接失败。一般是忘记关闭防火墙。
  2. vncserver建立失败。可以删掉vnc,关闭安全限制,重新建立服务。
  3. 关闭了防火墙,连接上了,但是画面黑屏。这时可以将远程服务器重启再试试。
  4. 有时vnc远程会发现无法切换中英文输入法。这时可以运行fcitx diagnose查看问题。可参考
    https://bbs.archlinuxcn.org/viewtopic.php?pid=18535#p18535 解决问题。
  • 如果VNC无法使用,可以使用RDP来尝试。无需手动创建服务端,在win10上通过官方远程桌面即可访问,也可以使用RDPtree(可以窗口最大化并显示下面任务栏)。在Ubuntu上可以使用sudo xfreerdp -f -u csh -p qwe123 10.3.12.132直接连接,这样直接会进入全屏模式。
    以下参考其他博主的文章,介绍xfreerdp的使用:

-f 以全屏模式打开;全屏之后很麻烦,必须断开连接才能返回Linux,如果有谁知道怎么最小化返回,请告知,谢谢!
-u 以xx用户登录
-p 密码
-d 登录xx域
-o 启用音频,但不带到本地,即音频,在远端设备中启用;其实我希望把语音带到本地来的,但默认是不带的,不知道有没有这样一个参数,看了帮助文档也没有,可能English太菜了吧!望知道的朋友告知,谢谢!

Part:安装虚拟机virt-manager
有时远程调试需要让设备反复重启,重启后还需要重新设置vncserver。另外有时需要多人使用一台设备,调试镜像等等,这时可以安装virt-manager虚拟机,安装虚拟机使用较为方便。

  • Step:
    首先安装virt-manager,使用yum直接安装即可。
    然后需要安装qemu,使用yum search qemu,一般安装列表第一个即可。
    还需要安装libvirtd,仍使用yum search 搜索后安装即可。
    此时一般就可以新建虚拟机了。
  • 新建虚拟机
    新建虚拟机需要设置一个iso镜像池,就是找个文件夹放iso文件。然后在virt-manager里点新建虚拟机,新增放iso的文件夹,在文件夹里选好iso,分配内存、硬盘,在最后一步创建前,需要先进行硬件的配置。有个单选框 在创建前配置 需要选上。(不进行配置会导致没有安装图形界面,鼠标键盘不正常等等)
    进入配置界面,需要添加输入设备,usb键盘,数位板(tablet)。注意不选鼠标,因为鼠标在系统中指针会漂移,很难用,数位板的指针是准确的。还需要将显示中的 spice协议 修改为 vnc协议,即可点击左上角进行虚拟机安装。
    如果多人使用,可以克隆不同的虚拟机,用不同的vncserver连接使用。
    虚拟机可以创建快照,可在宿主机输入命令virsh snapshot-create创建快照,方便恢复状态。(界面上当然也可以操作,到快照页新增快照即可)
  • 问题:
    1、无法创建qcow2存储池。可以安装qemu-utils包,里面提供了qemu-img命令,安装后即可创建。
    2、在银河麒麟V10桌面操作系统上,使用virt-manager,需要安装libvirtd,以及qemu-kvm软件。然后在新建连接的时候,选择QEMU/KVM用户会话,勾选自动连接即可创建连接。然后就可以安装虚拟机。
posted @   sparkFY  阅读(1158)  评论(3编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示